YOLOv5 环境配置指南

article/2025/8/3 23:19:14

在这里插入图片描述

系统要求

  • 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 cudnndef 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:# 加载改进版模型到GPUprint("\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" -ForceWrite-Host "cuDNN setup completed!"

常见问题

  1. CUDA 错误

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

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

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

其他资源

  • YOLOv5 官方文档
  • PyTorch 安装指南
  • CUDA 工具包下载

http://www.hkcw.cn/article/qKkNeHZahL.shtml

相关文章

【算法应用】虚拟力算法VFA用于WSN覆盖,无人机网络覆盖问题

目录 1.虚拟力算法VFA2.WSN覆盖&无人机覆盖应用3.参考文献4.代码获取5.读者交流 1.虚拟力算法VFA 虚拟势场(Virtual Potential Field)最早因解决机器人路径规划及避障问题而被提出。它假设待优化个体会根据某种关系与周围的环境或其他个体产生力的作…

简历制作要精而不简

不得不说,不管是春招,还是秋招,我们在求职时,第一步便是制作一份简历。不得不承认,好的简历,就像一块敲门砖,能让面试官眼前一亮,让应聘成功的概率增添一分。 对于一个初次求职者来…

数据库管理与高可用-MySQL全量,增量备份与恢复

目录 #1.1MySQL数据库备份概述 1.1.1数据备份的重要性 1.1.2数据库备份类型 1.1.3常见的备份方法 #2.1数据库完全备份操作 2.1.1物理冷备份与恢复 2.1.2mysqldump备份与恢复 2.1.3MySQL增量备份与恢复 #3.1制定企业备份策略的思路 #4.1扩展:MySQL的GTID 4.1.1My…

论文解读 - 统一的多模态理解和生成模型综述(上)

一、 简要介绍 近年来,多模态理解模型和图像生成模型都取得了显著的进步。尽管各自取得了成功,这两个领域却独立发展,形成了独特的架构范式:基于自回归的架构主导了多模态理解,而基于扩散的模型则成为图像生成的基石…

核心机制:TCP 断开连接(四次挥手)

断开连接的四次挥手,可能是客户端主动发起的,也可能是服务端主动发起的 而三次握手,一定是客户端先发起的(倒果为因)(先发起的一方定义为客户端) 1.客户端告诉服务器,我要和你断开连接,请你把我删了 2.服务器回应"收到" 3.服务器告诉客户端,我也要和你断开连接,请…

WEBSTORM前端 —— 第3章:移动 Web —— 第3节:移动适配

目录 一、移动Web基础 1.谷歌模拟器 2.屏幕分辨率 3.视口 4.二倍图 二、适配方案 三、rem 适配方案 四、less 1.less – 简介 2.less – 注释 3.less – 运算 4.less – 嵌套 5.less – 变量 6.less – 导入 7.less – 导出 8.less – 禁止导出 五…

【笔记】MSYS2 安装 Python 构建依赖记录Cython + Ninja + Meson + meson-python

#工作记录 📌 安装目标 为构建 Python C 扩展(如 numpy)安装必要依赖: CythonNinjaMeson meson-python ✅ 成功安装命令 pacman -S mingw-w64-x86_64-cython pacman -S mingw-w64-x86_64-ninja pacman -S mingw-w64-x86_64-me…

【染色归一化】staintools工具详讲

staintools工具原代码是没有GPU加速的,代码链接 运行速度较慢,因此,github上有研究者写了pytorch加速版本的staintools 本篇主要讲GPU加速版本的staintools工具的使用教程。 1.背景 目前的公开数据库中的WSI是由不同研究机构制作上传的,这导致WSI有很大的颜色差别,例如:…

历年中山大学计算机保研上机真题

历年中山大学计算机保研上机真题 2025中山大学计算机保研上机真题 2024中山大学计算机保研上机真题 2023中山大学计算机保研上机真题 在线测评链接:https://pgcode.cn/school 不连续1的子串 题目描述 给定一个数字 n n n,输出长度为 n n n 的 01…

历年山东大学计算机保研上机真题

历年山东大学计算机保研上机真题 2025山东大学计算机保研上机真题 2024山东大学计算机保研上机真题 2023山东大学计算机保研上机真题 在线测评链接:https://pgcode.cn/school 从1到100找质数 题目描述 从 1 1 1 到 100 100 100 中找出所有的质数。 输入格式 …

殷咏梅教授:OptiTROP-Breast05亮相2025 ASCO,中国原创TROP2 ADC为mTNBC一线治疗带来新希望

引言 抗体药物偶联物(ADC)以其精准杀伤特性,已成为乳腺癌治疗领域的探索热点。近年来,在全球ADC研发赛道中,中国的ADC力量正逐步崛起,乳腺癌领域首个中国原研、国际品质的TROP2 ADC芦康沙妥珠单抗脱颖而出&…

02.上帝之心算法用GPU计算提速50倍

本文介绍了上帝之心的算法及其Python实现,使用Python语言的性能分析工具测算性能瓶颈,将算法最耗时的部分重构至CUDA C语言在纯GPU上运行,利用GPU核心更多并行更快的优势显著提高算法运算速度,实现了结果不变的情况下将耗时缩短五…

latex 三线表-算法对比表

效果 导入包 \usepackage{booktabs} \usepackage{multirow}表格 \begin{table}[t]\caption{\textbf{Comparison of test results of various algorithms}\label{tab}}\centering\begin{tabular}{ccccc}\toprule\multirow{2}{*}{Algorithms} & \multirow{2}{*}{mAP} &…

蓝桥云课ROS学习C++教程cpp-geeksforgeeks版本

教程 网上教程很多&#xff0c;都可以在蓝桥云课ROS中复习。 #include <bits/stdc.h> using namespace std;int main() {// Creating a map of integer keys// and string valuesmap<int, string> m {{1, "Geeks"},{2,"For"}, {3,"Geek…

rtos,什么意思

RTOS,它的全称是 Real-Time Operating System,中文我们通常称之为“实时操作系统”。 让我们把这个词拆解开来,细细品味: Operating System (操作系统 - OS): 你肯定熟悉我们日常用的 Windows、Linux (桌面版或服务器版)、macOS 等。这些都是操作系统。它们的核心作用是什…

研读论文《Attention Is All You Need》(13)

原文 26 4 Why Self-Attention In this section we compare various aspects of self-attention layers to the recurrent and convolutional layers commonly used for mapping one variable-length sequence of symbol representations ( x 1 , ⋯ , x n ) (x_1,\cdots,x_…

智能体时代的数据安全:企业如何平衡效率与风险

数据来源&#xff1a;企业网D1net 智能体时代的数据安全&#xff1a;企业如何平衡效率与风险&#xff1f; 在数字化转型浪潮中&#xff0c;智能体&#xff08;Autonomous AI Agents&#xff09;正成为企业提升效率的利器。这些能够自主执行任务、分析数据并做出决策的AI系统&…

从模式到架构:Java 工厂模式的设计哲学与工程化实践

一、工厂模式概述 &#xff08;一&#xff09;定义与核心思想 工厂模式&#xff08;Factory Pattern&#xff09;是软件开发中常用的创建型设计模式&#xff0c;其核心思想是将对象的创建过程封装起来&#xff0c;通过工厂类来统一管理对象的创建逻辑。这种模式分离了对象的创…

Torch 和 CUDA 版本不兼容

原因解释 参考&#xff1a;https://stackoverflow.com/questions/76678846/pytorch-version-for-cuda-12-2 nvcc CUDA Toolkit 12.6 Downloads | NVIDIA Developer nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2024 NVIDIA Corporation Built on Fri_Jun_14_…

第九天:java注解

注解 1 什么是注解&#xff08;Annotation&#xff09; public class Test01 extends Object{//Override重写的注解Overridepublic String toString() {return "Test01{}";} }2 内置注解 2.1 Override Override重写的注解 Override public String toString() {ret…