作为计算机视觉领域最流行的实时目标检测算法,YOLO系列的最新版本YOLOv26在检测精度和速度上都有显著提升。但对于刚接触这个领域的新手来说,环境配置往往是第一个拦路虎。特别是在Windows系统下,由于依赖库复杂、CUDA版本兼容性问题频发,很多人在第一步就卡住了。
这次我用的是一台搭载RTX 3060(12GB显存)的Windows 10主机,这个配置在目标检测领域非常具有代表性——足够运行大多数模型,但又不像专业级显卡那样有现成的企业级支持。通过这篇教程,你将获得:
首先需要确认你的硬件配置是否满足基本要求:
重要提示:在设备管理器中检查显卡驱动版本,建议更新到最新版(本文使用516.94驱动)
YOLOv26对以下组件有严格版本要求:
| 组件 | 推荐版本 | 必须匹配关系 |
|---|---|---|
| Python | 3.8.10 | 与PyTorch兼容 |
| CUDA | 11.3 | 必须与显卡驱动兼容 |
| cuDNN | 8.2.1 | 必须与CUDA版本严格匹配 |
| PyTorch | 1.12.0 | 需要CUDA 11.3支持 |
| TorchVision | 0.13.0 | 需与PyTorch版本对应 |
bash复制nvidia-uninstall
cuda-uninstaller
bash复制CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3
CUDA_PATH_V11_3=%CUDA_PATH%
PATH中添加:%CUDA_PATH%\bin;%CUDA_PATH%\libnvvp
bash复制nvcc --version # 应显示11.3
建议使用Miniconda创建独立环境:
bash复制conda create -n yolov26 python=3.8.10
conda activate yolov26
安装基础依赖:
bash复制pip install numpy==1.21.5 opencv-python==4.5.5.64 matplotlib==3.5.1
对于3060显卡,使用以下命令安装PyTorch:
bash复制pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 --extra-index-url https://download.pytorch.org/whl/cu113
验证GPU可用性:
python复制import torch
print(torch.cuda.is_available()) # 应输出True
print(torch.cuda.get_device_name(0)) # 应显示3060
克隆官方仓库:
bash复制git clone https://github.com/ultralytics/yolov5.git
cd yolov5
git checkout v26.0 # 切换到v26分支
安装项目特定依赖:
bash复制pip install -r requirements.txt
注意:可能会提示pycocotools安装失败,这是Windows常见问题。解决方案:
bash复制pip install pycocotools-windows
修改models/yolo.py中的默认配置:
python复制self.device = torch.device('cuda:0') # 强制使用GPU0
torch.backends.cudnn.benchmark = True # 启用cuDNN自动优化
在train.py中建议设置:
python复制parser.add_argument('--batch-size', type=int, default=16) # 12GB显存建议值
parser.add_argument('--img-size', nargs='+', type=int, default=[640, 640])
运行检测测试:
bash复制python detect.py --weights yolov5s.pt --source data/images/bus.jpg
如果看到以下输出说明成功:
code复制detect: weights=yolov5s.pt, source=data/images/bus.jpg
YOLOv5 v26.0-1-g4d1a60d torch 1.12.0 CUDA:0 (NVIDIA GeForce RTX 3060, 12096MiB)
典型报错:
code复制RuntimeError: CUDA out of memory.
解决方案:
--batch-size(建议从16开始尝试)--half参数使用半精度推理python复制torch.cuda.empty_cache()
报错示例:
code复制ImportError: DLL load failed while importing _C: 找不到指定的模块
这是PyTorch与CUDA版本不匹配导致,需要:
bash复制pip uninstall torch torchvision
如果遇到:
code复制NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver
需要:
基于3060显卡的实际测试经验:
train.py中添加:python复制scaler = torch.cuda.amp.GradScaler()
with torch.cuda.amp.autocast():
# 训练代码
python复制train_loader = torch.utils.data.DataLoader(...,
num_workers=4,
pin_memory=True,
persistent_workers=True)