news 2026/4/23 20:45:56

Ubuntu下Conda配置YOLOv5全流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 8:21:11

Seelen UI:专业级UI/UX设计工具,助力高效界面设计与团队协作

Seelen UI是一款功能全面的用户界面设计与原型制作工具,专为设计师、开发人员和产品经理打造。该软件通过直观的操作界面和强大的设计功能,为用户提供了从概念设计到交互原型的一站式解决方案,显著提升界面设计效率。 获取地址:h…

作者头像 李华
网站建设 2026/4/23 8:20:17

Playwright03-CDP/WebSocket/PlayWright

Playwright03-CDP/WebSocket/PlayWrightplaywright自动化开发记录,学习BrowserUse的时候涉及到playwright知识点1-CDP/WebSocket/PlayWright对比我在看源码的时候,最开始使用简单demo进行学习的时候还好,但是一复杂起来,我就理不清…

作者头像 李华
网站建设 2026/4/22 13:06:51

Excalidraw使用技巧:从数据到图表的高效转化

Excalidraw使用技巧:从数据到图表的高效转化 在产品设计与技术协作中,最耗时的往往不是思考本身,而是把脑子里的想法“画出来”。你有没有过这样的经历:会议中刚理清一个系统流程,却因为要手动拖拽十几个方框、连线、…

作者头像 李华
网站建设 2026/4/23 8:17:24

FLUX.1-dev模型本地训练与推理指南(GPU/NPU)

FLUX.1-dev模型本地训练与推理指南(GPU/NPU) 模型简介 FLUX.1-dev 是由 Black Forest Labs 推出的下一代文生图多模态大模型,作为 Stable Diffusion 原班团队的新作,其在生成式人工智能领域树立了新的技术标杆。该模型基于创新的…

作者头像 李华
网站建设 2026/4/23 8:18:57

COBOL编程入门:从基础到文件处理

COBOL编程入门:从基础到文件处理 在银行核心系统的一次深夜故障排查中,运维团队发现一笔关键交易未能入账。经过层层追踪,问题最终指向一段运行了三十年的薪资计算逻辑——代码依然健壮,但能读懂它的人却越来越少。这正是COBOL的真…

作者头像 李华
网站建设 2026/4/23 11:20:03

Ubuntu部署Dify+蓝耘MaaS打造AI应用

在 Ubuntu 上快速构建 RAG 智能客服:Dify 蓝耘 MaaS 实战部署 如今,企业对 AI 的期待早已从“能不能用”转向“能不能落地”。一个典型场景是:客户在官网反复询问套餐价格、开通流程或技术支持方式——这些问题明明有标准答案,却…

作者头像 李华