Windows 10下Miniconda配置YOLOv5与LabelImg全流程实战
在当前AI应用快速落地的背景下,目标检测作为计算机视觉的核心任务之一,正被广泛应用于智能监控、工业质检和自动驾驶等领域。对于开发者而言,如何高效搭建一个稳定、可复现的开发环境,往往是项目成功的第一步。
本文将带你从零开始,在Windows 10 系统上使用Miniconda(Python 3.9)构建一套完整的 YOLOv5 目标检测工作流,集成 LabelImg 实现数据标注、模型训练到推理测试的全链路实践。整个过程注重工程细节与常见问题规避,特别适合科研初探或实际项目快速验证。
环境准备:为什么选择 Miniconda?
相比直接安装 Python,Miniconda 提供了更灵活的包管理和虚拟环境支持。尤其在多项目并行时,它可以有效避免不同版本依赖之间的“依赖地狱”问题。比如 PyTorch 的 CPU 版本和 GPU 版本就不能共存于同一环境,而 Conda 正是解决这类冲突的理想工具。
下载与安装
前往官方页面获取安装包:
👉 https://docs.conda.io/en/latest/miniconda.html
Windows 用户请选择Miniconda3 Windows 64-bit的.exe安装程序,并建议安装路径为:
C:\Miniconda3⚠️ 路径中避免中文或空格字符,否则可能引发后续命令执行异常。
安装过程中务必勾选以下两项:
- ✅ Add Miniconda to my PATH environment variable
- ✅ Register Miniconda as my default Python
如果不勾选,就需要手动添加系统环境变量,否则无法在 CMD 或 PowerShell 中直接调用conda命令。
安装完成后,打开Anaconda Prompt或任意终端输入:
conda --version python --version预期输出类似:
conda 23.x.x Python 3.9.x说明基础环境已就绪。
加速安装:切换为清华镜像源
默认的 conda 和 pip 源位于境外服务器,下载速度慢且容易失败。我们推荐切换为国内清华大学 TUNA 镜像源,显著提升依赖安装效率。
Conda 使用清华源
访问帮助文档:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
先运行命令生成.condarc文件:
conda config --set show_channel_urls yes该文件会自动创建在用户目录下:
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 msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud保存后清除缓存以确保新源生效:
conda clean -iPip 切换为清华源
Pip 同样需要更换 PyPI 源。在用户主目录下创建:
C:\Users\你的用户名\pip\pip.ini若无
pip文件夹,请手动新建。
写入如下内容:
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn timeout = 6000此后所有pip install命令都将优先从清华镜像拉取包,速度提升明显。
创建独立虚拟环境 yolo
为了隔离项目依赖,避免与其他 Python 工程产生版本冲突,我们创建一个专用环境:
conda create -n yolo python=3.9激活环境:
conda activate yolo成功后命令行前缀会出现(yolo)标识:
(yolo) C:\>查看当前所有环境:
conda env list至此,干净、高效的开发沙箱已准备就绪。
图像标注利器:部署并使用 LabelImg
高质量的数据集是模型性能的基石。LabelImg 是一款轻量级、跨平台的图像标注工具,支持导出 VOC XML 和 YOLO.txt格式,非常适合用于构建自定义目标检测数据集。
获取源码
GitHub 地址:https://github.com/tzutalin/labelImg
通过 Git 克隆:
git clone https://github.com/tzutalin/labelImg.git cd labelImg或者手动下载 ZIP 包解压至本地。
安装依赖并启动 GUI
确保处于yolo环境中:
conda activate yolo安装核心依赖:
conda install pyqt=5 conda install -c anaconda lxml然后编译资源文件:
pyrcc5 -o libs/resources.py resources.qrc❗ 如果提示
'pyrcc5' 不是内部或外部命令,请检查 Miniconda 的 Scripts 目录是否已加入系统 Path,例如:C:\Miniconda3\envs\yolo\Scripts
最后启动图形界面:
python labelImg.py正常情况下会弹出如下窗口:
快捷键与实用技巧
LabelImg 支持丰富的快捷操作,掌握它们能大幅提升标注效率:
| 快捷键 | 功能 |
|---|---|
Ctrl + u | 加载整个图片目录 |
Ctrl + r | 修改标注保存路径 |
Ctrl + s | 保存当前标注 |
Ctrl + d | 复制当前标注框 |
Ctrl + Shift + d | 删除当前图片 |
Space | 将图片标记为“已验证” |
w | 创建矩形标注框 |
d/a | 下一张 / 上一张图片 |
Del | 删除选中的框 |
Ctrl + +/Ctrl + - | 放大 / 缩小视图 |
| ↑↓←→ | 微调标注框位置 |
💡经验建议:
- 在菜单栏启用Auto Save mode,切换图片时自动保存,防止意外丢失。
- 清空data/predefined_classes.txt内容,即可完全自定义类别名称,避免干扰。
部署 YOLOv5:克隆项目与依赖配置
YOLOv5 凭借其简洁的接口设计和出色的性能表现,已成为工业界最常用的目标检测框架之一。
克隆官方仓库
地址:https://github.com/ultralytics/yolov5
执行克隆:
git clone https://github.com/ultralytics/yolov5.git cd yolov5进入项目根目录后,再次确认激活了yolo环境:
conda activate yolo安装基础依赖
项目自带requirements.txt,一键安装大部分必要库:
pip install -r requirements.txt安装时间取决于网络状况,通常几分钟内完成。
安装完毕后,可先运行一次检测脚本验证环境:
python detect.py --source data/images --weights yolov5s.pt如果控制台输出推理信息,并在runs/detect/exp中生成带框图像,则说明基础环境无误。
启用 GPU 加速:安装 CUDA 版 PyTorch
默认requirements.txt安装的是 CPU 版本 PyTorch。若你拥有 NVIDIA 显卡并已安装驱动,应替换为 GPU 版本来加速训练。
首先查看 CUDA 版本:
nvidia-smi在输出中找到:
CUDA Version: 11.6然后访问 PyTorch 官方稳定版页面:
🔗 https://download.pytorch.org/whl/torch_stable.html
根据你的环境选择合适的 whl 包。关键字段解释如下:
| 字段 | 含义 |
|---|---|
cu116 | 支持 CUDA 11.6 |
cpu | CPU 版本(不使用 GPU) |
torch-1.12.1+cu116 | PyTorch 主体库 |
cp39 | 对应 Python 3.9 |
win_amd64 | Windows 64位系统 |
示例下载两个文件到本地(如F:\downloads\):
torch-1.12.1+cu116-cp39-cp39-win_amd64.whltorchvision-0.13.1+cu116-cp39-cp39-win_amd64.whl
卸载原有 CPU 版本:
pip uninstall torch torchvision torchaudio按顺序安装 GPU 版本:
pip install F:\downloads\torch-1.12.1+cu116-cp39-cp39-win_amd64.whl pip install F:\downloads\torchvision-0.13.1+cu116-cp39-cp39-win_amd64.whl验证是否启用 GPU:
import torch print(torch.__version__) print(torch.cuda.is_available()) # 应返回 True若输出True,恭喜!你的环境现已支持 GPU 加速训练!
训练自定义 YOLOv5 模型
接下来我们将基于自己标注的数据集,微调一个专用于识别特定类别的 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/目录下新建A.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/A.yaml \ --weights yolov5s.pt \ --project runs/train \ --name exp_A参数说明:
--img: 输入图像尺寸(像素)--batch: 批次大小(根据显存调整,GTX 1660 可设 16,RTX 3060 可达 32)--epochs: 训练轮数--data: 数据配置文件路径--weights: 初始权重,推荐使用预训练模型微调--project和--name: 控制输出目录命名
训练过程中终端会实时显示损失、mAP@0.5 等指标变化。
查看训练结果
训练结束后,结果保存在:
runs/train/exp_A/ ├── 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_A/weights/best.pt \ --conf 0.5 \ --save-txt \ --save-conf参数含义:
--source: 图片/视频路径或摄像头编号--weights: 使用训练好的模型--conf: 置信度阈值(低于此值的结果不显示)--save-txt: 保存预测结果为 YOLO 格式.txt--save-conf: 保存置信度分数
检测结果将输出到runs/detect/exp(自动编号),包含带框图像及文本标注。
这套基于 Miniconda + LabelImg + YOLOv5 的完整流程,不仅适用于课程设计、毕业项目,也能支撑中小型工业场景的快速原型开发。借助虚拟环境隔离与国内镜像加速,整个搭建过程更加稳健高效。
更重要的是,它教会我们一种思维方式:面对复杂的 AI 工程任务,不必畏惧,只需一步步拆解——从环境配置、数据准备到模型调优,每个环节都可掌控。当你看到第一个自定义目标被准确框出时,那种成就感,正是推动技术前行的动力源泉。