在开始YOLOv26环境配置前,我们需要确保硬件和基础软件环境符合要求。我的测试平台是Windows 10 21H2系统,搭配NVIDIA RTX 3060 12GB显卡。这套配置对于YOLOv26的运行完全够用,12GB显存可以支持中等规模的模型训练。
首先确认显卡驱动版本。打开NVIDIA控制面板,点击"系统信息",可以看到我的驱动版本是516.94(2022年8月发布)。建议使用450版本以上的驱动,因为YOLOv26需要CUDA 11.7支持,而旧版驱动可能不兼容。
重要提示:如果遇到CUDA相关错误,90%的情况都是驱动版本不匹配导致的。建议通过NVIDIA官网下载最新Studio驱动而非Game Ready驱动,前者对深度学习框架的兼容性更好。
Windows 10需要开启开发者模式:
这个操作可以避免后续Python包安装时的权限问题。同时建议关闭Windows Defender的实时保护(仅限安装期间),因为某些Python包可能会被误判为病毒。
从NVIDIA官网下载CUDA 11.7.1版本(注意不是最新版!):
验证安装:
bash复制nvcc --version
应该显示"release 11.7"字样。
下载cuDNN 8.5.0 for CUDA 11.x(需要NVIDIA开发者账号):
推荐使用Miniconda创建独立环境:
bash复制conda create -n yolov26 python=3.8
conda activate yolov26
pip install --upgrade pip setuptools wheel
实测发现Python 3.8与YOLOv26的兼容性最好。3.9+版本可能会遇到PyTorch的兼容性问题。
使用官方命令安装适配CUDA 11.7的版本:
bash复制pip install torch==1.13.0+cu117 torchvision==0.14.0+cu117 --extra-index-url https://download.pytorch.org/whl/cu117
验证GPU是否可用:
python复制import torch
print(torch.cuda.is_available()) # 应该返回True
print(torch.cuda.get_device_name(0)) # 应该显示"RTX 3060"
YOLOv26需要以下关键包:
bash复制pip install opencv-python>=4.6.0 matplotlib>=3.2.0 numpy>=1.18.5
pip install tqdm tensorboard pyyaml pandas seaborn
特别注意:不要安装最新版的opencv-python-headless,这会导致GUI相关功能失效。
建议使用SSH方式克隆(需提前配置Git SSH key):
bash复制git clone git@github.com:ultralytics/yolov5.git
cd yolov5
git checkout v6.0 # 切换到v6.0分支
bash复制pip install -r requirements.txt
常见问题处理:
bash复制pip install pycocotools-windows
下载预训练模型:
bash复制python -c "from models import *; attempt_download('yolov5s.pt')"
运行测试检测:
bash复制python detect.py --source data/images/bus.jpg --weights yolov5s.pt
预期输出:
测试GPU性能:
bash复制python val.py --weights yolov5s.pt --data coco.yaml --img 640 --batch-size 16
RTX 3060 12GB的典型表现:
调整方案:
典型错误:
code复制CUDA runtime library (cudart64_110.dll) not found
解决方法:
bash复制conda install -c nvidia cuda-nvcc
症状:显存占用随时间持续增长
解决方案:
python复制torch.cuda.empty_cache()
安装TensorRT:
bash复制pip install nvidia-tensorrt==8.5.1.7
转换模型:
python复制from torch2trt import torch2trt
model_trt = torch2trt(model, [input_tensor])
实测RTX 3060上的加速效果:
修改train.py:
python复制scaler = torch.cuda.amp.GradScaler()
with torch.cuda.amp.autocast():
pred = model(imgs)
loss = compute_loss(pred, targets)
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()
效果:
推荐配置:
docker-compose示例:
yaml复制services:
yolov26:
image: yolov26-custom
runtime: nvidia
environment:
- NVIDIA_VISIBLE_DEVICES=all
PTQ量化示例:
python复制model.fuse()
model.qconfig = torch.quantization.get_default_qconfig('fbgemm')
torch.quantization.prepare(model, inplace=True)
# 校准代码...
torch.quantization.convert(model, inplace=True)
量化后模型大小减少约75%,推理速度提升约50%。