1. YOLOv5环境搭建全景指南作为计算机视觉领域最流行的目标检测框架之一YOLOv5以其出色的性能和易用性赢得了广泛关注。但在实际环境搭建过程中开发者常会遇到各种拦路虎——从仓库克隆失败到依赖冲突从CUDA版本不匹配到PyTorch安装异常。本文将基于官方最新v7.0版本带你完整走通环境搭建全流程并针对15类高频错误提供解决方案。实测环境Ubuntu 20.04 LTS RTX 3090 CUDA 11.3所有命令均经过实体机验证1.1 硬件与基础环境准备在开始之前需要确认以下硬件条件显卡NVIDIA GPU建议RTX 2060及以上显存≥6GB训练需求纯推理可更低存储空间≥20GB可用空间操作系统选择建议# 查看Linux发行版信息 lsb_release -a # 查看GPU信息 nvidia-smi对于Windows用户建议使用WSL2而非原生环境启用WSL功能dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart安装Ubuntu 20.04 LTS从Microsoft Store升级到WSL2wsl --set-version Ubuntu-20.04 21.2 官方仓库克隆的三种方式官方推荐使用Git克隆仓库但国内用户常遇到连接问题。以下是三种可靠方案方案一GitHub原生克隆需代理git clone https://github.com/ultralytics/yolov5.git cd yolov5方案二Gitee镜像加速git clone https://gitee.com/mirrors/yolov5.git cd yolov5 # 修改remote指向官方源 git remote set-url origin https://github.com/ultralytics/yolov5.git方案三直接下载ZIP访问https://github.com/ultralytics/yolov5/releases下载最新版Source code(zip)解压后执行pip install -r requirements.txt注意无论哪种方式务必检查git tag确认版本。2023年常见问题多源于使用旧版(v6.x)的解决方案处理v7.x的问题2. 依赖安装的深度解析2.1 PyTorch的精准安装PyTorch是YOLOv5的核心依赖版本错误会导致90%的报错。使用官方命令生成工具# 查看CUDA版本 nvcc --version # 访问https://pytorch.org/get-started/locally/获取精确安装命令 # 例如CUDA 11.3 pip install torch1.12.1cu113 torchvision0.13.1cu113 torchaudio0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113常见版本对应关系CUDA版本PyTorch推荐版本备注11.72.0.0cu117最新稳定版11.31.12.1cu113最兼容版本10.21.11.0cu102旧显卡兼容方案2.2 requirements.txt的智能安装官方requirements.txt可能包含不需要的依赖建议选择性安装# 基础必要依赖 pip install numpy opencv-python pillow matplotlib seaborn pandas # 可选功能依赖 pip install tensorboard pycocotools thop针对国内用户推荐使用镜像源pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt3. 高频错误全解手册3.1 CUDA相关错误集错误1CUDA out of memory# 解决方案 1. 减小batch-sizepython train.py --batch-size 8 2. 启用梯度累积python train.py --batch-size 32 --accumulate 4 3. 使用更小模型yolov5s.yaml替代yolov5x.yaml错误2RuntimeError: No CUDA GPUs are available# 检查步骤 1. 确认nvidia-smi有输出 2. 验证PyTorch CUDA可用性 python -c import torch; print(torch.cuda.is_available()) 3. 检查驱动版本兼容性 nvidia-smi | grep Driver Version nvcc --version3.2 依赖冲突解决方案错误3libGL.so.1: cannot open shared object file# Ubuntu解决方案 sudo apt install libgl1-mesa-glx # CentOS解决方案 sudo yum install mesa-libGL错误4ImportError: cannot import name PILLOW_VERSION# 原因Pillow版本过高 pip install pillow9.5.04. 环境验证与测试4.1 基础功能测试import torch from yolov5.models.experimental import attempt_load # 检查PyTorch print(fPyTorch version: {torch.__version__}) print(fCUDA available: {torch.cuda.is_available()}) # 加载测试模型 model attempt_load(yolov5s.pt) print(Model loaded successfully!)4.2 完整推理测试python detect.py --source data/images/bus.jpg --weights yolov5s.pt预期输出detect: weightsyolov5s.pt, sourcedata/images/bus.jpg YOLOv5 v7.0-224-g4d7a1c3 Python-3.8.10 torch-1.12.1cu113 CUDA:0 (NVIDIA GeForce RTX 3090, 24268MiB)5. 高级配置技巧5.1 Docker环境方案FROM nvidia/cuda:11.3.1-base RUN apt update apt install -y python3-pip git RUN git clone https://github.com/ultralytics/yolov5 cd yolov5 pip install -r requirements.txt WORKDIR /yolov5 CMD [python3, detect.py, --source, data/images]5.2 Conda环境管理conda create -n yolov5 python3.8 conda activate yolov5 conda install pytorch torchvision torchaudio cudatoolkit11.3 -c pytorch5.3 多版本共存方案通过符号链接管理不同版本ln -s /path/to/yolov5_v6 /opt/yolov5/6.0 ln -s /path/to/yolov5_v7 /opt/yolov5/7.0 export PYTHONPATH/opt/yolov5/7.0:$PYTHONPATH在完成所有环境配置后建议运行完整的测试套件python test.py --weights yolov5s.pt --data coco.yaml --img 640遇到任何问题时首先检查版本对应关系PyTorchCUDAYOLOv5依赖冲突pip list | grep冲突包环境隔离情况conda/virtualenv最后分享一个实用技巧在Docker中使用--shm-size参数可以解决多进程数据共享问题docker run --gpus all --shm-size8G -it yolov5
阅读完成 · 觉得有帮助?