Windows 10下Miniconda搭建YOLOv5与LabelImg全流程
在目标检测的实际项目中,最让人头疼的往往不是模型调参,而是环境配置——明明代码没问题,却因为依赖冲突、路径错误或Python版本不兼容导致程序跑不起来。尤其是在Windows系统上部署深度学习框架时,这种“环境灾难”屡见不鲜。
如果你正在为如何在本地快速构建一个稳定、可复现的目标检测开发环境而发愁,不妨试试这套经过实战验证的方案:基于Miniconda + Python 3.11,从零开始搭建完整的 YOLOv5 与 LabelImg 工作流。整个过程不仅支持GPU加速,还能通过国内镜像显著提升安装效率,特别适合学生做实验、研究人员复现论文,或是工程师开发原型系统。
为什么选择 Miniconda 而不是直接用 Python?
很多人习惯直接安装官方 Python,但一旦同时进行多个AI项目,就会遇到“这个项目要用 PyTorch 1.12,那个又要用 TensorFlow 2.8”的窘境。不同库对 Python 和 CUDA 版本的要求各不相同,混在一起极易引发依赖冲突。
Miniconda 的优势就在于它轻量又强大:
- 它只包含
conda包管理器和 Python 解释器,体积远小于 Anaconda。 - 支持创建独立虚拟环境,每个项目拥有自己的依赖空间,互不影响。
- 可以精确指定 Python 版本(如 3.9 / 3.11),完美匹配现代深度学习框架的需求。
- 集成
pip和conda双包管理机制,灵活性更强。
尤其对于 YOLOv5 这类依赖复杂的项目来说,使用 Miniconda 几乎是工程实践中的标配。
第一步:安装 Miniconda 并初始化环境
前往 Miniconda 官方下载页,选择适用于 Windows 的 64 位安装包:
Miniconda3-latest-Windows-x86_64.exe安装过程中有两个关键选项一定要勾选:
✅ Add Miniconda to my PATH environment variable
✅ Register Miniconda as my default Python
⚠️ 如果跳过这两步,后续每次使用 conda 都需要手动添加路径,非常麻烦。若已安装但未勾选,需将以下目录加入系统
PATH:
C:\Miniconda3C:\Miniconda3\ScriptsC:\Miniconda3\Library\bin
安装完成后,打开Anaconda Prompt或 PowerShell,运行:
conda --version python --version预期输出类似:
conda 24.x.x Python 3.11.x说明基础环境已经就绪。
第二步:配置国内镜像源,告别龟速下载
默认情况下,conda和pip都会连接境外服务器拉取包,经常出现超时、中断等问题。切换为清华大学 TUNA 镜像源后,安装速度通常能提升数倍。
设置 Conda 使用清华源
先生成配置文件:
conda config --set show_channel_urls yes该命令会在用户目录下创建.condarc文件(路径:C:\Users\你的用户名\.condarc)。用记事本打开并替换为以下内容:
channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud保存后清除缓存使设置生效:
conda clean -i为 Pip 配置清华源
在用户目录下新建文件夹pip,然后创建pip.ini文件:
C:\Users\你的用户名\pip\pip.ini写入如下内容:
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn timeout = 6000从此以后,所有pip install命令都将优先从清华镜像下载,再也不用看着进度条卡在 1%。
第三步:创建专属虚拟环境 yolo-env
接下来我们创建一个专用于 YOLOv5 开发的隔离环境:
conda create -n yolo-env python=3.11激活环境:
conda activate yolo-env成功后命令行前缀会显示(yolo-env),表示当前处于该环境中。
查看已有环境列表:
conda env list此时你拥有了一个干净、独立的“沙箱”,即使误装了冲突库也不会影响其他项目。
第四步:部署图像标注工具 LabelImg
没有高质量的数据集,再先进的模型也无用武之地。LabelImg 是目前最流行的开源图像标注工具之一,界面简洁、操作直观,支持导出 Pascal VOC 和 YOLO 格式标签,非常适合自定义数据集构建。
获取源码并进入项目目录
git clone https://github.com/tzutalin/labelImg.git cd labelImg若未安装 Git,请先从 git-scm.com 下载安装。
确保仍在yolo-env环境中:
conda activate yolo-env安装依赖项
conda install pyqt=5 conda install lxml编译资源文件
pyrcc5 -o libs/resources.py resources.qrc如果提示'pyrcc5' 不是命令,请检查当前环境的 Scripts 目录是否已加入 PATH,例如:
C:\Miniconda3\envs\yolo-env\Scripts必要时可手动将其添加到系统环境变量中。
启动图形界面
python labelImg.py正常启动后会出现如下窗口:
提高标注效率的小技巧
掌握这些快捷键可以大幅提升工作效率:
| 快捷键 | 功能 |
|---|---|
Ctrl + u | 加载整批图片 |
Ctrl + r | 修改保存路径 |
Space | 标记为“已验证” |
w | 创建矩形框 |
d/a | 下一张 / 上一张图片 |
Del | 删除选中标注 |
Ctrl + s | 保存当前标注 |
| ↑↓←→ | 微调框位置 |
💡实用建议:
- 在菜单栏启用Auto Save mode,避免意外关闭丢失标注。
- 清空data/predefined_classes.txt文件内容,即可完全自定义类别名称,不受预设限制。
第五步:克隆并部署 YOLOv5 框架
YOLOv5 因其易用性、高性能和活跃社区,已成为工业界主流目标检测工具之一。
克隆官方仓库
git clone https://github.com/ultralytics/yolov5.git cd yolov5确认激活的是yolo-env环境:
conda activate yolo-env安装依赖
pip install -r requirements.txt得益于之前配置的清华源,大多数包都能快速完成安装。
测试基础推理功能
运行一次默认检测脚本验证环境是否正常:
python detect.py --source data/images --weights yolov5s.pt若控制台输出推理信息,并在runs/detect/exp中生成带框图像,则说明基础环境搭建成功。
第六步:启用 GPU 加速训练(CUDA 支持)
默认安装的是 CPU 版本 PyTorch。如果有 NVIDIA 显卡,强烈建议切换为 GPU 版本来大幅提升训练速度。
查看显卡驱动支持的 CUDA 版本
运行:
nvidia-smi在输出中找到:
CUDA Version: 12.2注意:这是驱动支持的最大版本,不代表必须使用对应版本的 PyTorch。
安装 GPU 版 PyTorch
访问 PyTorch 官方 whl 页面,查找适配你环境的包。关键字段含义如下:
| 字段 | 含义 |
|---|---|
cu118 | 支持 CUDA 11.8 |
cp311 | 对应 Python 3.11 |
win_amd64 | Windows 64 位系统 |
示例下载两个文件到本地(如D:\downloads\):
torch-2.1.0+cu118-cp311-cp311-win_amd64.whltorchvision-0.16.0+cu118-cp311-cp311-win_amd64.whl
卸载原 CPU 版本:
pip uninstall torch torchvision torchaudio按顺序安装 GPU 版:
pip install D:\downloads\torch-2.1.0+cu118-cp311-cp311-win_amd64.whl pip install D:\downloads\torchvision-0.16.0+cu118-cp311-cp311-win_amd64.whl验证是否可用:
import torch print(torch.__version__) print(torch.cuda.is_available()) # 应返回 True如果输出True,恭喜!你现在可以用 GPU 加速训练了。
第七步:训练自定义 YOLOv5 模型
现在我们可以用自己的数据集微调一个专属模型。
组织数据集结构
假设我们要识别“A类物体”,标准目录如下:
datasets/ ├── images/ │ ├── train/ ← 训练集图片 │ └── val/ ← 验证集图片 └── labels/ ├── train/ ← 对应训练标签(.txt) └── val/ ← 对应验证标签每张图片需有同名.txt文件,由 LabelImg 导出,格式为:
<class_id> <x_center> <y_center> <width> <height>所有数值均已归一化至[0,1]区间。
编写 YAML 配置文件
在yolov5/data/目录下新建custom.yaml:
# 数据路径(相对路径) train: ../datasets/images/train val: ../datasets/images/val # 类别数量 nc: 1 # 类别名称 names: ['A LAN']务必确保路径正确,否则训练时会报错找不到数据。
开始训练
执行训练命令:
python train.py \ --img 640 \ --batch 16 \ --epochs 100 \ --data data/custom.yaml \ --weights yolov5s.pt \ --project runs/train \ --name exp_custom参数说明:
| 参数 | 作用说明 |
|---|---|
--img | 输入图像尺寸(像素) |
--batch | 批次大小(根据显存调整,一般 16~32) |
--epochs | 训练轮数 |
--data | 数据配置文件路径 |
--weights | 初始权重(推荐使用预训练模型 fine-tune) |
--project和--name | 控制输出目录命名逻辑 |
训练过程中终端会实时显示损失、mAP@0.5 等指标变化。
查看训练结果
训练结束后,结果保存在:
runs/train/exp_custom/ ├── weights/ │ ├── best.pt ← 最佳模型(mAP最高) │ └── last.pt ← 最终轮次权重 ├── results.png ← 指标趋势图 └── labels/ ← 标签分布可视化通常建议使用best.pt进行后续推理。
第八步:使用训练好的模型进行推理测试
将待测图片放入inference/images/目录,运行检测脚本:
python detect.py \ --source inference/images/test.jpg \ --weights runs/train/exp_custom/weights/best.pt \ --conf 0.5 \ --save-txt \ --save-conf主要参数解释:
--source: 图片/视频路径或摄像头编号--weights: 使用训练好的模型--conf: 置信度阈值(低于此值的结果不显示)--save-txt: 保存预测结果为 YOLO 格式.txt--save-conf: 保存置信度分数
检测结果将输出到runs/detect/exp(自动编号),包括带框图像和文本标注文件。
扩展功能:Jupyter 与远程开发支持
这套环境不仅能跑脚本,还支持更灵活的开发方式。
使用 Jupyter Notebook 进行交互式开发
在yolo-env中安装 Jupyter:
conda install jupyter启动服务:
jupyter notebook浏览器会自动打开界面,可用于编写训练脚本、可视化数据分布、调试模型输出等。
通过 SSH 实现远程开发
若需连接远程服务器,可通过 SSH 登录后激活环境:
ssh username@server-ip conda activate yolo-env cd yolov5 python train.py ...支持后台运行任务:
nohup python train.py --epochs 200 > train.log 2>&1 &查看日志:
tail -f train.log这种方式特别适合在高性能计算节点上长时间训练模型。
这套基于 Miniconda 的 YOLOv5 + LabelImg 搭建流程,已经在多个实际项目中验证有效。它不仅解决了 Windows 平台上常见的环境兼容问题,还通过虚拟环境隔离、国内镜像加速、GPU 支持等方式,显著提升了开发效率和稳定性。
更重要的是,这套方法具备高度可复制性——只需一份.condarc和requirements.txt,就能在团队成员之间快速同步开发环境,极大降低了协作成本。
当你第一次看到自己亲手标注的物体被模型准确识别出来时,那种从数据到智能的完整闭环体验,正是 AI 工程的魅力所在。