第二章:环境搭建——Anaconda安装、CUDA与cuDNN配置、PyTorch安装、YOLO项目克隆与环境配置
说实话,很多同学学YOLO,第一关就卡在了环境搭建上。
我见过太多人,代码写好了,模型选好了,结果一跑就报错。什么CUDA版本不对、PyTorch和显卡驱动不匹配、依赖包冲突……折腾一整天,心态直接崩了。
这一章,我就带你一步步把环境搭好。你跟着我的节奏来,保证一次过。
2.1 Anaconda安装——Python环境的“管家”
为什么要用Anaconda?说白了,它就是帮你管理Python环境和包的。你想想看,做YOLO要用PyTorch,做别的项目可能要用TensorFlow,版本还不一样。如果没有Anaconda,你的电脑会乱成一锅粥。
我个人习惯,每个项目都建一个独立的虚拟环境。这样互不干扰,出问题了删掉重来就行,特别方便。
安装步骤
- 下载安装包:去Anaconda官网(https://www.anaconda.com/)下载对应系统的版本。我建议下载Python 3.9+的版本,太老的版本后面会有兼容问题。
- 安装过程:一路默认就行。但有一个关键点——记得勾选“Add Anaconda to my PATH environment variable”。嗯,这里要注意,如果不勾选,后面在命令行里用conda命令会找不到。
- 验证安装:打开终端(Windows用cmd或PowerShell,Mac/Linux用Terminal),输入:
conda --version
如果显示版本号,比如 conda 23.7.4,那就说明安装成功了。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
2.2 CUDA与cuDNN配置——让显卡为你工作
YOLO训练靠的是GPU。没有CUDA,你的显卡就是个摆设。
CUDA是NVIDIA推出的并行计算平台。cuDNN是专门为深度学习优化的加速库。两者缺一不可。
我在项目中遇到过一个问题:CUDA版本装高了,但显卡驱动太老,结果PyTorch死活识别不了GPU。所以,版本匹配非常关键。
第一步:检查你的显卡驱动
打开终端,输入:
nvidia-smi
你会看到类似这样的输出:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.105.17 Driver Version: 525.105.17 CUDA Version: 12.0 |
+-----------------------------------------------------------------------------+
注意看右上角的 CUDA Version。这个数字告诉你,你的驱动最高支持哪个CUDA版本。比如这里是12.0,那你装CUDA 11.8或12.1都没问题,但不能超过12.0。
第二步:安装CUDA
- 去NVIDIA官网(https://developer.nvidia.com/cuda-toolkit-archive)下载对应版本的CUDA Toolkit。
- 我建议选 CUDA 11.8 或 CUDA 12.1。这两个版本对PyTorch的兼容性最好。
- 安装时选择“自定义安装”,只勾选“CUDA”组件,其他如驱动、Visual Studio Integration可以不选。
- 安装完成后,打开终端验证:
nvcc --version
如果显示版本信息,说明CUDA安装成功。
第三步:配置cuDNN
cuDNN是NVIDIA的深度学习加速库。你需要去NVIDIA官网注册并下载(免费)。
- 下载对应CUDA版本的cuDNN压缩包。
- 解压后,把里面的
bin、include、lib三个文件夹,复制到CUDA的安装目录下(Windows默认在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8)。 - 添加环境变量:把
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin加到系统的PATH里。
extras\demo_suite,打开终端,运行 deviceQuery.exe。如果看到 PASS,说明一切正常。
2.3 PyTorch安装——深度学习框架的核心
PyTorch是YOLO的“发动机”。没有它,YOLO跑不起来。
安装PyTorch有个原则:版本要和CUDA匹配。你想想看,CUDA是11.8,你装个PyTorch 2.0(默认CUDA 12.1),那肯定报错。
安装命令
去PyTorch官网(https://pytorch.org/get-started/locally/),选择对应的配置:
- PyTorch Build:Stable(稳定版)
- Your OS:根据你的系统选
- Package:Conda(推荐)或Pip
- CUDA:选你安装的版本,比如11.8
然后复制生成的命令,在终端里运行。比如:
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
如果你用pip,命令是:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
import torch
print(torch.__version__)
print(torch.cuda.is_available()) # 如果返回True,说明GPU可用
如果返回 True,恭喜你,环境搭好了!如果返回 False,别慌,检查一下CUDA版本是否匹配,或者驱动是否更新。
2.4 YOLO项目克隆与环境配置——让代码跑起来
环境搭好了,接下来就是把YOLO的代码拉下来。
我推荐用 YOLOv8,它是Ultralytics团队维护的,文档全、社区活跃、代码质量高。当然,YOLOv5、YOLOv7也都可以,但YOLOv8是目前最主流的。
克隆项目
打开终端,进入你想存放项目的目录,然后运行:
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
如果你没有安装Git,可以去官网下载安装,或者直接下载ZIP压缩包解压。
创建虚拟环境并安装依赖
我个人习惯,每个项目都建一个独立的虚拟环境。这样不会污染全局的Python环境。
conda create -n yolov8 python=3.9
conda activate yolov8
pip install -r requirements.txt
注意:requirements.txt 文件里包含了所有依赖包。如果安装过程中有包报错,可以手动安装:
pip install ultralytics
pip install opencv-python
pip install matplotlib
pip install tqdm
pycocotools 报错,可以试试:
pip install pycocotools-windows
这是Windows的专用版本。我在项目中遇到过这个问题,折腾了半小时才发现这个替代方案。
验证环境是否可用
运行一个简单的测试脚本:
from ultralytics import YOLO
model = YOLO('yolov8n.pt') # 加载预训练模型
results = model('https://ultralytics.com/images/bus.jpg') # 测试一张图片
results[0].show() # 显示检测结果
如果能看到检测框,说明环境搭建成功!
2.5 总结与避坑指南
环境搭建这一步,说白了就是“版本匹配”四个字。显卡驱动、CUDA、cuDNN、PyTorch,这四个东西的版本必须对齐。任何一个不匹配,都会导致GPU无法使用。
我整理了一个版本对照表,方便你参考:
| PyTorch版本 | CUDA版本 | cuDNN版本 | 推荐显卡驱动 |
|---|---|---|---|
| 1.13.x | 11.6 / 11.7 | 8.5.0 | ≥ 510.39 |
| 2.0.x | 11.7 / 11.8 | 8.7.0 | ≥ 525.60 |
| 2.1.x | 11.8 / 12.1 | 8.9.0 | ≥ 530.30 |
| 2.2.x | 11.8 / 12.1 | 8.9.4 | ≥ 535.54 |
好了,环境搭建就到这里。下一章,我们会正式开始YOLO的数据准备和训练。到时候你会发现,环境搭好了,后面的路就顺了。