DukeDuke
主页
项目文档
技术文档
  • 单机版
  • 微服务
  • 代办项目
  • 优鲜项目
项目管理
关于我们
主页
项目文档
技术文档
  • 单机版
  • 微服务
  • 代办项目
  • 优鲜项目
项目管理
关于我们
  • 技术文档

    • 网络原理

      • 交换机
      • 路由器
      • TCP/IP协议
      • HTTP 与 HTTPS
    • 软件架构

      • 什么是软件架构
      • 分层架构
      • 微服务架构
      • 事件驱动架构
      • 领域驱动设计(DDD)
      • 架构图
      • 高并发系统
    • Vue3

      • Vue3简介
      • Vue3响应式系统
      • Vue3组合式API
      • Vue3生命周期
      • Vue3模板语法
      • Vue3组件系统
      • Vue3 路由系统
      • Vue3 状态管理
      • Vue3 性能优化
      • Vue3 TypeScript 支持
      • Vue3 项目实战
      • VUE 面试题大全
      • Node.js 安装
    • JAVA

      • JVM

        • 认识JVM
        • JVM类加载器
        • 运行时数据区
        • 执行引擎
        • 本地方法接口
        • 本地方法库
        • JVM垃圾回收
        • JVM性能监控
        • JVM调优
      • 设计模式
        • 单例模式
        • 工厂模式
        • 策略模式
        • 适配器模式
        • 建造者模式
        • 原型模式
        • 装饰器模式
        • 代理模式
        • 外观模式
        • 享元模式
        • 组合模式
        • 桥接模式
      • Java多线程

        • Java 线程基础详解
        • Java 线程池详解
        • Java ThreadLocal 详解
        • Java volatile 详解
        • Java 线程间通信详解
        • Java 线程安全详解
        • Java 线程调度详解
        • Java 线程优先级详解

        • Java 线程中断详解
        • Java 线程死锁详解
      • Java反射
      • Java 面试题

        • Java 基础概念面试题
        • Java 面向对象编程面试题
        • Java 集合框架面试题
        • Java 多线程与并发面试题
        • JVM 与内存管理面试题
        • Java I/O 与 NIO 面试题
        • Java 异常处理面试题
        • Java 反射与注解面试题
        • Java Spring 框架面试题
        • Java 数据库与 JDBC 面试题
        • Java 性能优化面试题
        • Java 实际项目经验面试题
        • Java 高级特性面试题
        • Java 面试准备建议
    • Python

      • Python简介
      • Python安装
      • Python hello world
      • Python基础语法
      • Python数据类型
      • Python数字
      • Python字符串
      • Python列表
      • Python元组
      • Python字典
      • Python日期时间
      • Python文件操作
      • Python异常处理
      • Python函数
      • Python类
      • Python模块
      • Python包
      • Python多线程
      • Python面向对象
      • Python爬虫
      • Django web框架
      • Python 面试题

        • Python 面试题导航
        • Python 基础概念
        • Python 面向对象编程
        • Python 数据结构
        • Python 高级特性
        • Python 框架
        • Python 性能优化
        • Python 项目经验
    • Spring

      • Spring
      • Springboot
      • Spring Security 安全框架
      • SpringBoot 中的事件详解
      • SpringBoot 中的定时任务详解
      • SpringBoot 自动装配原理与源码解释
    • Mybatis

      • Mybatis
      • Mybatis-Plus
    • 数据库

      • Redis

        • Redis简介
        • Redis(单机)安装
        • Redis配置
        • Redis数据结构
        • RDB、AOF 和混合持久化机制
        • Redis内存管理
        • Redis缓存一致性
        • Redis缓存穿透
        • Redis缓存击穿
        • Redis缓存雪崩
        • Redis Lua脚本
        • Redis主从复制
        • Redis哨兵模式
        • Redis集群
        • Redis数据分片
        • Redis CPU使用率过高
        • Redis面试题
      • MySQL

        • MySQL简介
        • MySQL安装
        • MySQL配置
        • MYSQL日常维护
        • MYSQL优化-慢查询
        • MYSQL优化-索引
        • MYSQL数据库设计规范
    • 消息队列

      • RocketMQ
      • Kafka
      • RabbitMQ
      • 消息队列面试题
    • 微服务

      • SpringCloud 微服务
      • Eureka 注册中心
      • Nacos 注册中心
      • Gateway 网关
      • Feign 服务调用
      • Sentinel 限流 与 熔断
      • Seata 分布式事务
      • CAP 理论
      • Redis 分布式锁
      • 高并发系统设计
    • ELK日志分析系统

      • Elasticsearch 搜索引擎
      • Logstash 数据处理
      • Kibana 可视化
      • ELK 实战
    • 开放API

      • 开放API设计
      • 开放API示例项目
    • 人工智能

      • 人工智能简介
      • 机器学习

      • 深度学习

      • 自然语言处理

      • 计算机视觉

        • CUDA与cuDNN详细安装
        • Conda 安装
        • Pytorch 深度学习框架
        • yolo 目标检测
        • TensorRT 深度学习推理优化引擎
        • TensorFlow 机器学习
        • CVAT 图像标注
        • Windows 下安装 CUDA、cuDNN、TensorRT、TensorRT-YOLO 环境
        • Windows10+CUDA+cuDNN+TensorRT+TensorRT-YOLO 部署高性能YOLO11推理
    • 大数据

      • 大数据简介
      • Hadoop 数据存储
      • Flume 数据采集
      • Sqoop 数据导入导出
      • Hive 数据仓库
      • Spark 数据处理
      • Flink 数据处理
      • Kafka 数据采集
      • HBase 数据存储
      • Elasticsearch 搜索引擎
    • 图像处理

      • 图像处理简介
      • 医学图像web呈现
      • 医学图像处理
      • 切片细胞分离问题
    • 服务器&运维

      • Linux 系统

        • Linux 系统管理
        • Linux 网络管理
        • Linux 文件管理
        • Linux 命令大全
      • Nginx Web 服务器

        • Nginx 安装 与 配置
        • Nginx 负载均衡
        • Nginx SSL证书配置
        • Nginx Keepalived 高可用
      • Docker 容器

        • Docker 简介
        • Docker 安装与配置
        • Docker 命令
        • Docker 部署 Nginx
        • Docker 部署 MySQL
        • Docker 部署 Redis
      • 服务器

        • 塔式服务器
        • 机架式服务器
        • 刀片服务器
      • Git 版本控制
      • Jenkins 持续集成
      • Jmeter 性能测试
      • Let's Encrypt 免费SSL证书
    • 简历

      • 项目经理简历
      • 开发工程师简历

Windows 下安装 CUDA、cuDNN、TensorRT、TensorRT-YOLO 环境搭建

简介

这套环境是专门为深度学习计算机视觉任务设计的完整解决方案,特别针对 YOLO 目标检测模型的优化部署,能够显著提升推理性能并支持实时应用。各组件的作用如下:

整体价值

这套环境组合能够:

  • 加速模型推理:相比 CPU 推理,GPU 加速可提升 10-100 倍性能
  • 降低延迟:实时目标检测应用的关键需求
  • 优化资源利用:通过 TensorRT 优化,减少内存占用和功耗
  • 支持实时应用:适用于视频监控、自动驾驶、机器人视觉等场景
  • 简化部署:提供完整的端到端解决方案

CUDA 安装

简介

CUDA 介绍

CUDA(Compute Unified Device Architecture)是 NVIDIA 开发的并行计算平台和编程模型,用于利用 NVIDIA GPU 的并行计算能力,它允许开发者使用类似于 C 语言的编程语言编写并行程序,利用 GPU 的大规模并行计算能力加速各种类型的应用程序,包括科学计算、深度学习、图形渲染。

查看显卡信息

在命令提示符中,输入 nvidia-smi 命令:

HSV

信息类别实际数值描述重要性
GPU 型号NVIDIA GeForce RTX 4060显卡具体型号决定 CUDA 支持版本和计算能力
GPU 索引0GPU 设备标识符多 GPU 系统中的设备识别
驱动版本551.61NVIDIA 显卡驱动程序版本影响 CUDA 兼容性和稳定性
CUDA 版本12.4当前安装的 CUDA 工具包版本决定支持的深度学习框架版本
显存总量8188 MiB (约 8GB)GPU 总显存容量影响模型大小和批处理能力
显存使用率1108 MiB / 8188 MiB (约 13.5%)当前显存使用情况监控 GPU 资源利用情况
GPU 利用率4%GPU 计算核心使用率评估 GPU 工作负载
温度59°CGPU 当前运行温度监控硬件健康状况
功耗限制115WGPU 最大功耗限制评估能耗和散热需求
风扇转速0%GPU 风扇转速百分比监控散热系统状态
性能状态P8GPU 当前性能模式评估 GPU 工作状态
显示模式WDDMWindows 显示驱动模型影响图形和计算性能
总线 ID00000000:01:00.0PCI 总线标识符硬件连接识别
显示状态On显示器连接状态影响 GPU 资源分配

CUDA 下载

根据以上信息支持最高 CUDA12.4 版本,所以我们去官网下载对应的 CUDA Toolkit 版本或者低一两个版本。

HSV

进去后选择自己需要的类型下载

HSV

安装

HSV

这里的这个路径最好不要去修改,就使用默认路径,这里只是下载安装包的临时存放路径

HSV

同意并继续

HSV

选择自定义安装,精简版本是下载好所有组件,并且会覆盖原有驱动,所以在这里推荐自定义下载然后选择下一步

HSV

如果你是第一次安装,尽量全选 如果你是第 n 次安装,尽量只选择第一个,不然会出现错误 更改安装位置(可根据自己需求,如果以后想装多版本 CUDA,建议更改安装位置) 然后下一步

HSV

选择下一步,就开始安装了。安装完成后验证是否安装成功

打开命令提示符(CMD),输入:nvcc -V

HSV

出现以上信息这说明CUDA Toolkit已经安装成功!!!

安装 cuDNN

简介

cuDNN 介绍

cuDNN(CUDA Deep Neural Network library)是 NVIDIA 专门针对深度学习应用开发的 GPU 加速库。它提供了一系列高效的深度学习算法的实现,包括卷积神经网络(CNN)、循环神经网络(RNN)等常用网络结构的基本操作,如卷积、池化、归一化、激活函数等。cuDNN 针对 NVIDIA GPU 进行了高度优化,利用 GPU 的并行计算能力加速深度学习模型的训练和推理过程。通过使用 cuDNN,开发者可以轻松地将深度学习模型部署到支持 CUDA 的 NVIDIA GPU 上,并获得显著的性能提升。

下载

选择与 CUDA 版本匹配的 cuDNN 下载(如 cuDNN for CUDA 12.x)

HSV

解压下载好的安装文件 cuDNN 压缩包(如 cudnn-windows-x86_64-8.9.6.50_cuda12-archive.zip)

HSV

将解压后的文件复制到 CUDA 安装目录:

  • CUDA的默认的安装路径: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4

  • 复制下面三个文件夹到 CUDA 中

HSV

验证安装

进入 CUDAC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\extras\demo_suite文件夹,然后执行deviceQuery.exe

HSV

如果结果为 pass 证明安装成功

HSV

Anaconda 安装

Anaconda 介绍

Anaconda 是一个开源的包管理系统和环境管理系统,可以在 Windows、macOS 和 Linux 等多个操作系统上使用。在 Python 应用程序中,Anaconda 以其快速安装、运行和更新软件包及其依赖项的能力而闻名。本文将介绍如何在 Windows 中安装和使用 Anaconda

下载安装包

  1. 下载地址:Anaconda 官网

  2. 选择下载:

    HSV

  3. 安装 Anaconda

    • 双击下载的安装包

    • 点击“Next”开始安装

    • 选择安装路径(根据自己情况选择)

    • 勾选 Add Anaconda to my PATH environment variable(推荐)

    • 勾选 Register Anaconda as my default Python 3.x

    • 点击“Install”开始安装

  4. 验证安装

在 cmd 命令提示符中输入命令conda --version,出现一下版本号则说明安装成功

HSV

  1. 创建环境
conda create --name tensor python=3.10

创建名称为 tensor python=3.10 的 conda 环境,为后续环境中安装 TensorRT 和 TensorRT-YOLO 做准备

安装 Pytorch

简介

PyTorch 是一个开源的深度学习框架,简单来说就是一套工具,让我们能够更容易地构建和训练人工智能模型。就像搭积木一样,PyTorch 提供了各种"积木块",我们可以用它们来搭建复杂的神经网络。

下载

我的 CUDA 版本是: 12.4,然后去pytorch 官网获取对应的版本链接

安装

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

安装 TensorRT

简介

TensorRT 介绍

TensorRT 是 NVIDIA 开发的一个深度学习推理优化库,简单来说就是让你的 AI 模型跑得更快、更省电的工具。

下载

根据 CUDA 版本下载对应的 NVIDIA TensorRT

HSV

CUDA 12 以上基本选择 TensorRT 10

HSV

勾选同意,就会有很多版本选择,然后在去找 CUDA12.4 支持的 TensorRT 版本(一定要对应)

HSV

安装

解压 TensorRT-10.1.0.27.Windows.win10.cuda-12.4.zip

HSV

从解压好的文件夹中复制文件到 CUDA 安装目录中C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4

序号所需复制文件来源目标
1TensorRT-10.1.0.27\bin\trtexec.exeTensorRT-10.1.0.27\binC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin
2TensorRT-10.1.0.27\include\include 下的所有文件TensorRT-10.1.0.27\includeC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\include
3TensorRT-10.1.0.27\lib 下的所有 lib 文件TensorRT-10.1.0.27\libC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\lib\x64
4TensorRT-10.1.0.27\lib 下的所有 dll 文件TensorRT-10.1.0.27\libC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\lib

检查一下环境变量中是否都包含刚刚复制的那三个文件夹

HSV

验证安装

在 cmd 使用trtexec --help命令 验证是否系统环境中安装成功,出现以下信息说明安装成功,没有出现检查环境变量是否包含上图的配置

HSV

使用

  1. 模型转换

HSV

将 onnx 模型文件转成 TensorRT 推理引擎

trtexec --onnx=xxx.onnx --saveEngine=xxx.engine --fp16

参数解释

--fp16 开启 float16 精度的推理(推荐此模式,一方面能够加速,另一方面精度下降比较小)

--int8 开启 int8 精度的推理(不太推荐,虽然更快,但是精度下降太厉害了)

--onnx onnx 路径

--saveEngine 执行计划(推理引擎)序列化地址

执行指令后,出现以下信息则说明成功

HSV

环境安装 TensorRT(项目运行环境安装 TensorRT)

  1. 进入 TensorRT-10.1.0.27\python

HSV

  1. 激活 Python 环境管理系统

    打开 cmd 窗口 激活指令 conda activate tensor

HSV

  1. 安装.whl 文件

TensorRT-10.1.0.27\python\tensorrt-10.1.0-cp310-none-win_amd64.whl

作用:TensorRT 的主 Python 库,提供推理优化功能(如层融合、精度校准、动态张量支持)。

版本注意:需根据 Python 版本(如 cp310 表示 Python 3.10)和系统架构选择对应的文件。

pip install tensorrt-10.1.0-cp310-none-win_amd64.whl

如果安装慢可采用清华源

pip install tensorrt-10.1.0-cp310-none-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

出现以下则说明安装成功

HSV

  1. 环境验证是否安装成功

HSV

没有输任何信息就说明环境中 TensorRT 安装成功了,如输出错误信息,根据错误提示修改安装

安装编译 TensorRT-YOLO

简介

TensorRT-YOLO 介绍

TensorRT-YOLO 是一个基于 NVIDIA TensorRT 优化的 YOLO 目标检测模型推理框架,专门为高性能实时目标检测应用而设计。它结合了 YOLO 系列模型的优秀检测能力和 TensorRT 的强大推理优化能力,能够在 NVIDIA GPU 上实现超低延迟、高精度的目标检测。

核心特性:

  • 高性能推理:通过 TensorRT 优化,相比原始 PyTorch 模型提升 3-10 倍推理速度
  • 多精度支持:支持 FP32、FP16、INT8 多种精度模式,平衡速度和精度需求
  • 实时处理:支持 30+ FPS 的实时视频流处理,适用于监控、自动驾驶等场景
  • 模型兼容:支持 YOLOv5、YOLOv7、YOLOv8 等多种 YOLO 模型版本
  • 易于部署:提供完整的模型转换、优化、部署工具链
  • 跨平台支持:支持 Windows、Linux 等多种操作系统

技术架构:

  • 模型转换:将 PyTorch/ONNX 格式的 YOLO 模型转换为 TensorRT 引擎
  • 推理优化:利用 TensorRT 的层融合、内存优化、并行计算等技术
  • 后处理优化:针对 YOLO 的 NMS 后处理进行 GPU 加速优化
  • 内存管理:智能显存分配和释放,支持多模型并行推理

环境准备

环境依赖说明

在开始编译 TensorRT-YOLO 之前,需要确保所有必要的依赖环境都已正确安装。这些依赖的版本兼容性直接影响编译成功率和最终性能。

确保已安装以下依赖:

  • CUDA(与 TensorRT 版本匹配,如 TensorRT 10.x 需要 CUDA 12.x)

    • 作用:提供 GPU 并行计算能力,是 TensorRT 优化的基础
    • 验证:使用 nvcc -V 命令检查版本
  • cuDNN(与 CUDA 版本匹配)

    • 作用:提供深度学习算法的 GPU 加速库,优化卷积、池化等操作
    • 验证:使用 deviceQuery.exe 命令检查安装状态
  • TensorRT(10.x 版本)

    • 作用:提供模型优化和推理加速功能
    • 验证:使用 trtexec --help 命令检查系统环境安装
    • 环境验证:在 Python 环境中导入 import tensorrt 检查
  • 构建工具: CMake

    • 作用:跨平台构建系统,用于生成编译配置文件
    • 版本要求:建议使用 CMake 3.18 或更高版本
  • Windows: MSVC

    • 作用:Microsoft Visual C++ 编译器,用于 Windows 平台代码编译
    • 版本要求:建议使用 Visual Studio 2019 或 2022

下载安装

版本兼容性警告

TensorRT-YOLO 对 CUDA、cuDNN、TensorRT 的版本兼容性要求非常严格。版本不匹配可能导致编译失败或运行时错误。建议严格按照官方文档的版本对应关系进行安装。

官方 TensorRT-YOLO 下载安装文档

一定要注意环境要求,以及 CUDA、cuDNN、TensorRT 的版本对应关系

版本对应关系参考

TensorRT 版本CUDA 版本cuDNN 版本推荐 Python 版本
TensorRT 10.xCUDA 12.xcuDNN 8.9+Python 3.8-3.11
  1. 克隆 TensorRT-YOLO 仓库
git clone https://github.com/laugh12321/TensorRT-YOLO.git
  1. 编译
  • 激活 tensor 环境
conda activate tensor
  • 进入 TensorRT-YOLO
cd TensorRT-YOLO
  • 安装 CMake 构建工具
pip install CMake
  • 安装 pybind11,用于生成 Python 绑定
pip install "pybind11[global]"
  • 构建 TensorRT-YOLO 安装包
cmake -S . -B build -D TRT_PATH=E:\\TensorRT-10.1.0.27 -D BUILD_PYTHON=ON -D CMAKE_INSTALL_PREFIX=E:\\TensorRT-YOLO

HSV

执行构建语句报错 CUDA 或者编译失败时检查 CUDA 版本或者 Visual Studio 是否符合环境


如遇到 No CUDA toolset found. :

HSV

解决方法: 将CUDA中的文件复制到Microsoft Visual Studio中 HSVHSV


如遇到以下问题:

HSV

方案一: 降低 CMake 版本

首先要卸载已经安装的 CMake


pip install CMake==3.24.0

方案二: 降低 Visual Studio 版本

我是两个 Visual Studio 版本都安装了,下面是指定了 Visual Studio 2019 版本

cmake -S . -B build -G "Visual Studio 16 2019" -A x64 -D TRT_PATH="C:\Program Files\NVIDIA GPU Computing Toolkit\TensorRT\v8.6.1.6" -D BUILD_PYTHON=ON -D CMAKE_INSTALL_PREFIX="E:\TensorRT-YOLO-6.3.0"
  • 编译安装包
cmake --build build -j8 --config Release --target install

HSV

  • 环境配置 将 TensorRT-YOLO 将如到系统环境变量中

  • 安装到环境

pip install --upgrade build
python -m build --wheel
pip install dist/tensorrt_yolo-6.*-py3-none-any.whl
pip install dist/tensorrt_yolo-6.*-py3-none-any.whl[export]

至此 TensorRT-YOLO 的编译安装就完成了

最近更新:: 2025/10/13 11:30
Contributors: Duke
Prev
CVAT 图像标注
Next
Windows10+CUDA+cuDNN+TensorRT+TensorRT-YOLO 部署高性能YOLO11推理