系统要求
- 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
- 访问 NVIDIA 驱动下载页面 下载并安装最新的显卡驱动
- 检查 NVIDIA 驱动安装:
4. 安装 CUDA 和 cuDNN
- 访问 NVIDIA CUDA 下载页面 下载 CUDA 11.8
- 安装 CUDA 11.8,按照安装向导完成安装
- 访问 NVIDIA cuDNN 下载页面(须要注册 NVIDIA 账户)
- 下载 cuDNN v8.9.x 版本(与 CUDA 11.8 兼容):
- 访问 cuDNN 下载页面
- 选择 “Download cuDNN v8.9.x for CUDA 11.x”
- 下载实用于 Windows 的 zip 文件
- 解压下载的 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"
复制代码- # 检查 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!"
复制代码 常见题目
- CUDA 错误
- 确保已安装精确版本的 NVIDIA 驱动
- 确保 PyTorch 和 CUDA 版本匹配
- 内存不足
- 减小批处理大小
- 使用更小的模型(如 yolov5s 而不是 yolov5x)
- 依赖冲突
- 建议在干净的假造环境中安装
- 按照版本要求严格安装依赖
其他资源
- YOLOv5 官方文档
- PyTorch 安装指南
- CUDA 工具包下载
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
|