news 2026/1/18 7:31:00

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 19:44:02

【收藏必备】一文搞懂大模型:LLM、智能体、RAG和扩散模型全解析

文章介绍了四大AI核心技术:大语言模型(LLM)通过预测词语生成回答但知识固化且可能产生幻觉;智能体(Agent)增加记忆和工具调用能力,能自主完成复杂任务;检索增强生成(RAG)通过实时检索资料解决LLM知识更新问题,提高准确…

作者头像 李华
网站建设 2026/1/11 6:28:44

Octavia实现HTTPS健康检查与SNI问题解析

Octavia实现HTTPS健康检查与SNI问题解析 在现代云原生架构中,负载均衡器的健康检查机制看似简单,实则暗藏玄机。尤其是在使用OpenStack Octavia部署HTTPS服务时,一个看似正常的健康检查配置,却可能在切换到机构签发证书后突然失效…

作者头像 李华
网站建设 2026/1/14 14:49:55

为什么说Open-AutoGLM将重塑手机AI生态?一文看懂其核心技术突破

第一章:智谱手机端Open-AutoGLM上线智谱AI正式推出手机端Open-AutoGLM应用,标志着其自研大模型AutoGLM在移动端的全面落地。该应用集成了强大的自然语言理解与生成能力,支持多轮对话、代码生成、知识问答等核心功能,为用户提供高效…

作者头像 李华
网站建设 2026/1/8 3:18:06

10359-002J,耐高温的微波连接器, 现货库存

型号介绍今天我要向大家介绍的是 Southwest Microwave 的一款连接器——10359-002J。 它的核心外壳采用了 UNS-30300 不锈钢合金材质,这种材料保证了结构的坚固耐用。在关键的电气接触部分,使用了 UNS-C17300 铍铜合金作为接触件,并按照J用标…

作者头像 李华
网站建设 2026/1/9 17:34:23

Delphi实现自定义窗口样式与按钮绘制

用Delphi画出你心中的现代UI:从ComfyUI得到的灵感 有段时间我一直在想,为什么同样是AI修图工具,别人家的界面看起来像科技大片,而我自己写的程序还停留在2003年的XP风格?灰扑扑的按钮、死板的标题栏、毫无呼吸感的布局…

作者头像 李华
网站建设 2026/1/15 11:50:57

Windows下Darknet编译与YOLO C++接口调用

Windows下Darknet编译与YOLO C接口调用 在工业视觉、嵌入式检测或对延迟极度敏感的应用场景中,开发者常常面临一个现实问题:Python虽然开发便捷,但其运行时开销和环境依赖限制了部署灵活性。当需要将目标检测能力直接集成进C原生应用——比如…

作者头像 李华