news 2026/3/8 13:46:51

Windows 10下Miniconda配置LabelImg与YOLOv5

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows 10下Miniconda配置LabelImg与YOLOv5

Windows 10下Miniconda配置LabelImg与YOLOv5

在目标检测项目开发中,环境配置往往是第一步也是最容易“踩坑”的一步。尤其是在 Windows 系统上,依赖冲突、包版本不兼容、GPU 驱动问题常常让初学者望而却步。有没有一种方式,能让我们用最轻量的工具,快速搭建一个干净、稳定、可复现的 AI 实验环境?

答案是肯定的——Miniconda + YOLOv5 + LabelImg就是一套高效且实用的技术组合。这套方案不仅适合科研训练和课程作业,也适用于中小规模工业场景下的原型验证。

本文将带你从零开始,在Windows 10 系统上使用Miniconda 创建 Python 3.9 虚拟环境,完成从图像标注工具部署到 YOLOv5 模型训练与推理的全流程实战。整个过程强调“最小依赖、最大可控”,避免全局污染,确保实验结果可复现。


环境准备:为什么选择 Miniconda?

Python 生态虽然强大,但多个项目共用同一个解释器极易导致依赖混乱。比如你昨天跑通了 YOLOv5,今天装了个 Django 项目,结果torch被升级后模型再也跑不起来了——这种经历相信不少人都有过。

Miniconda是 Anaconda 的精简版,只包含conda包管理器和基础 Python 解释器,体积小、启动快、资源占用低,特别适合用于构建隔离的 AI 开发环境。

我们选择Miniconda3-Windows-x86_64.exe安装包(官网下载地址),安装时建议勾选“Add to PATH”选项,哪怕提示“not recommended”。这一步能让后续在任意命令行中调用conda成为可能。

✅ 推荐安装路径:C:\Users\YourName\miniconda3

安装完成后,打开Anaconda PromptPowerShell / CMD,执行:

conda --version python --version

若输出类似:

conda 23.x.x Python 3.9.x

说明 Miniconda 已成功安装,并默认使用 Python 3.9。


加速下载:更换 Conda 与 Pip 国内源

由于官方源位于海外,国内用户直接安装常会遇到超时或极慢的问题。为此,我们需要为condapip分别配置国内镜像源。

配置 Conda 清华源

运行以下命令自动写入.condarc配置文件:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda config --set show_channel_urls yes

生成的.condarc文件通常位于C:\Users\YourName\.condarc,内容应如下所示:

channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - defaults show_channel_urls: true

最后清除缓存以应用新源:

conda clean -i

配置 Pip 清华源

尽管 conda 是主包管理工具,但部分库仍需通过 pip 安装。为提升效率,我们也需要设置 pip 使用国内源。

在用户目录下创建:
- 文件夹:C:\Users\YourName\pip\
- 文件:pip.ini

内容如下:

[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn timeout = 6000

此后所有pip install命令都将优先从清华源拉取,速度显著提升。


构建独立环境:创建 yolo 虚拟环境

为了避免不同项目的依赖冲突,强烈建议为每个项目创建专属虚拟环境。

执行以下命令创建名为yolo的环境并指定 Python 版本:

conda create -n yolo python=3.9

激活环境:

conda activate yolo

此时命令行前缀会显示(yolo),表示当前处于该环境中。

💡 提示:可通过conda env list查看所有环境,conda deactivate退出当前环境。


图像标注利器:部署 LabelImg

高质量的数据标注是目标检测成功的基石。LabelImg是一款开源的图形化标注工具,支持 Pascal VOC 和 YOLO 格式,界面简洁,操作直观。

获取源码

GitHub 地址:https://github.com/tzutalin/labelImg

推荐使用 Git 克隆(便于后续更新):

git clone https://github.com/tzutalin/labelImg.git cd labelImg

也可以手动下载 ZIP 包解压至本地工作目录,如D:\projects\labelImg


安装核心依赖

LabelImg 基于 PyQt5 构建 GUI,必须安装对应的 Python 组件。

确保已激活(yolo)环境后,运行:

conda install pyqt=5 conda install lxml

⚠️ 注意:不要用pip install pyqt5,容易引发 DLL 缺失错误。强烈建议使用 conda 安装,系统级依赖更完整,兼容性更好。


编译资源并启动程序

进入 LabelImg 根目录,先编译界面资源文件:

pyrcc5 -o libs/resources.py resources.qrc

如果提示'pyrcc5' 不是内部或外部命令,请检查 PyQt5 是否安装成功,必要时重启 Anaconda Prompt。

然后启动主程序:

python labelimg.py

成功启动后会出现图形界面,支持拖拽加载图片、绘制边界框、保存标注等功能。


标注技巧与快捷键汇总

快捷键功能描述
Ctrl + u加载整个目录的图片
Ctrl + r修改标签保存路径
Ctrl + s保存当前标注(XML/YOLO格式)
w创建矩形框
d下一张图片
a上一张图片
del删除选中标注
Ctrl + d复制当前标注
Space标记当前图为“已验证”
↑↓←→微调框位置
Ctrl + +放大视图
Ctrl + -缩小视图

📌推荐操作流程

  1. 点击Open Dir加载图像文件夹(如images/train
  2. 点击Change Save Dir设置标签输出路径(如labels/train
  3. 在弹窗中输入类别名(如person,car),回车确认
  4. 使用w键绘制边界框,自动关联当前类别
  5. Ctrl + S保存为.xml文件(Pascal VOC 格式)

📝 小技巧:可在data/predefined_classes.txt中预先写入常用类别列表,避免重复输入。

此外,可在菜单栏选择Save as YOLO format,直接导出归一化的.txt文件,省去后期转换步骤。


搭建 YOLOv5 训练框架

Ultralytics 开源的YOLOv5是目前最易上手的目标检测框架之一,代码结构清晰、文档完善、社区活跃,非常适合入门者快速实现从数据到模型的闭环。

克隆项目仓库

git clone https://github.com/ultralytics/yolov5.git cd yolov5

确保当前仍在(yolo)环境中:

conda activate yolo

安装基础依赖

YOLOv5 提供了完整的requirements.txt文件,一键安装即可:

pip install -r requirements.txt

该命令将安装以下关键组件:
-torch(CPU 版,默认)
-torchvision
-numpy,matplotlib,Pillow
-PyYAML,tqdm,scipy
-thop(用于计算模型 FLOPs)

安装完成后验证 PyTorch 是否可用:

python -c "import torch; print(torch.__version__)"

启用 GPU 加速:安装 CUDA 版 PyTorch

默认安装的是 CPU 版本,无法利用显卡加速训练。要启用 GPU 支持,需根据本机 CUDA 版本重新安装 PyTorch。

查看 CUDA 支持版本

打开命令行运行:

nvidia-smi

在右上角查看显示的CUDA Version: xx.x,例如11.6

✅ 注意:这是系统支持的最大 CUDA 版本,不是驱动版本号。

卸载 CPU 版本
pip uninstall torch torchvision torchaudio
安装 GPU 版本

访问 PyTorch 官网 获取安装命令。

选择:
- PyTorch Build: Stable
- OS: Windows
- Package: Wheel
- Language: Python
- Compute Platform: CUDA 11.6 或 11.8(根据实际情况)

复制对应命令,例如:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

💡 若网络不稳定,可前往 https://download.pytorch.org/whl/torch_stable.html 手动下载.whl文件进行离线安装。

验证 GPU 可用性

运行以下 Python 代码测试:

import torch print("CUDA Available:", torch.cuda.is_available()) print("GPU Count:", torch.cuda.device_count()) print("Current Device:", torch.cuda.current_device()) print("Device Name:", torch.cuda.get_device_name(0))

预期输出:

CUDA Available: True GPU Count: 1 Current Device: 0 Device Name: NVIDIA GeForce RTX 3060

✅ 至此,GPU 加速已成功启用!


开始训练:准备数据与启动任务

数据集组织结构

YOLOv5 对数据目录有明确要求。假设我们要训练识别“A类物体”的模型,建议结构如下:

yolo_A/ ├── images/ │ ├── train/ │ │ ├── img1.jpg │ │ └── img2.jpg │ └── val/ │ ├── img3.jpg │ └── img4.jpg └── labels/ ├── train/ │ ├── img1.txt │ └── img2.txt └── val/ ├── img3.txt └── img4.txt

🔁 注意:LabelImg 默认导出 XML 文件,需转换为 YOLO 格式的.txt文件,每行格式为:

class_id x_center y_center width height

所有坐标均为相对于图像宽高的归一化值(0~1)。可通过脚本批量转换,或直接在 LabelImg 中设置保存格式为 “YOLO Darknet”。


编写自定义 .yaml 配置文件

yolov5/data/目录下新建a.yaml

# 数据路径(相对路径) train: ../yolo_A/images/train val: ../yolo_A/images/val # 类别数量 nc: 1 # 类别名称 names: ['A LAN']

这个配置文件将在训练时被引用,告诉模型去哪里找数据、有多少类别。


启动训练任务

回到 YOLOv5 根目录,运行训练脚本:

python train.py \ --img 640 \ --batch 16 \ --epochs 100 \ --data data/a.yaml \ --weights yolov5s.pt \ --cfg models/yolov5s.yaml \ --name yolov5s_a_result

参数说明:

参数说明
--img 640输入图像尺寸(像素)
--batch 16每批处理图像数(根据显存调整)
--epochs 100训练轮数
--data数据配置文件路径
--weights初始权重(首次训练推荐yolov5s.pt
--cfg模型结构定义文件
--name结果保存子目录名

首次运行会自动下载yolov5s.pt(约 14MB),训练过程中会在runs/train/yolov5s_a_result/生成日志、损失曲线图、评估指标和权重文件。

训练结束后,关键模型保存在:
-weights/best.pt:验证集精度最高的模型
-weights/last.pt:最后一次训练的模型


推理测试:验证模型效果

训练完成后,下一步就是看看模型到底能不能“看得见”。

运行 detect.py 进行推理

将待测图片放入yolov5/data/images/,例如test.jpg,然后运行:

python detect.py \ --source data/images/test.jpg \ --weights runs/train/yolov5s_a_result/weights/best.pt \ --conf 0.4

参数说明:
---source:支持单图、多图、视频甚至摄像头实时检测
---weights:加载训练好的模型权重
---conf:置信度阈值,低于此值的预测将被过滤

运行后结果保存在runs/detect/exp/目录中(多次运行会递增为exp2,exp3…)。


查看检测结果

进入runs/detect/exp/文件夹,打开输出图像即可看到带边框和标签的结果:

如果能看到清晰的蓝色边框和"A LAN"标签,说明你的模型已经学会了识别目标。

🔍 如果效果不佳,可以尝试以下优化方向:

  • 增加训练轮数(如--epochs 300
  • 提高输入分辨率(如--img 1280
  • 调整数据增强策略(修改hyps/hyp.scratch-low.yaml
  • 扩充数据集样本量,尤其是难例样本
  • 使用更大的模型(如yolov5m,yolov5l

这套基于Miniconda + LabelImg + YOLOv5的技术路线,把环境隔离、数据标注、模型训练与推理测试串联成一条完整的工作流。它不仅降低了入门门槛,更重要的是保证了实验过程的可控性和可复现性。

对于学生、研究人员或刚接触计算机视觉的开发者来说,这套组合拳足够应对大多数中小型项目需求。你可以把它当作一个标准模板,稍作修改即可用于人脸检测、车牌识别、缺陷检测等各种实际任务。

技术的成长从来不是一蹴而就的。每一个跑通的模型背后,都是无数次报错排查、参数调试和耐心等待。正如航海者不会因风浪而止步,我们也应在每一次失败中积累经验,在每一行代码中沉淀理解。

愿你在 AI 的征途上稳步前行,终见星辰大海。

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

Python最常用的环境有哪些?

Python的开发环境直接影响编码效率与项目兼容性,不同场景适配的环境差异显著。那么Python最常用的环境有哪些?以下是详细的内容介绍。1、Anaconda环境Anaconda是一款流行的Python科学计算平台,具有强大的数据处理和分析功能。它包含Python解释器、许多常…

作者头像 李华
网站建设 2026/3/6 1:16:27

AutoDL上复现Deep3DFaceRecon的PyTorch实践

AutoDL上复现Deep3DFaceRecon的PyTorch实践 在当前AI科研与工程实践中,一个常见的痛点是:明明代码开源、文档齐全,却因为环境配置问题卡住数天。尤其是在处理像 3D人脸重建 这类依赖复杂(CUDA、OpenGL、可微渲染)的任…

作者头像 李华
网站建设 2026/3/5 7:18:31

PyTorch中Dataset与DataLoader详解

PyTorch中Dataset与DataLoader详解 在深度学习项目中,数据是模型训练的基石。无论你的网络结构多么精巧、优化器多么先进,如果数据加载效率低下或格式不规范,整个训练流程都会大打折扣。PyTorch 提供了一套简洁而强大的数据处理机制——Datas…

作者头像 李华
网站建设 2026/2/20 20:19:25

InsightFace_Pytorch人脸识别实战教程

InsightFace_Pytorch人脸识别实战:从环境搭建到工业部署 在如今的人工智能应用中,人脸识别早已不再是实验室里的概念——它正悄然渗透进我们的门禁系统、考勤打卡、金融支付甚至智慧城市监控。但要真正实现高精度、低延迟的身份验证,并非简单…

作者头像 李华
网站建设 2026/2/28 0:54:43

Person_reID test.py 源码解析:特征提取与归一化

Person_reID test.py 源码解析:特征提取与归一化 在行人重识别(Person Re-Identification, 简称 Person ReID)任务中,模型训练完成后如何高效、准确地评估其性能,是实际部署中的关键环节。test.py 作为推理阶段的核心脚…

作者头像 李华