YOLOv5 环境配置指南

在这里插入图片描述

系统要求

  • Windows/Linux/MacOS
  • NVIDIA GPU (推荐) 或 CPU
  • Python 3.8+
  • CUDA 11.8+ (如果使用 GPU)

安装步骤

1. 安装 Conda

如果还没有安装 Conda,请先从官网下载并安装 Miniconda

2. 创建虚拟环境

# 创建名为 yolov5 的新环境,使用 Python 3.8
conda create -n yolov5 python=3.8 -y
# 激活环境
conda activate yolov5

3. 安装 NVIDIA 驱动和 CUDA

  1. 访问 NVIDIA 驱动下载页面 下载并安装最新的显卡驱动
  2. 检查 NVIDIA 驱动安装:
# 查看显卡和驱动信息
nvidia-smi

4. 安装 CUDA 和 cuDNN

  1. 访问 NVIDIA CUDA 下载页面 下载 CUDA 11.8
  2. 安装 CUDA 11.8,按照安装向导完成安装
  3. 访问 NVIDIA cuDNN 下载页面(需要注册 NVIDIA 账户)
  4. 下载 cuDNN v8.9.x 版本(与 CUDA 11.8 兼容):
    • 访问 cuDNN 下载页面
    • 选择 “Download cuDNN v8.9.x for CUDA 11.x”
    • 下载适用于 Windows 的 zip 文件
  5. 解压下载的 cuDNN 文件,将文件复制到 CUDA 目录:
# 假设 cuDNN 解压在 D:\Downloads\cudnn_11.8
# 复制文件到 CUDA 目录
$CUDA_PATH = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8"
$CUDNN_PATH = "C:\cuDNN\cudnn"

# 复制 bin 文件
Copy-Item "$CUDNN_PATH\bin\*" "$CUDA_PATH\bin"

# 复制 include 文件
Copy-Item "$CUDNN_PATH\include\*" "$CUDA_PATH\include"

# 复制 lib 文件
Copy-Item "$CUDNN_PATH\lib\*" "$CUDA_PATH\lib\x64"
  1. 验证 CUDA 安装:
# 检查 CUDA 版本
nvcc --version

# 检查 CUDA 样例
cd "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.8\1_Utilities\deviceQuery"
nvcc deviceQuery.cu -o deviceQuery.exe
.\deviceQuery.exe

4. 安装 PyTorch

根据你的 CUDA 版本选择合适的安装命令:

对于 CUDA 11.8:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

对于 CPU 版本:

pip install torch torchvision torchaudio

4. 安装 YOLOv5

# 使用 ultralytics 包(推荐)
pip install ultralytics

# 或者从源码安装
git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org -r requirements.txt

5. 验证安装

5.1 CUDA和cuDNN测试脚本

创建文件 test_cuda_cudnn.py

import torch
import torch.backends.cudnn as cudnn

def test_cuda_cudnn():
    print("PyTorch version:", torch.__version__)
    
    # 检查CUDA是否可用
    print("\nCUDA是否可用:", torch.cuda.is_available())
    if torch.cuda.is_available():
        print("CUDA版本:", torch.version.cuda)
        print("当前CUDA设备:", torch.cuda.current_device())
        print("CUDA设备名称:", torch.cuda.get_device_name(0))
    
    # 检查cuDNN是否可用
    print("\ncuDNN是否可用:", cudnn.is_available())
    if cudnn.is_available():
        print("cuDNN版本:", cudnn.version())
        print("cuDNN是否已启用:", cudnn.enabled)

if __name__ == "__main__":
    test_cuda_cudnn()
5.2 YOLOv5 GPU测试脚本

创建文件 test.py

import torch
from ultralytics import YOLO

# 检查 CUDA 是否可用
print(f"CUDA is available: {torch.cuda.is_available()}")
print(f"PyTorch version: {torch.__version__}")

# 设置默认设备为GPU
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print(f"Using device: {device}")

# 如果有GPU,显示GPU信息
if torch.cuda.is_available():
    print(f"GPU: {torch.cuda.get_device_name(0)}")

try:
    # 加载改进版模型到GPU
    print("\n正在加载模型...")
    model = YOLO("yolov5su.pt")  # 使用改进的u版本模型
    model.to(device)  # 将模型移到GPU
    
    # 打印模型信息
    print("\n模型加载成功!")
    print(f"模型类型: {type(model)}")
    print(f"模型任务: {model.task}")
    print(f"模型使用设备: {model.device}")
    
    # 尝试进行一次简单预测来验证模型
    print("\n正在进行测试预测...")
    # 使用一个示例图像,如果没有,可以注释掉这行
    # results = model("path/to/test/image.jpg")
    # print("预测完成!结果:", results)
    
except Exception as e:
    print(f"\n错误: 模型加载或预测失败\n{str(e)}")
5.3 cuDNN安装脚本

创建文件 setup_cudnn.ps1

# Script to copy cuDNN files to CUDA directory
$CUDA_PATH = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8"
$CUDNN_PATH = "C:\cuDNN\cudnn"

# Create directories if they don't exist
if (-not (Test-Path "$CUDA_PATH\bin")) {
    New-Item -ItemType Directory -Path "$CUDA_PATH\bin" -Force
}
if (-not (Test-Path "$CUDA_PATH\include")) {
    New-Item -ItemType Directory -Path "$CUDA_PATH\include" -Force
}
if (-not (Test-Path "$CUDA_PATH\lib\x64")) {
    New-Item -ItemType Directory -Path "$CUDA_PATH\lib\x64" -Force
}

# Copy bin files
Write-Host "Copying bin files..."
Copy-Item "$CUDNN_PATH\bin\*" "$CUDA_PATH\bin" -Force

# Copy include files
Write-Host "Copying include files..."
Copy-Item "$CUDNN_PATH\include\*" "$CUDA_PATH\include" -Force

# Copy lib files
Write-Host "Copying lib files..."
Copy-Item "$CUDNN_PATH\lib\*" "$CUDA_PATH\lib\x64" -Force

Write-Host "cuDNN setup completed!"

常见问题

  1. CUDA 错误

    • 确保已安装正确版本的 NVIDIA 驱动
    • 确保 PyTorch 和 CUDA 版本匹配
  2. 内存不足

    • 减小批处理大小
    • 使用更小的模型(如 yolov5s 而不是 yolov5x)
  3. 依赖冲突

    • 建议在干净的虚拟环境中安装
    • 按照版本要求严格安装依赖

其他资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老大白菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值