yolov5,如何使用CPU/GPU运行——安装环境及依赖(详细,简单易懂)

本文详细介绍了如何从GitHub下载yolov5项目,配置Python环境,包括安装CUDA、切换到GPU版本的PyTorch,以及如何在CPU和GPU上运行项目。旨在帮助计算机视觉初学者顺利进行项目初始化和环境设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

1.项目下载到本地

2.进行环境的配置

3.使用CPU运行项目

4.使用GPU运行项目

(1)安装CUDA

(2)torch换成GPU版

总结


1.项目下载到本地

  从GitHub上下载项目,这个是官方的yolov5

GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLiteYOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite. Contribute to ultralytics/yolov5 development by creating an account on GitHub.https://github.com/ultralytics/yolov5icon-default.png?t=N7T8https://github.com/ultralytics/yolov5

点击右上角的code,然后点击Download Zip ,浏览器会自动开始下载

找到下载路径,解压完后,在文件夹上点右键用pycharm打开

​打开之后,可以看到redme文件,一般这里写的是项目的运行方式,不过这个由于是yolo官方的项目,写的都是一些模型的介绍,可以不看,文件夹里也有中文版的

2.进行环境的配置

初来乍到,我们没有环境,也就是运行项目所需要的库,首先新建虚拟环境,python版本必须>=3.9,因为yolov5的依赖项运行至少需要3.9的python版本,我这里选择3.9。

然后我们找到名为requirements.txt的文件,中文翻译叫做“必要条件”,这里面记录了项目运行所需的库。可以看到最上面有一行安装命令,使用此命令可以直接安装txt文件中所有库的指定版本,也就是项目所需的版本。

我们直接把命令复制到终端,加上清华镜像源 -i https://pypi.tuna.tsinghua.edu.cn/simple 安装

### 基于 X 光技术的违禁品检测系统开发方案与平台设计 #### 1. 技术背景与发展现状 随着城市化进程加快和技术进步,传统的基于人工判断的 X-Ray 安检方式已难以满足日益增长的需求。目前,基于 CT 成像的 X-Ray 安检设备已被广泛应用于交通枢纽中,其核心优势在于能够通过对不同材质物体的快速扫描重构出清晰的画面,并有效缓解物体间的遮挡问题[^1]。 然而,在高客流量场景下,仅依赖传统的人工判读效率低下且容易出现误判或漏检的情况。因此,引入智能化算法成为必然趋势。近年来,深度学习尤其是目标检测框架(如 YOLO 系列)被成功用于提升安检系统的自动化水平和精度[^2]。 --- #### 2. 系统架构概述 为了构建高效的基于 X 光的违禁品识别系统,整体架构可以分为以下几个部分: ##### (a) 数据采集模块 该模块负责获取原始 X 光图像数据。现代 X-Ray 设备通常支持数字化输出,这些数据可以直接传输到后续处理单元。对于某些老旧设备,则可能需要额外配置适配器以实现兼容性。 ##### (b) 预处理模块 由于 X 光成像特性复杂,预处理阶段至关重要。主要包括噪声去除、对比度增强以及尺寸标准化等操作。此外,还需考虑如何应对多层重叠结构带来的干扰效应——这可通过采用先进的注意力机制(DOAM 或 LIM 方法)加以改善[^4]。 ##### (c) 深度学习模型推理引擎 此为核心组件之一,选用适合实时应用场景的目标检测网络尤为重要。例如,YOLOv8 凭借其卓越的速度表现及较高的 mAP 值已成为当前主流选择之一[^3]。具体流程如下所示: ```python import torch from ultralytics import YOLO def load_model(model_path): model = YOLO(model_path) return model def detect_objects(image, model): results = model.predict(source=image, conf=0.5, iou=0.5) detections = [] for r in results: boxes = r.boxes.xyxy.cpu().numpy() classes = r.boxes.cls.cpu().numpy() scores = r.boxes.conf.cpu().numpy() detections.append({"box": boxes, "class": classes, "score": scores}) return detections ``` 上述代码片段展示了加载预训练 ONNX 模型并执行预测的基本逻辑。 ##### (d) 后端服务接口 考虑到实际部署环境多样性,建议搭建 RESTful API 形式的后端服务器以便灵活接入前端 GUI 应用程序或其他第三方工具。Flask 是一个轻量级 Python Web 框架选项: ```python from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/detect', methods=['POST']) def process_image(): image_file = request.files['image'] # 调用前面定义好的函数完成检测任务... result = {"status": "success", "data": []} return jsonify(result) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000) ``` ##### (e) 用户交互界面(UI/UX Design) 最后一步便是精心打造直观易懂的操作面板供一线工作人员使用。WinForms 提供了一种简单快捷的方式来创建桌面应用程序;而如果倾向于跨平台解决方案的话,Electron 结合 React 则更为推荐。 --- #### 3. 关键挑战及其对策 尽管理论可行性强,但在实践过程中仍存在不少难点需逐一攻克: - **标注成本高昂**:高质量的数据集建立耗时费力。可尝试半监督或者弱监督策略降低人力投入。 - **泛化能力不足**:特定种类样本稀少可能导致过拟合现象发生。迁移学习或许能帮助缓解这一状况。 - **性能瓶颈显现**:当面对超高分辨率图片输入时计算资源消耗巨大。优化硬件加速手段比如 GPU/CPU 协同工作模式不失为良策。 ---
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值