2. 环境搭建:Anaconda安装、PyTorch安装、CUDA与cuDNN配置、YOLOv9源码下载

环境搭建,说白了就是给你的电脑装上能跑YOLOv9的“工具箱”。很多同学刚开始学目标检测,模型代码还没看,先被各种安装报错劝退了。我刚开始做深度学习那会儿,光配环境就折腾了两天,后来发现其实是有套路的。

这一章,我会带你一步步把环境搭好。你跟着做就行,别急。

2.1 整体流程概览

先看一张图,了解我们这一章要做什么:

YOLOv9 环境搭建流程 Anaconda CUDA Toolkit cuDNN PyTorch YOLOv9 源码下载 💡 安装顺序建议: Anaconda → 显卡驱动 → CUDA → cuDNN → PyTorch → YOLOv9源码

这个顺序是我踩过坑之后总结出来的。尤其是CUDA和PyTorch的版本必须匹配,否则后面训练时会报一些莫名其妙的错。

2.2 Anaconda安装

Anaconda是Python的发行版,自带了很多科学计算包。我个人习惯用Miniconda,轻量一些,但新手直接用Anaconda更省心。

2.2.1 下载与安装

  1. 去Anaconda官网下载对应系统的安装包(Windows/Linux/Mac)。
  2. 双击安装,一路默认即可。
  3. 关键一步:安装过程中勾选“Add Anaconda to my PATH environment variable”。
⚠️ 我曾经遇到过:忘记勾选PATH选项,结果在命令行里死活找不到conda命令。后来手动配环境变量,折腾了半小时。所以这一步千万别跳过。

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都没问题。

💡 小技巧:如果nvidia-smi报错,说明你没装驱动或者显卡太老。去NVIDIA官网下载对应驱动,装完重启再试。

2.3.2 安装CUDA Toolkit

去NVIDIA官网下载CUDA Toolkit。版本选择上,我建议选11.8或12.1,这两个版本PyTorch官方支持得最好。

安装步骤(以Windows为例):

  1. 下载exe安装包,双击运行。
  2. 选择“自定义安装”,只勾选“CUDA”组件(其他组件一般用不到)。
  3. 记住安装路径,默认是 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1。

安装完成后,验证一下:

nvcc --version

输出类似 nvcc: NVIDIA (R) Cuda compiler driver 就对了。

2.3.3 配置cuDNN

cuDNN不是安装包,而是压缩包。你需要:

  1. 去NVIDIA官网注册并下载cuDNN(需要登录,免费)。
  2. 选择与CUDA版本匹配的cuDNN版本。
  3. 解压后,把 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 目录下看到检测结果图片,说明整个环境搭建成功了。

💡 避坑指南:如果下载预训练模型时网络超时,可以用迅雷或IDM下载,然后手动放到项目根目录。我曾经在服务器上等了一个小时没下下来,后来用本地下载再上传,两分钟搞定。

2.6 常见问题排查

环境搭建过程中,你可能会遇到这些问题:

问题 原因 解决方案
conda不是内部命令 未添加环境变量 重新安装并勾选PATH选项
torch.cuda.is_available()为False 装了CPU版PyTorch 卸载重装GPU版
nvcc不是内部命令 CUDA未添加到PATH 手动添加环境变量
ImportError: No module named 'torch' 未激活虚拟环境 执行 conda activate yolov9

嗯,到这里环境就全部搭好了。你可能会觉得步骤有点多,但做一遍之后就会发现,其实都是重复劳动。后面训练模型的时候,你会感谢现在认真配环境的自己。