2. 环境搭建:Anaconda安装、PyTorch安装、CUDA与cuDNN配置、YOLOv9源码下载
环境搭建,说白了就是给你的电脑装上能跑YOLOv9的“工具箱”。很多同学刚开始学目标检测,模型代码还没看,先被各种安装报错劝退了。我刚开始做深度学习那会儿,光配环境就折腾了两天,后来发现其实是有套路的。
这一章,我会带你一步步把环境搭好。你跟着做就行,别急。
2.1 整体流程概览
先看一张图,了解我们这一章要做什么:
这个顺序是我踩过坑之后总结出来的。尤其是CUDA和PyTorch的版本必须匹配,否则后面训练时会报一些莫名其妙的错。
2.2 Anaconda安装
Anaconda是Python的发行版,自带了很多科学计算包。我个人习惯用Miniconda,轻量一些,但新手直接用Anaconda更省心。
2.2.1 下载与安装
- 去Anaconda官网下载对应系统的安装包(Windows/Linux/Mac)。
- 双击安装,一路默认即可。
- 关键一步:安装过程中勾选“Add Anaconda to my PATH environment variable”。
2.2.2 验证安装
打开终端(Windows用cmd或PowerShell),输入:
conda --version
如果输出版本号,比如 conda 24.1.2,就说明安装成功了。
2.2.3 创建虚拟环境
为什么要用虚拟环境?你想想看,不同项目可能依赖不同版本的PyTorch,混在一起会出问题。我一般每个项目单独建一个环境。
conda create -n yolov9 python=3.9 -y
conda activate yolov9
这里我指定了Python 3.9,YOLOv9官方推荐3.8-3.10,3.9是比较稳妥的选择。
2.3 CUDA与cuDNN配置
CUDA是NVIDIA的并行计算平台,cuDNN是深度神经网络的加速库。说白了,没有它们,你的GPU就是个摆设。
2.3.1 检查显卡驱动
先确认你的电脑有NVIDIA显卡。在终端输入:
nvidia-smi
你会看到类似这样的输出:
| 项目 | 示例值 |
|---|---|
| Driver Version | 545.84 |
| CUDA Version | 12.3 |
| GPU型号 | NVIDIA GeForce RTX 4060 |
注意看CUDA Version这一行,它表示你的驱动支持的最高CUDA版本。比如显示12.3,那你安装CUDA 12.x都没问题。
2.3.2 安装CUDA Toolkit
去NVIDIA官网下载CUDA Toolkit。版本选择上,我建议选11.8或12.1,这两个版本PyTorch官方支持得最好。
安装步骤(以Windows为例):
- 下载exe安装包,双击运行。
- 选择“自定义安装”,只勾选“CUDA”组件(其他组件一般用不到)。
- 记住安装路径,默认是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1。
安装完成后,验证一下:
nvcc --version
输出类似 nvcc: NVIDIA (R) Cuda compiler driver 就对了。
2.3.3 配置cuDNN
cuDNN不是安装包,而是压缩包。你需要:
- 去NVIDIA官网注册并下载cuDNN(需要登录,免费)。
- 选择与CUDA版本匹配的cuDNN版本。
- 解压后,把
bin、include、lib三个文件夹复制到CUDA安装目录下,覆盖同名文件夹。
| CUDA版本 | 推荐cuDNN版本 |
|---|---|
| 11.8 | 8.9.x |
| 12.1 | 9.0.x |
2.4 PyTorch安装
PyTorch的安装是环境搭建中最容易出问题的一环。我见过太多人直接 pip install torch,结果装成了CPU版本,训练慢得让人崩溃。
2.4.1 选择正确的安装命令
去PyTorch官网(pytorch.org),选择你的配置:
- PyTorch Build:Stable(稳定版)
- Your OS:Windows/Linux/Mac
- Package:Pip 或 Conda
- Compute Platform:CUDA 11.8 或 12.1
官网会生成对应的安装命令。比如:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
或者用conda:
conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch -c conda-forge
pip install torch 不加参数,那样默认装CPU版本。我刚开始学的时候犯过这个错,训练一个模型跑了三天三夜,后来发现GPU根本没在工作。
2.4.2 验证PyTorch是否能用GPU
安装完成后,进入Python环境测试:
python
import torch
print(torch.__version__) # 输出PyTorch版本
print(torch.cuda.is_available()) # 输出True表示GPU可用
print(torch.cuda.device_count()) # GPU数量
print(torch.cuda.get_device_name(0)) # GPU型号
如果 torch.cuda.is_available() 返回 True,恭喜你,环境配好了!
2.5 YOLOv9源码下载
YOLOv9的官方代码托管在GitHub上。我个人习惯用git clone,这样后续更新方便。
2.5.1 克隆源码
git clone https://github.com/WongKinYiu/yolov9.git
cd yolov9
如果网络慢,也可以直接下载ZIP压缩包,解压后进入目录。
2.5.2 安装依赖
YOLOv9项目里有一个 requirements.txt,里面列出了所有需要的Python包:
pip install -r requirements.txt
这里我建议用 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple,国内镜像源下载速度快很多。
2.5.3 验证环境
下载一个预训练模型试试:
# 下载yolov9-c.pt(约170MB)
wget https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-c.pt
# 运行检测测试
python detect.py --source data/images/horses.jpg --weights yolov9-c.pt
如果能在 runs/detect/exp 目录下看到检测结果图片,说明整个环境搭建成功了。
2.6 常见问题排查
环境搭建过程中,你可能会遇到这些问题:
| 问题 | 原因 | 解决方案 |
|---|---|---|
| conda不是内部命令 | 未添加环境变量 | 重新安装并勾选PATH选项 |
| torch.cuda.is_available()为False | 装了CPU版PyTorch | 卸载重装GPU版 |
| nvcc不是内部命令 | CUDA未添加到PATH | 手动添加环境变量 |
| ImportError: No module named 'torch' | 未激活虚拟环境 | 执行 conda activate yolov9 |
嗯,到这里环境就全部搭好了。你可能会觉得步骤有点多,但做一遍之后就会发现,其实都是重复劳动。后面训练模型的时候,你会感谢现在认真配环境的自己。