Ubuntu 20.04 + CUDA 12.2 下,用Anaconda一步到位搞定YOLOv5环境(附清华源加速) Ubuntu 20.04 CUDA 12.2 下极速搭建YOLOv5开发环境全指南深度学习环境配置一直是让初学者头疼的问题尤其是当涉及到特定版本的CUDA、PyTorch以及各种依赖库时。本文将带你用最简洁高效的方式在Ubuntu 20.04系统上基于CUDA 12.2和Anaconda一步到位完成YOLOv5环境的搭建。整个过程不仅考虑了国内用户的网络环境优化还特别针对常见坑点做了预防性设计。1. 系统基础环境准备在开始之前确保你的Ubuntu 20.04系统已经安装了NVIDIA驱动和CUDA 12.2。可以通过以下命令验证nvidia-smi输出应显示CUDA版本为12.2。如果没有安装建议从NVIDIA官网下载对应版本的驱动和CUDA工具包。1.1 Anaconda安装与配置Anaconda是Python环境管理的利器它能有效解决不同项目间的依赖冲突问题。我们推荐使用Miniconda它是Anaconda的轻量版只包含conda、Python和少量必要包。下载并安装Minicondawget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh安装完成后关闭并重新打开终端你会看到命令行前出现(base)字样表示conda的基础环境已激活。国内用户必做配置清华镜像源加速conda包下载。编辑~/.condarc文件channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud2. 创建专用Python环境为YOLOv5创建独立环境是个好习惯可以避免与其他项目的依赖冲突。conda create -n yolov5 python3.8 conda activate yolov52.1 PyTorch与CUDA 12.2的精准匹配PyTorch版本必须与CUDA版本严格对应。虽然官方尚未发布CUDA 12.2的PyTorch预编译包但CUDA 12.1的版本通常能兼容12.2。执行以下命令安装conda install pytorch2.2.0 torchvision0.17.0 torchaudio2.2.0 pytorch-cuda12.1 -c pytorch -c nvidia安装完成后验证GPU是否可用import torch print(torch.cuda.is_available()) # 应返回True print(torch.version.cuda) # 应显示12.1或12.23. YOLOv5环境部署3.1 获取YOLOv5源码建议使用v7.0版本它支持目标检测和实例分割git clone https://github.com/ultralytics/yolov5.git cd yolov5 git checkout v7.03.2 安装依赖项配置pip清华源加速安装pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/ pip install -r requirements.txt常见问题处理如果遇到OpenCV安装问题尝试pip install opencv-python-headless如果出现权限错误添加--user参数4. 模型测试与验证4.1 下载预训练模型YOLOv5提供了多种规模的预训练模型从轻量级的yolov5s到高精度的yolov5xmkdir -p weights wget https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt -P weights wget https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s-seg.pt -P weights4.2 运行目标检测测试默认图片检测python detect.py --weights weights/yolov5s.pt --source data/images/检测结果会保存在runs/detect/exp目录下。如果一切正常你应该能看到类似下面的输出detect: weightsweights/yolov5s.pt, sourcedata/images/, datadata/coco128.yaml, imgsz[640, 640], conf_thres0.25, iou_thres0.45, max_det1000, device, view_imgFalse, save_txtFalse, save_confFalse, save_cropFalse, nosaveFalse, classesNone, agnostic_nmsFalse, augmentFalse, visualizeFalse, updateFalse, projectruns/detect, nameexp, exist_okFalse, line_thickness3, hide_labelsFalse, hide_confFalse, halfFalse, dnnFalse, vid_stride1 YOLOv5 v7.0-267-g4c40b4e Python-3.8.18 torch-2.2.0 CUDA:0 (NVIDIA GeForce RTX 3080, 10240MiB)4.3 运行实例分割测试分割功能python segment/predict.py --weights weights/yolov5s-seg.pt --source data/images/5. 开发环境优化技巧5.1 Jupyter Notebook集成为了方便开发和调试可以将环境集成到Jupyter中pip install ipykernel python -m ipykernel install --user --name yolov5 --display-name Python (yolov5)5.2 Docker化环境可选对于需要环境隔离或团队协作的场景可以创建Docker镜像FROM nvidia/cuda:12.2-base RUN apt-get update apt-get install -y python3.8 python3-pip COPY . /app WORKDIR /app RUN pip install -r requirements.txt5.3 常见问题速查表问题现象可能原因解决方案CUDA不可用PyTorch与CUDA版本不匹配检查torch.version.cuda重新安装对应版本内存不足模型太大或批量太大尝试更小的模型(yolov5s)或减小--imgsz参数依赖冲突多个库版本要求不同创建新的conda环境严格按requirements.txt安装6. 进阶配置与性能调优6.1 TensorRT加速对于生产环境可以考虑使用TensorRT加速git clone https://github.com/wang-xinyu/tensorrtx.git cd tensorrtx/yolov5 mkdir build cd build cmake .. make6.2 自定义数据集训练准备自己的数据集只需遵循简单结构custom_dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/然后修改data/custom.yaml配置文件即可开始训练。在实际项目中我发现使用--batch-size参数时需要根据GPU显存适当调整。对于8GB显存的显卡yolov5s模型通常可以设置batch size为16-32而更大的模型可能需要减小到8甚至4。