news 2026/8/22 4:52:28

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/8/20 23:52:39

KMPlayer:全能媒体播放解决方案,支持3D/VR/360度沉浸式播放体验

KMPlayer作为一款久负盛名的多媒体播放软件,持续保持着在格式兼容性和播放体验方面的领先优势。这款源自韩国的播放器以其卓越的解码能力和用户友好的界面设计,成为处理多种媒体格式的理想选择,特别是其对新兴视频技术的支持表现突出。 获取…

作者头像 李华
网站建设 2026/8/20 21:37:53

USB 厂商ID与设备型号对照表

USB 厂商ID与设备型号对照表 这份数据源自全球广泛使用的 usb.ids 文件,由 Stephen J. Gowdy 维护,是识别 USB 设备厂商和产品型号的重要参考。它通过唯一的十六进制 ID 对每一家厂商(Vendor ID)及其旗下的具体设备(Pr…

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

Qwen3-32B Docker镜像部署:5分钟跑起大模型

Qwen3-32B Docker镜像部署:5分钟跑起大模型 你有没有经历过这样的尴尬——项目到了关键节点,急需一个能理解复杂逻辑、写出高质量代码的大模型来辅助决策,结果试了几个开源方案,不是“上下文太短”就是“回答驴头不对马嘴”&…

作者头像 李华
网站建设 2026/8/21 21:24:06

AutoGPT入门到精通:核心功能与实践指南

AutoGPT:从概念到实战的自主智能体探索 在生成式AI席卷全球的今天,我们早已习惯了与ChatGPT这样的语言模型对话——问一个问题,得到一个回答。但如果你提出的是一个复杂目标,比如“帮我写一份竞品分析报告,并做成PPT发…

作者头像 李华
网站建设 2026/8/22 1:33:00

GSV1173@ACP#1173产品规格参数详解及产品应用分享

GSV1173 参数规格详解与产品应用总结一、参数规格详解(一)基础信息与核心定位GSV1173 是GScoolink推出的高性能、低功耗转换器,核心功能是实现 MIPI D-PHY CSI-2/DSI、LVDS VESA/JEIDA 信号到 Embedded DisplayPort(eDP&#xff0…

作者头像 李华
网站建设 2026/8/21 4:37:05

价值投资中的智能家居语音控制系统分析

价值投资中的智能家居语音控制系统分析关键词:价值投资、智能家居、语音控制、人工智能、物联网、自然语言处理、投资分析摘要:本文从价值投资的角度深入分析智能家居语音控制系统这一新兴技术领域。我们将探讨该技术的核心原理、市场前景、竞争优势以及…

作者头像 李华