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 nvidiaCPU 用户请使用:
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 available是False,别急着重装,先排查:
- 是否真的安装了带 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 tqdmmatplotlib/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 解释器
- File → Settings → Project → Python Interpreter
- 点击右上角齿轮图标 → Add…
- 左侧选择Conda Environment→ Existing environment
- 输入解释器路径(通常为):
/home/你的用户名/miniconda3/envs/yolo5/bin/python- 点击 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),仅供参考