news 2026/4/3 4:01:45

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/24 23:50:29

为什么你的Open-AutoGLM在手机上跑不起来?深度剖析部署失败根源

第一章:为什么你的Open-AutoGLM在手机上跑不起来?许多开发者尝试将 Open-AutoGLM 部署到移动设备时,常常遇到模型无法加载或推理过程崩溃的问题。这并非因为模型本身不可行,而是受限于移动端的硬件与软件环境。硬件资源限制 手机的…

作者头像 李华
网站建设 2026/4/1 23:33:08

2025 最新!10个AI论文平台测评:本科生毕业论文写作全攻略

2025 最新!10个AI论文平台测评:本科生毕业论文写作全攻略 2025年AI论文平台测评:如何选择最适合你的写作助手 随着人工智能技术的不断进步,AI论文平台已成为高校学生在撰写毕业论文时的重要辅助工具。然而,面对市场上…

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

Person_reID中test.py特征提取解析

Person_reID中test.py特征提取深度解析 在行人重识别(Person Re-Identification, ReID)的实际部署流程中,模型训练只是第一步。真正决定系统可用性的,是测试阶段的特征提取与匹配效率。当一个在Market-1501上训练好的ft_net模型被…

作者头像 李华
网站建设 2026/4/2 14:03:58

PyTorch GPU显存管理与模型训练技巧

PyTorch GPU显存管理与模型训练技巧 在深度学习项目中,哪怕模型结构设计得再精巧,如果显存管理不当、训练流程不够稳健,依然可能卡在“OOM(Out of Memory)”或梯度爆炸这类低级错误上。尤其是在使用多卡服务器或者小显…

作者头像 李华
网站建设 2026/4/1 0:36:33

两个线程间的数据传递

对tsp_control.c及tsp_vehicle_data.c文件,牵扯到一个知识点,如果tsp_vehicle_data.c线程中需要tsp_control.c线程变量,除了全局变量,有什么好的传递变量的方式AI回答可以避免直接用全局变量的做法:1.消息队列&#xf…

作者头像 李华