news 2026/1/30 22:04:28

Ubuntu下Conda配置YOLOv5全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu下Conda配置YOLOv5全指南

Ubuntu下Conda配置YOLOv5全指南

在智能视觉应用日益普及的今天,实时目标检测已成为智能制造、安防监控和自动驾驶等领域的核心技术。而YOLOv5凭借其出色的精度与速度平衡,已经成为工业级部署的首选方案之一。然而,对于初学者而言,在 Linux 系统上从零搭建一个稳定可用的 YOLOv5 环境仍面临不少挑战:CUDA 驱动不兼容、PyTorch 安装失败、依赖冲突……这些问题常常让人望而却步。

本文基于Ubuntu 22.04 LTS实测环境,手把手带你完成从 Miniconda 安装到 YOLOv5 功能验证的全过程。我们采用 Conda 作为包管理工具,不仅避免了系统 Python 的污染,还能更优雅地处理 GPU 支持和复杂依赖关系。整个流程经过多次验证,适合个人开发调试,也适用于后续 Docker 化部署。


搭建轻量级 Python 管理环境:Miniconda 安装与初始化

为什么不直接用系统自带的 pip?因为当你同时运行多个 AI 项目时,不同版本的 torch、numpy 或 opencv 极易引发“依赖地狱”。Conda 的虚拟环境机制可以完美隔离这些冲突。

推荐使用Miniconda而非 Anaconda,原因很简单:它只包含最核心的功能(Python + conda),体积小、启动快,非常适合服务器或嵌入式场景。

前往清华大学开源镜像站下载最新版安装脚本:

https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

选择适用于 x86_64 架构的 Bash 安装包,通常是:

Miniconda3-latest-Linux-x86_64.sh

执行安装命令(请根据实际路径调整):

bash ~/Downloads/Miniconda3-latest-Linux-x86_64.sh

安装过程中会提示你接受许可协议(输入yes)、确认安装路径(建议保留默认)以及是否初始化 Conda(务必选yes)。这一步将自动向.bashrc写入环境变量,使conda命令全局可用。

安装完成后重启终端,或手动加载配置:

source ~/.bashrc

此时可在终端输入:

conda --version

若能正常输出版本号,则说明安装成功。

接下来创建专属的虚拟环境。YOLOv5 要求 Python ≥ 3.7,但为了更好的兼容性和性能支持,建议使用 Python 3.9:

conda create -n yolov5 python=3.9 conda activate yolov5

激活后,命令行前缀会出现(yolov5),表示当前处于该环境中。所有后续操作都将在此独立空间内进行,不会影响主机其他项目。


配置 GPU 加速引擎:PyTorch + CUDA 正确打开方式

YOLOv5 的推理效率高度依赖 GPU 加速。如果你有一块 NVIDIA 显卡,千万别让它闲置在那儿跑 CPU 推理——那可能是十倍以上的性能差距。

首先检查显卡驱动状态:

nvidia-smi

这条命令不仅能查看 GPU 型号和温度,还会显示驱动版本以及驱动所支持的最高 CUDA 版本(注意不是已安装的 CUDA Toolkit)。例如:

+-----------------------------------------------------------------------------+ | NVIDIA-SMI 535.129.03 Driver Version: 535.129.03 CUDA Version: 12.2 | |-------------------------------+----------------------+----------------------+

这里的关键是CUDA Version: 12.2,意味着你可以安装最高支持到 CUDA 12.2 的 PyTorch 版本。

然后访问 PyTorch 官网获取安装命令:

https://pytorch.org/get-started/locally/

选择对应 CUDA 版本(如 11.8 或 12.1),复制 conda 安装指令。例如:

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

⚠️ 小贴士:如果显卡较老或无独显,可安装 CPU-only 版本,但训练和检测速度会显著下降:

bash conda install pytorch torchvision torchaudio cpuonly -c pytorch

安装过程可能需要几分钟,请耐心等待。完成后进入 Python 进行验证:

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

理想输出应为:

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

只有当CUDA availableTrue时,才说明 GPU 支持真正就绪。否则需回头排查驱动、CUDA 版本匹配问题。


获取并配置 YOLOv5 项目环境

Ultralytics 维护的 YOLOv5 代码库结构清晰、文档完善,是目前社区最活跃的目标检测实现之一。

推荐通过 Git 克隆项目,并切换至稳定发布版本(如 v6.0 或 v7.0),避免使用主干分支带来的不稳定风险:

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

如果你网络受限无法使用 Git,也可以访问 GitHub 发布页面手动下载 ZIP 包:

https://github.com/ultralytics/yolov5/releases/tag/v6.0

解压后进入目录:

unzip yolov5-v6.0.zip -d yolov5 cd yolov5

接下来安装项目依赖。原始requirements.txt中的部分包在国内访问较慢,建议使用豆瓣、清华或阿里云镜像源加速:

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

常用国内镜像源参考:

  • 豆瓣:https://pypi.douban.com/simple/
  • 清华:https://pypi.tuna.tsinghua.edu.cn/simple
  • 阿里云:https://mirrors.aliyun.com/pypi/simple/

此外,为方便后续数据分析和可视化调试,建议补充安装一些常用工具库:

conda install -c conda-forge matplotlib seaborn pandas tqdm notebook

这些库虽然不在原生依赖中,但在绘制损失曲线、分析预测结果、编写 Jupyter Notebook 时非常实用。


实战测试:让摄像头“看见”世界

一切准备就绪,现在来运行第一个检测任务!

YOLOv5 提供了简洁的detect.py脚本,支持图像、视频和摄像头输入。

启用本地摄像头实时检测

python detect.py --source 0

参数说明:
---source 0表示调用第一个摄像头(通常为笔记本内置摄像头)
- 若连接了外接摄像头,可尝试1,2等编号

首次运行时,程序会自动从云端下载轻量模型yolov5s.pt,因此需保持网络畅通。下载完成后会在控制台看到类似日志:

Downloading https://github.com/ultralytics/yolov5/releases/download/v6.0/yolov5s.pt...

成功运行后将弹出 OpenCV 窗口,实时显示检测画面:
- 物体被红色边框标记
- 左上角显示类别标签和置信度(如person 0.89
- FPS 计数持续更新

如果一切正常,恭喜你!你的机器已经具备“视觉感知”能力。

使用本地文件测试

除了摄像头,也可以指定图片或视频进行离线测试:

python detect.py --source test.jpg python detect.py --source video.mp4

检测结果会自动保存在runs/detect/exp/目录下,包括标注后的图像或视频文件。

你可以多次运行,每次都会生成新的子目录(exp, exp2, exp3…),便于对比实验效果。


模型选型策略:如何根据硬件选择合适的 YOLOv5 模型?

YOLOv5 提供多种尺寸的预训练模型,适应不同的计算资源和应用场景:

模型特点推荐用途
yolov5s小型,速度快,参数少边缘设备、移动端、低延迟场景
yolov5m中型,精度与速度均衡通用检测任务
yolov5l大型,高精度对准确率要求高的质检场景
yolov5x超大型,最大精度服务器端高性能推理

你可以手动下载任意模型进行测试:

wget https://github.com/ultralytics/yolov5/releases/download/v6.0/yolov5s.pt

然后指定权重运行:

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

💡 经验法则:在 RTX 3060 及以上显卡上,yolov5syolov5m可轻松达到 30+ FPS;而在 Jetson Nano 等嵌入式平台,建议仅使用yolov5s并降低分辨率以保证流畅性。


开发利器:PyCharm 集成 Conda 环境

虽然命令行足够强大,但在调试模型结构、修改数据增强逻辑时,IDE 能极大提升效率。PyCharm(尤其是 Professional 版)对 Python 科学计算支持良好。

打开 PyCharm → File → Open → 选择yolov5项目根目录。

接着配置解释器:
- 点击右下角 “Python Interpreter”
- Add Interpreter → Add Local Interpreter
- 类型选择Conda Environment
- 路径填写:/home/你的用户名/miniconda3/envs/yolov5/bin/python

不确定路径?可通过以下命令查询:

conda info --envs

输出中找到(yolov5)对应的完整路径,其下的bin/python即为目标解释器。

配置完成后,新建一个测试脚本:

import torch print(torch.cuda.is_available())

运行结果应为True。如果是False,说明 PyCharm 仍在使用系统解释器,需重新检查配置路径。


常见问题排查指南

conda: command not found

这是最常见的环境变量问题。通常是因为.bashrc未正确加载。

解决方法是手动添加路径:

export PATH="/home/你的用户名/miniconda3/bin:$PATH"

并将该行写入.bashrc实现永久生效:

echo 'export PATH="/home/你的用户名/miniconda3/bin:$PATH"' >> ~/.bashrc source ~/.bashrc

ERROR: Could not find a version that satisfies the requirement

多半是 PIP 源超时或版本冲突。

解决方案:
- 更换国内镜像源(如-i https://pypi.tuna.tsinghua.edu.cn/simple
- 升级 pip 到最新版:

pip install --upgrade pip
  • 对某些顽固包(如 pillow、numpy),改用 conda 安装往往更可靠:
conda install pillow numpy

❌ PyCharm 报错No module named 'torch'

本质是解释器路径错误。确保你在 PyCharm 中选择的是 Conda 环境中的 Python,而不是/usr/bin/python3或 base 环境。

CUDA out of memory

显存溢出是训练大模型时的经典问题。

应对策略:
- 减小图像尺寸:--img 320
- 使用小型模型:yolov5s
- 关闭其他占用 GPU 的程序(如 Chrome、Blender)

示例命令:

python detect.py --weights yolov5s.pt --source 0 --img 320

此举可将显存占用降低约 40%,尤其适合集成显卡或入门级独显用户。


工业化延伸:构建 Docker 镜像实现标准化部署

当你完成了本地验证,下一步往往是将模型封装为服务投入生产。Docker 是实现这一目标的最佳载体。

以下是一个基于 NVIDIA CUDA 基础镜像的 Dockerfile 示例:

FROM nvidia/cuda:11.8-devel-ubuntu20.04 RUN apt update && apt install -y python3-pip git RUN pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 COPY . /app WORKDIR /app RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple CMD ["python", "detect.py", "--source", "0"]

构建镜像时需启用 NVIDIA 容器工具包:

docker build -t yolov5-realtime . docker run --gpus all -it yolov5-realtime

结合 Kubernetes 或 Docker Compose,即可实现多节点集群部署,广泛应用于:
- 工业流水线缺陷检测
- 安防系统人脸识别
- 自动驾驶前端感知
- 无人机目标追踪

这种“一次构建,处处运行”的模式,正是现代 MLOps 的核心理念。


YOLO(You Only Look Once)系列之所以成为行业标准,不仅在于其算法创新,更在于其极强的工程落地能力。从 Conda 环境隔离到 Docker 容器化,从 ONNX 导出到 TensorRT 加速,YOLOv5 提供了一整套开箱即用的工具链。

掌握这套部署流程,意味着你已经迈出了 AI 视觉实战的第一步。接下来,不妨尝试:
- 使用自定义数据集训练专属模型
- 将模型导出为 ONNX 格式并用 ONNX Runtime 推理
- 部署至 Jetson Nano、RK3588 等边缘设备

真正的智能,始于你能让机器“看得懂”这个世界。现在,就出发吧。

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

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

Foundation 滑动导航(Off-Canvas)

Foundation 滑动导航(Off-Canvas)详解(超级完整版,一次讲透) 我们继续你的 Foundation 系列,今天把 滑动导航(Off-Canvas)讲得明明白白!这是 Foundation 6 中最强大的响应…

作者头像 李华
网站建设 2026/1/27 10:51:19

GAN基础与应用:从原理到PaddlePaddle实践

GAN基础与应用:从原理到PaddlePaddle实践 生成式对抗网络(GAN)自2014年问世以来,迅速成为人工智能领域最具颠覆性的技术之一。它不再局限于识别或分类任务,而是赋予机器“创造”的能力——让AI学会画画、写诗、演电影…

作者头像 李华
网站建设 2026/1/28 15:53:57

Codex效率命令调试技巧:在Anything-LLM中模拟终端执行

Codex效率命令调试技巧:在Anything-LLM中模拟终端执行 在开发和运维的日常工作中,你是否曾面对一条报错信息束手无策?比如看到 Permission denied 却不确定是权限配置问题、路径错误,还是用户上下文不对。传统的解决方式往往是复制…

作者头像 李华
网站建设 2026/1/28 15:36:09

Python语言编程导论第六章 字符串

内容提要 概述 通用序列操作 字符串格式化 字符串方法 正则表达式简介 一、概述 在Python中,字符串是除数字外最重要的数据类型。 字符串无处不在:将字符串输出到屏幕上;从用户的键盘输入读取字符串;文件通常被视为大型字…

作者头像 李华
网站建设 2026/1/30 13:37:52

20、Linux 系统音频光盘操作与声音文件编辑全攻略

Linux 系统音频光盘操作与声音文件编辑全攻略 1. 音频光盘播放与操作 1.1 音频光盘播放系统要求 在 Linux 系统中,若要播放音频光盘,需安装 CD 驱动器和声卡。播放音频光盘的控制方式与传统 CD 播放器类似,不过在 Linux 系统里,是通过命令行的软件工具来实现控制的。此外…

作者头像 李华
网站建设 2026/1/25 5:59:50

LobeChat能否造句子?中小学生作文辅导

LobeChat 能否教孩子写作文?探索 AI 在中小学写作辅导中的实践路径 在一间普通的城市小学语文课堂上,老师布置了本周的作文作业:《我最难忘的一天》。班上有四十个学生,每个孩子的表达能力、词汇积累和生活经历都不同。有的孩子提…

作者头像 李华