3、环境搭建:GPU驱动与CUDA安装,PyTorch环境配置,Ultralytics库安装与验证
说实话,环境搭建这一步,看着简单,其实坑最多。
我见过太多同学,代码写得挺溜,结果卡在环境上,一卡就是半天。我自己早期也吃过不少亏——有一次在服务器上装CUDA,版本没对上,折腾了整整一个下午。所以这一章,咱们把每一步都走稳了。
3.1 GPU驱动与CUDA安装
先说说最基础的东西。你要跑YOLO,尤其是用GPU加速,那NVIDIA驱动和CUDA就是绕不开的。
第一步:确认你的显卡
打开终端,输入:
nvidia-smi
如果能看到显卡信息,比如型号、驱动版本,那就说明驱动已经装好了。如果提示找不到命令,那就要去NVIDIA官网下载对应驱动。
注意: 驱动版本不是越新越好。我建议你查一下自己显卡的架构,比如RTX 30系列是Ampere架构,RTX 40系列是Ada Lovelace。驱动版本最好和CUDA版本匹配。
第二步:安装CUDA
我个人习惯用CUDA 11.8或12.1,这两个版本对PyTorch的支持最稳定。你可以去NVIDIA官网下载,或者用命令行安装:
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
安装完后,记得配置环境变量:
export PATH=/usr/local/cuda-11.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
小技巧: 装完CUDA后,运行
nvcc --version 确认版本。如果显示的不是你装的版本,八成是环境变量没配好。
我曾经在项目里遇到过一个问题:明明装了CUDA 12.1,但PyTorch一直报错说找不到CUDA。后来发现是系统默认调用了另一个版本的CUDA。嗯,环境变量这东西,真的不能马虎。
3.2 PyTorch环境配置
PyTorch的安装,说白了就是一句话:去官网选对版本。
推荐做法:用conda创建虚拟环境
我建议你为每个项目单独建一个环境,避免依赖冲突。比如:
conda create -n yolo_env python=3.10
conda activate yolo_env
然后安装PyTorch。去 PyTorch官网 选择你的配置,比如CUDA 11.8对应的命令:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
验证安装:
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
如果输出 True,恭喜你,PyTorch已经能调用GPU了。
你想想看,这一步要是没验证,后面跑模型时才发现用的是CPU,那得多浪费时间?
3.3 Ultralytics库安装与验证
Ultralytics是YOLOv8的官方库,安装非常简单:
pip install ultralytics
它会自动帮你装好依赖,包括OpenCV、NumPy这些。
验证安装:
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
如果能看到检测结果,说明一切正常。
避坑指南: 我曾经在Windows上装Ultralytics时,遇到OpenCV的DLL加载失败。后来发现是系统缺少Visual C++运行库。去微软官网装一下就好了。
另外,我建议你装完后再跑一个简单的Python脚本,确认库能正常导入:
from ultralytics import YOLO
model = YOLO('yolov8n.pt')
results = model('https://ultralytics.com/images/bus.jpg')
print(results[0].boxes.xyxy)
如果能看到边界框坐标,那环境就彻底搭好了。
3.4 常见问题与解决方案
| 问题 | 原因 | 解决方法 |
|---|---|---|
| nvidia-smi 找不到 | 驱动未安装或未配置PATH | 重新安装驱动,或添加NVIDIA路径到环境变量 |
| PyTorch检测不到GPU | CUDA版本不匹配或PyTorch安装的是CPU版 | 卸载PyTorch,重新安装对应CUDA版本的PyTorch |
| Ultralytics导入报错 | 依赖库版本冲突 | 用conda创建新环境,重新安装 |
最后提醒: 环境搭建没有捷径。每一步都验证一下,别等到跑模型了才发现问题。我当年就是太心急,结果浪费了更多时间。
好了,环境搭好了,下一章咱们就开始真正跑YOLO模型了。你准备好了吗?