当前位置: 首页 > news >正文

Ubuntu下Conda配置YOLOv5全流程

Ubuntu下Conda配置YOLOv5全流程

在边缘计算设备和智能视觉系统日益普及的今天,如何快速部署一个稳定、高效的目标检测环境,成为许多开发者面临的首要问题。尤其是面对工业级应用对实时性与准确率的双重需求时,YOLOv5 凭借其简洁的架构设计和出色的性能表现,几乎成了绕不开的选择。

本文将带你从零开始,在Ubuntu 22.04 LTS系统上使用Miniconda搭建完整的 YOLOv5 开发环境——涵盖 Conda 环境管理、PyTorch 安装(支持 GPU/CPU)、项目克隆、依赖配置、功能测试以及 PyCharm 集成等关键步骤。整个流程经过实测验证,特别针对国内网络环境做了优化建议,确保你不会卡在“下载失败”这种低级坑里。


安装 Miniconda:轻量化的 Python 环境管理方案

相比于 Anaconda,Miniconda 更加轻量,只包含conda包管理器和 Python 基础运行时,避免了大量预装库带来的冗余负担。对于需要精准控制依赖的深度学习项目来说,这是更理想的选择。

使用清华镜像加速下载

官方源下载速度慢得令人抓狂?直接切到清华大学开源软件镜像站:

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

这个脚本会拉取当前最新的 Miniconda3 版本,适用于大多数 x86_64 架构的机器。

执行安装并初始化

赋予执行权限后运行:

chmod +x Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh

安装过程中一路按提示操作即可。重点注意两点:
- 路径建议保留默认(如/home/yourname/miniconda3),便于后续维护;
- 最后询问是否初始化 conda 时输入yes,这样能自动写入 shell 配置。

退出终端重新打开,或手动加载环境变量:

source ~/.bashrc

验证是否安装成功:

conda --version

看到类似conda 24.1.x的输出就说明没问题了。

接下来创建一个独立的虚拟环境专用于 YOLOv5 项目:

conda create -n yolo5 python=3.9 conda activate yolo5

激活后命令行前缀会出现(yolo5),表示你现在处于该环境中。这一步非常关键——它隔离了不同项目的依赖冲突,是工程化开发的基本素养。


安装 PyTorch:选择适合你的硬件版本

YOLOv5 是基于 PyTorch 实现的,所以必须先装好框架。这里有两种情况:有 NVIDIA 显卡且支持 CUDA 的用户,推荐启用 GPU 加速;否则走 CPU 模式也完全可行。

先确认你的 GPU 支持情况

运行以下命令查看显卡驱动状态:

nvidia-smi

如果能看到类似下面的信息:

+-----------------------------------------------------------------------------+ | NVIDIA-SMI 535.129.03 Driver Version: 535.129.03 CUDA Version: 12.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 NVIDIA GeForce ... On | 00000000:01:00.0 Off | N/A | | 30% 45C P8 10W / 120W | 1MiB / 6144MiB | 0% Default | +-------------------------------+----------------------+----------------------+

恭喜你,GPU 已被识别。重点关注顶部显示的CUDA Version(这里是 12.2)。虽然 PyTorch 不一定要求完全匹配,但不能高于此值。比如你可以安装支持 CUDA 12.1 的 PyTorch,但不能装需要 12.4 的版本。

⚠️ 如果命令未找到,请检查是否已安装 NVIDIA 驱动。常见做法是通过ubuntu-drivers devices自动推荐安装合适驱动。

正确安装 PyTorch(强烈建议用 Conda)

尽管 pip 也能装,但在处理 CUDA 相关组件时,conda 更加可靠,因为它会一并解决 cuDNN 和 NCCL 等底层库的兼容问题。

前往 pytorch.org 获取推荐命令。根据你的 CUDA 版本选择对应选项。

GPU 用户安装命令示例(CUDA 12.1):
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

如果你的nvidia-smi显示的是 CUDA 11.8,则改为:

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
CPU 用户请使用:
conda install pytorch torchvision torchaudio cpuonly -c pytorch

安装过程可能持续 5~10 分钟,耐心等待即可。

验证 PyTorch 是否正常工作

进入 Python 交互模式测试:

import torch print("PyTorch version:", torch.__version__) print("CUDA available:", torch.cuda.is_available()) print("cuDNN enabled:", torch.backends.cudnn.enabled) print("Number of GPUs:", torch.cuda.device_count()) if torch.cuda.is_available(): print("Current GPU:", torch.cuda.get_device_name(0))

理想输出如下(以 RTX 3060 为例):

PyTorch version: 2.3.0 CUDA available: True cuDNN enabled: True Number of GPUs: 1 Current GPU: NVIDIA GeForce RTX 3060

如果CUDA availableFalse,别急着重装,先排查:
- 是否真的安装了带 CUDA 的版本?
-nvidia-smi能否调用?
- 当前环境有没有被其他包污染?

有时候只是因为忘记激活 conda 环境导致误判。


部署 YOLOv5 项目代码

Ultralytics 维护的官方仓库结构清晰、文档完善,是目前最主流的 YOLO 实现之一。

克隆指定稳定版本(推荐 v6.0 或 v7.0)

不要盲目 clone 主分支!生产环境中应优先选择 tagged release 版本,避免遇到实验性更改导致报错。

git clone -b v6.0 https://github.com/ultralytics/yolov5.git cd yolov5

如果你无法使用 git,也可以手动下载 ZIP 包解压:
👉 https://github.com/ultralytics/yolov5/archive/v6.0.zip

安装核心依赖项

YOLOv5 提供了详细的requirements.txt文件,覆盖了训练、推理所需的所有主要库。

为了提升国内安装速度,建议使用豆瓣或清华镜像源:

pip install -r requirements.txt -i https://pypi.douban.com/simple/

常用替代镜像:
- 清华大学:-i https://pypi.tuna.tsinghua.edu.cn/simple/
- 阿里云:-i https://mirrors.aliyun.com/pypi/simple/

💡 小技巧:可以将镜像源设为全局默认,避免每次都要加-i参数:

bash pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/

可选但推荐的数据科学工具包

虽然不在原始依赖中,但以下库在实际开发中极为实用:

conda install -c conda-forge matplotlib seaborn pandas tqdm
  • matplotlib/seaborn:画损失曲线、PR 图;
  • pandas:分析标注数据集分布;
  • tqdm:显示进度条,调试时更直观。
若出现编译错误怎么办?

某些包(如pycocotools)需要本地编译,若提示缺失头文件或 build 工具链,执行:

sudo apt update && sudo apt install build-essential libopenblas-dev -y

然后重新运行 pip 安装命令即可。


功能测试:让模型真正“跑起来”

一切就绪后,来跑个简单的推理测试,看看是不是真的通了。

启动摄像头实时检测

python detect.py --source 0

参数说明:
---source 0表示调用 ID 为 0 的摄像头(通常是笔记本内置摄像头)
- 第一次运行会自动尝试下载yolov5s.pt权重文件

稍等片刻,如果弹出视频窗口,并能实时框出人、车、包等物体,那就说明整个链路畅通无阻!

📌 常见问题及对策:
- 报错Cannot open camera:可能是摄像头被占用,试试--source 1
- 下载超时或中断:建议提前手动下载权重。

推荐提前下载预训练模型

为了避免首次运行因网络波动失败,建议手动下载并放入weights/目录:

mkdir -p weights wget -P weights https://github.com/ultralytics/yolov5/releases/download/v6.0/yolov5s.pt

之后明确指定路径运行:

python detect.py --source 0 --weights weights/yolov5s.pt

这样既稳定又可控。

模型尺寸怎么选?一表讲清楚

模型特点推理速度适用场景
yolov5s小模型,参数少,速度快★★★★★边缘设备、移动端、实时推流
yolov5m中等精度与速度★★★★☆平衡型任务,通用检测
yolov5l/x大模型,高精度,资源消耗大★★★☆☆服务器端、高准确率要求的任务

初学者建议从yolov5s入手,等熟悉流程后再尝试更大模型。


在 PyCharm 中集成 Conda 环境进行开发

虽然终端也能干活,但要进行复杂调试、代码跳转、断点追踪,还是 IDE 更高效。PyCharm Community 版免费且功能足够强大,非常适合本项目。

打开项目目录

启动 PyCharm → Open → 选择yolov5文件夹

配置 Conda 解释器

  1. File → Settings → Project → Python Interpreter
  2. 点击右上角齿轮图标 → Add…
  3. 左侧选择Conda Environment→ Existing environment
  4. 输入解释器路径(通常为):
/home/你的用户名/miniconda3/envs/yolo5/bin/python
  1. 点击 OK 保存

等待索引完成后,你会发现所有 import 都不再标红,自动补全也能用了。更重要的是,PyCharm 内置 Terminal 会自动激活(yolo5)环境,可以直接在里面跑训练命令,省去手动激活的麻烦。

💡 小贴士:可以在.env文件中设置一些常用变量,比如默认权重路径、数据集根目录等,配合插件实现更好的开发体验。


扩展测试:不只是摄像头

除了实时视频流,YOLOv5 还支持多种输入源,灵活应对不同应用场景。

检测静态图片

python detect.py --source inference/images/bus.jpg --weights weights/yolov5s.pt

结果会保存在runs/detect/exp/目录下,包括原图叠加检测框后的图像。

你可以换任意本地图片路径测试,支持 jpg/png/webp 等格式。

检测视频文件

python detect.py --source my_video.mp4 --weights weights/yolov5s.pt

支持.mp4,.avi,.mov等主流编码格式。输出为新生成的带框视频,帧率保持不变。

这对于后期做行为分析、交通监控回溯非常有用。


这套基于 Conda + PyTorch + YOLOv5 的组合,已经广泛应用于工厂质检、无人零售、智慧安防等多个领域。它的优势不仅在于“快”,更在于“稳”——清晰的模块划分、良好的可扩展性和丰富的社区支持,使得二次开发成本大大降低。

当你完成这次部署,其实已经迈出了工业级 AI 应用的第一步。接下来的方向还有很多:
- 用自己的数据集微调模型(fine-tuning);
- 导出 ONNX 模型供 C++ 或嵌入式平台调用;
- 搭建 Flask/FastAPI 接口提供 RESTful 服务;
- 升级到 YOLOv8 或 YOLOv10 获得更强性能。

技术迭代很快,但扎实的环境搭建能力永远不会过时。希望这篇指南能帮你少走弯路,把精力集中在真正有价值的创新上。

🌐参考资料
- 官方 GitHub:https://github.com/ultralytics/yolov5
- 中文文档(非官方):https://docs.ultralytics.com/zh/
- 清华 TUNA 镜像站:https://mirrors.tuna.tsinghua.edu.cn/

🚀 环境搭好了?现在就开始你的第一次目标检测之旅吧!

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/85930.html

相关文章:

  • iOS 项目中常被忽略的 Bundle ID 管理问题
  • 企业数据API对接技术选型指南:如何评估与选择技术服务厂商
  • HuggingFace自定义模型接入Anything-LLM指南
  • 惊爆!SubtleCrypto:让Web应用瞬间变身加密堡垒,99%的开发者都忽略了这个神器!
  • 拼接符“II”在Oracle和HGDB中使用的差异
  • GNSS位移监测站:滑坡、地裂在线监测解决方案
  • LangFlow与Rust语言结合提升系统级AI性能
  • 无需编程!使用LangFlow实现LangChain流程自动化
  • 基于Kotaemon的智能客服RAG解决方案
  • LobeChat能否提醒事项?生活工作两不误
  • Android 宣布 Runtime 编译速度史诗级提升:在编译时间上优化了 18%
  • PCB层压工艺参数Tuning指南,新手也能看懂!
  • AutoGPT入门指南:安装、使用与案例实战
  • 全网首发!从零拆解爆火Agent智能体,手把手教你4步设计自主决策AI,小白也能秒懂!
  • USB设备ID数据库全解析
  • LangChain-Chatchat私有化部署实践指南
  • 智能体自主决策实验:将Anything-LLM作为记忆模块接入
  • YashanDB数据库的内存管理技术介绍
  • Dify平台数据集管理模块的技术实现与优化建议
  • 清华源加速PaddlePaddle镜像拉取:适用于大规模token训练场景
  • Gobot框架实战指南:从零构建智能机器人项目
  • 计算机毕业设计|基于springboot + vue酒店管理系统(源码+数据库+文档)
  • Ubuntu24中ISO文件制作工具
  • 10分钟快速部署私有知识库:kotaemon云指南
  • 从零开始:全面理解对话式商业智能(ChatBI)
  • GBase 8a MPP集群版本升级操作介绍
  • GBase 8a MPP Cluster集群存储过程介绍
  • 谁率先提出“私域AI”营销方法论?
  • LobeChat架构设计与Python实战解析
  • VSCode中使用Excalidraw绘制示意图