第二章:环境搭建——CUDA/CuDNN 版本选择、PyTorch 安装、YOLOv10 源码下载与依赖安装
好,咱们正式开始动手了。
说实话,环境搭建这事儿,看着简单,但坑是真不少。我见过太多同学卡在这一步,一卡就是半天。其实说白了,环境搭好了,后面就顺了。今天我就把这几年的经验掰开揉碎讲给你听。
2.1 CUDA 与 CuDNN:版本选择有讲究
先聊 CUDA。很多人一上来就装最新版,觉得越新越好。嗯,这里要注意——深度学习框架往往滞后于 CUDA 的更新。你装个 CUDA 12.5,结果 PyTorch 还没适配,那就尴尬了。
⚠️ 避坑指南
我曾经在项目里直接上了 CUDA 12.0,结果发现 PyTorch 稳定版只支持到 11.8。折腾了一下午,最后还是降级了。所以我的建议是:选 CUDA 11.8 或 12.1,这两个版本目前兼容性最好。
我曾经在项目里直接上了 CUDA 12.0,结果发现 PyTorch 稳定版只支持到 11.8。折腾了一下午,最后还是降级了。所以我的建议是:选 CUDA 11.8 或 12.1,这两个版本目前兼容性最好。
CuDNN 呢?跟着 CUDA 版本走就行。比如你装 CUDA 11.8,就下载对应的 CuDNN for CUDA 11.x。别搞混了。
| CUDA 版本 | 推荐状态 | PyTorch 兼容性 |
|---|---|---|
| 11.8 | ✅ 强烈推荐 | 完美兼容 |
| 12.1 | ✅ 推荐 | 良好 |
| 12.5+ | ⚠️ 谨慎 | 可能不兼容 |
💡 小技巧
装完 CUDA 后,在终端输入
装完 CUDA 后,在终端输入
nvidia-smi 查看驱动支持的 CUDA 版本。然后去 PyTorch 官网看它支持哪个版本,取交集就行。
2.2 PyTorch 安装:别用 pip 硬装
我个人习惯用 conda 来管理环境。为什么?因为 pip 装 PyTorch 有时候会缺一些底层库,尤其是 GPU 版本。
具体步骤:
- 创建虚拟环境:
conda create -n yolov10 python=3.9 -y - 激活环境:
conda activate yolov10 - 安装 PyTorch:去 PyTorch 官网 选对应配置,复制命令
举个例子,如果你用 CUDA 11.8:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
装完后验证一下:
python -c "import torch; print(torch.cuda.is_available())"
如果输出 True,恭喜你,GPU 环境搞定了。
🔑 关键点
我遇到过有人输出
我遇到过有人输出
False,结果发现是 PyTorch 装了 CPU 版本。你想想看,这多冤?所以一定要确认你装的 PyTorch 是 CUDA 版本,不是 CPU-only 的。
2.3 YOLOv10 源码下载与依赖安装
源码下载很简单,直接 git clone:
git clone https://github.com/THU-MIG/yolov10.git
cd yolov10
然后安装依赖。YOLOv10 的 requirements.txt 写得挺全的,但有个坑——它没把 ultralytics 写进去。而 YOLOv10 的很多工具函数依赖这个库。
⚠️ 避坑指南
我曾经直接
我曾经直接
pip install -r requirements.txt,然后跑训练脚本报错说缺模块。查了半天才发现是 ultralytics 没装。所以我的建议是:装完 requirements 后,再手动装一下 ultralytics。
完整安装命令:
pip install -r requirements.txt
pip install ultralytics
另外,如果你要用 export.py 导出模型,还需要装 onnx 和 onnxruntime-gpu:
pip install onnx onnxruntime-gpu
2.4 验证环境是否跑通
环境搭好了,跑个 demo 试试:
yolo predict model=yolov10n.pt source='https://ultralytics.com/images/bus.jpg'
如果能看到检测结果,说明一切正常。
💡 小技巧
第一次跑的时候,YOLOv10 会自动下载预训练权重。如果下载慢,可以手动去 GitHub Releases 下载,放到项目根目录的
第一次跑的时候,YOLOv10 会自动下载预训练权重。如果下载慢,可以手动去 GitHub Releases 下载,放到项目根目录的
weights 文件夹里。
嗯,到这里环境就搭好了。你想想看,其实每一步都不难,就是细节多。我刚开始做的时候也踩过不少坑,但只要你按这个流程走,基本不会出问题。
下一章咱们开始讲数据集准备和标注。准备好了吗?