news 2026/1/22 7:34:31

Windows 10下Miniconda搭建YOLOv5训练环境

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows 10下Miniconda搭建YOLOv5训练环境

Windows 10 下使用 Miniconda 搭建 YOLOv5 训练环境

在目标检测的实际项目中,模型训练只是冰山一角。真正让初学者甚至有经验的开发者头疼的,往往是环境搭建过程中的各种“玄学问题”:明明代码没改,为什么别人能跑通我却报错?torch版本冲突、CUDA 不可用、依赖包缺失……这些问题背后,大多数时候并不是技术本身有多难,而是开发环境不够干净、不可控。

尤其是在 Windows 10 系统上进行深度学习开发时,系统路径、Python 全局环境、显卡驱动和包管理之间的耦合关系复杂,稍有不慎就会陷入“装了卸、卸了重装”的循环。

有没有一种方式,既能快速启动,又能避免污染全局环境,还能保证实验可复现?

答案是:用 Miniconda 创建隔离环境 + Python 3.11 + 手动配置 GPU 支持。这套组合拳不仅轻量高效,而且逻辑清晰、步骤可控,特别适合用于 YOLOv5 这类对依赖敏感的项目。

下面我们就从零开始,一步步构建一个稳定、可复用的 YOLOv5 训练环境。


为什么选择 Miniconda 而不是直接安装 Python?

很多人习惯直接下载 Python 安装包,然后用pip装库。但当你同时做多个 AI 项目时——比如一个用 PyTorch 1.13,另一个必须用 2.0+;或者一个需要旧版 OpenCV,另一个依赖新特性——全局 Python 环境很快就会变得混乱不堪。

Miniconda 的优势就在于它提供了一个轻量级的包与环境管理系统(conda),让你可以为每个项目创建独立的虚拟环境。这些环境彼此隔离,互不干扰,就像给每个项目分配了一台“专属小电脑”。

我们选用的是Miniconda3-py311_XX-Windows-x86_64.exe,即预装了 Python 3.11 的版本。这不仅能省去后续手动指定版本的麻烦,也确保了与当前主流框架的良好兼容性。

📌 建议前往官网下载最新版:https://docs.conda.io/en/latest/miniconda.html

安装时注意以下几点:
- 安装路径不要包含中文或空格,推荐如C:\miniconda3C:\Users\YourName\miniconda3
- 勾选 “Add Miniconda to my PATH environment variable” —— 尽管提示“不推荐”,但在实际使用中开启更方便
- 允许初始化 conda 到 shell

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

conda --version python --version

如果输出类似:

conda 24.x.x Python 3.11.x

说明基础环境已准备就绪。


提升效率:配置国内镜像源加速下载

默认情况下,conda 和 pip 都会连接境外服务器拉取包,国内用户常遇到超时、断连、速度极慢的问题。为此,我们需要分别配置清华镜像源来提升安装效率。

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

生成的配置文件位于:

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

⚠️ 特别提醒:PyTorch 相关包一定要优先从清华云频道安装,否则可能误装 CPU 版本导致无法使用 GPU。

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

conda clean -i

Pip 配置国内源

虽然 conda 是主管理工具,但部分库仍需通过 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命令都将走国内通道,下载速度通常能提升数倍。


创建专属虚拟环境:避免依赖冲突

接下来我们要为 YOLOv5 项目创建一个独立的虚拟环境,命名为yolov5

在终端中运行:

conda create -n yolov5 python=3.11

等待安装完成,然后激活环境:

conda activate yolov5

此时命令行前缀会出现(yolov5),表示你正处于该环境中。

一些常用操作备忘:
- 查看所有环境:conda env list
- 退出当前环境:conda deactivate
- 删除环境(谨慎):conda env remove -n yolov5

所有后续操作都应在(yolov5)环境中进行,这样才能真正做到“一处配置,处处可用”。


部署 YOLOv5 框架:克隆代码并安装依赖

Ultralytics 官方开源的 YOLOv5 是目前最成熟的目标检测框架之一,支持多种模型尺寸(s/m/l/x)、内置数据增强、训练可视化和模型导出功能。

克隆项目

切换到工作目录,例如D:\projects,执行:

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

也可以手动下载 ZIP 包解压到本地。

确认已激活(yolov5)环境后,继续下一步。

安装基础依赖

YOLOv5 提供了完整的requirements.txt,只需一条命令即可安装大部分依赖:

pip install -r requirements.txt

这个文件会安装以下关键组件:
-torch(默认 CPU 版)
-torchvision,torchaudio
-numpy,matplotlib,Pillow
-PyYAML,tqdm,scipy
-thop(用于计算 FLOPs)

安装过程中若出现网络错误,可尝试多次重试,或改用离线.whl文件安装。

安装完成后验证 PyTorch 是否正常导入:

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

预期输出如:

2.1.0

启用 GPU 加速:正确安装 CUDA 版 PyTorch

默认安装的是 CPU-only 版本的 PyTorch,训练速度慢得令人难以忍受。要启用 GPU 加速,必须根据你的 NVIDIA 显卡驱动安装对应的 CUDA 版本。

查看支持的 CUDA 版本

运行:

nvidia-smi

在右上角查看显示的CUDA Version,例如12.2。这是系统支持的最大 CUDA 版本,不是驱动版本号。

📌 注意:PyTorch 安装时使用的cuXXX编译版本不能超过此值。

卸载 CPU 版本

先卸载原有的 CPU 版本:

pip uninstall torch torchvision torchaudio

安装 GPU 版本

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

选择项如下:
- PyTorch Build: Stable
- OS: Windows
- Package: Pip
- Language: Python
- Compute Platform: 根据nvidia-smi结果选择(如 CUDA 11.8 或 12.1)

复制对应命令,例如:

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

或对于 CUDA 12.1:

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

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

验证 GPU 可用性

运行以下命令测试:

python -c " 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) if torch.cuda.is_available() else 'N/A') "

理想输出:

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

✅ 成功!这意味着你的模型将利用 GPU 进行训练,速度相比 CPU 可提升 5~10 倍以上。


准备训练数据:规范目录结构与标签格式

YOLOv5 对数据组织有明确要求。假设我们要训练一个识别“苹果”的模型,建议结构如下:

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

📌 关键点说明:
- 图像支持 JPG/PNG 等常见格式
- 标签文件为.txt,每行格式为:class_id x_center y_center width height
- 所有坐标均为归一化值(范围 0~1)
- 多个目标则有多行记录

🔁 如果你已有 VOC/XML 格式标注,可通过脚本批量转换为 YOLO 格式;也可使用 LabelImg 并设置保存格式为 “YOLO Darknet”。


编写自定义配置文件:apple.yaml

yolov5/data/目录下新建apple.yaml文件,内容如下:

# 数据路径(相对路径) train: ../datasets/apple/images/train val: ../datasets/apple/images/val # 类别数量 nc: 1 # 类别名称列表 names: ['apple']

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


开始训练:运行 train.py

回到 YOLOv5 根目录,执行训练命令:

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

参数详解:

参数说明
--img 640输入图像尺寸,可根据显存调整为 320/1280
--batch 16每批处理图像数,显存不足时可调小(如 8 或 4)
--epochs 100训练轮数,复杂任务可增至 300+
--data数据配置文件路径
--weights初始权重文件,首次建议使用yolov5s.pt
--cfg模型结构定义文件
--name结果保存子目录名

首次运行会自动下载yolov5s.pt权重文件(约 14MB)。训练过程中会在runs/train/yolov5s_apple/生成:
- 日志信息
- 损失曲线图(loss curves)
- mAP 曲线
- 最佳模型权重weights/best.pt
- 最终模型weights/last.pt

训练结束后,推荐使用best.pt进行推理测试。


推理测试:验证模型效果

训练完成后,最关键的一步是看看模型是否真的学会了识别目标。

使用 detect.py 进行推理

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

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

参数说明:
---source:支持单图、多图、视频、摄像头实时检测
---weights:加载训练好的模型权重
---conf 0.4:置信度阈值,低于此值的预测将被过滤
---save-txt:保存检测框坐标到.txt
---save-conf:保存置信度分数

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

查看检测结果

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

如果能看到清晰的绿色边框和"apple"标签,说明你的模型已经具备基本识别能力!

🔍 若效果不佳,可尝试以下优化方向:
- 增加训练轮数(如--epochs 300
- 提高输入分辨率(如--img 1280
- 调整数据增强参数(修改data/hyps/hyp.scratch-low.yaml
- 扩充数据集样本量,尤其是难例样本
- 使用更大的模型(如yolov5m,yolov5l


进阶技巧:结合 Jupyter 与远程开发

除了命令行操作,还可以通过交互式工具进一步提升开发效率。

在 Jupyter Notebook 中调试

(yolov5)环境中安装 Jupyter:

pip install jupyter

启动服务:

jupyter notebook

浏览器会自动打开界面,你可以创建.ipynb文件,逐步调试数据加载、模型推理、张量可视化等流程。

这种方式特别适合做实验分析、画图展示、教学演示,极大提升了可读性和调试效率。

通过 SSH 远程开发

如果你希望在远程服务器或云主机上运行训练任务,可以通过 SSH 连接管理。

配置好密钥后,使用命令连接:

ssh username@server-ip -p 22

连接成功后,激活环境并启动训练:

conda activate yolov5 cd yolov5 nohup python train.py --data data/apple.yaml --weights yolov5s.pt > train.log 2>&1 &

配合tmuxscreen可实现后台持久化运行,即使断开连接也不会中断训练。

此外,还可使用rsync同步数据、tensorboard查看训练曲线、ngrok暴露本地端口实现远程可视化。


这套基于 Miniconda 的 YOLOv5 环境搭建方案,核心价值在于“隔离”与“可控”。无论是学生做课程设计,研究人员开展实验,还是工程师部署原型,都能从中受益。

环境整洁了,出错少了,调试快了,信心自然也就来了。真正的技术成长,往往始于一次成功的环境配置。愿你在 AI 的道路上少些折腾,多些专注,终见星辰大海。

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

平面电磁波在介质中的传播与波动方程推导

平面电磁波在介质中的传播与波动方程推导 当人们谈论无线信号穿透墙壁、光在光纤中传输,或雷达探测远距离目标时,其背后统一的物理图景正是——电磁波在介质中的传播。这一现象的数学根基,并非来自某种经验公式,而是深植于一百多年…

作者头像 李华
网站建设 2026/1/11 2:35:48

TensorFlow实现VGG16猫狗识别实战

基于 TensorFlow 2.9 实现猫狗分类:VGG16 模型的完整训练实践 在深度学习的实际项目中,图像分类往往是入门与进阶的必经之路。而“猫狗大战”——即从照片中识别出是猫还是狗——这个看似简单的问题,实则涵盖了数据加载、预处理、模型构建、训…

作者头像 李华
网站建设 2026/1/13 10:49:28

大模型智能体革命(Open-AutoGLM架构全公开)

第一章:大模型智能体革命的来临人工智能正经历一场由大模型驱动的范式转变,而这场变革的核心正是“大模型智能体”(Large Model Agents)的崛起。这些智能体不仅具备强大的语言理解与生成能力,还能通过感知、规划、工具…

作者头像 李华
网站建设 2026/1/18 14:20:26

基于Java的GIF验证码生成与处理

基于Java的GIF验证码生成与处理 —— 社区镜像使用指南 在如今自动化攻击日益猖獗的背景下,传统静态验证码早已难以抵御OCR识别和机器破解。越来越多系统开始转向动态视觉干扰更强的方案,而 GIF 验证码正是其中兼具趣味性与安全性的优选方案之一。 本文…

作者头像 李华
网站建设 2026/1/10 6:32:03

Ephere Ornatrix 2.3.7插件安装教程

DDColor黑白老照片智能修复工作流:让历史影像重焕生机 在数字时代,一张泛黄的老照片不只是纸上的影像,更是一段被封存的记忆。然而,随着时间推移,许多珍贵的黑白影像逐渐模糊、褪色,甚至因年代久远而失去了…

作者头像 李华
网站建设 2026/1/17 5:12:22

【紧急更新】Open-AutoGLM GitHub仓库变更后如何快速重新部署?

第一章:Open-AutoGLM项目背景与紧急变更概述Open-AutoGLM 是一个开源的自动化大语言模型调优框架,旨在通过可扩展的插件架构实现模型训练、推理优化与部署流程的无缝集成。项目最初设计基于静态配置驱动的工作流引擎,支持主流LLM(…

作者头像 李华