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 命令:

| 信息类别 | 实际数值 | 描述 | 重要性 |
|---|---|---|---|
| GPU 型号 | NVIDIA GeForce RTX 4060 | 显卡具体型号 | 决定 CUDA 支持版本和计算能力 |
| GPU 索引 | 0 | GPU 设备标识符 | 多 GPU 系统中的设备识别 |
| 驱动版本 | 551.61 | NVIDIA 显卡驱动程序版本 | 影响 CUDA 兼容性和稳定性 |
| CUDA 版本 | 12.4 | 当前安装的 CUDA 工具包版本 | 决定支持的深度学习框架版本 |
| 显存总量 | 8188 MiB (约 8GB) | GPU 总显存容量 | 影响模型大小和批处理能力 |
| 显存使用率 | 1108 MiB / 8188 MiB (约 13.5%) | 当前显存使用情况 | 监控 GPU 资源利用情况 |
| GPU 利用率 | 4% | GPU 计算核心使用率 | 评估 GPU 工作负载 |
| 温度 | 59°C | GPU 当前运行温度 | 监控硬件健康状况 |
| 功耗限制 | 115W | GPU 最大功耗限制 | 评估能耗和散热需求 |
| 风扇转速 | 0% | GPU 风扇转速百分比 | 监控散热系统状态 |
| 性能状态 | P8 | GPU 当前性能模式 | 评估 GPU 工作状态 |
| 显示模式 | WDDM | Windows 显示驱动模型 | 影响图形和计算性能 |
| 总线 ID | 00000000:01:00.0 | PCI 总线标识符 | 硬件连接识别 |
| 显示状态 | On | 显示器连接状态 | 影响 GPU 资源分配 |
CUDA 下载
根据以上信息支持最高 CUDA12.4 版本,所以我们去官网下载对应的 CUDA Toolkit 版本或者低一两个版本。

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

安装

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

同意并继续

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

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

选择下一步,就开始安装了。安装完成后验证是否安装成功
打开命令提示符(CMD),输入:nvcc -V

出现以上信息这说明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)

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

将解压后的文件复制到 CUDA 安装目录:
CUDA的默认的安装路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4复制下面三个文件夹到 CUDA 中

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

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

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

安装 Anaconda
双击下载的安装包
点击“Next”开始安装
选择安装路径(根据自己情况选择)
勾选 Add Anaconda to my PATH environment variable(推荐)
勾选 Register Anaconda as my default Python 3.x
点击“Install”开始安装
验证安装
在 cmd 命令提示符中输入命令conda --version,出现一下版本号则说明安装成功

- 创建环境
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

CUDA 12 以上基本选择 TensorRT 10

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

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

从解压好的文件夹中复制文件到 CUDA 安装目录中C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4
| 序号 | 所需复制文件 | 来源 | 目标 |
|---|---|---|---|
| 1 | TensorRT-10.1.0.27\bin\trtexec.exe | TensorRT-10.1.0.27\bin | C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin |
| 2 | TensorRT-10.1.0.27\include\include 下的所有文件 | TensorRT-10.1.0.27\include | C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\include |
| 3 | TensorRT-10.1.0.27\lib 下的所有 lib 文件 | TensorRT-10.1.0.27\lib | C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\lib\x64 |
| 4 | TensorRT-10.1.0.27\lib 下的所有 dll 文件 | TensorRT-10.1.0.27\lib | C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\lib |
检查一下环境变量中是否都包含刚刚复制的那三个文件夹

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

使用
- 模型转换

将 onnx 模型文件转成 TensorRT 推理引擎
trtexec --onnx=xxx.onnx --saveEngine=xxx.engine --fp16
参数解释
--fp16 开启 float16 精度的推理(推荐此模式,一方面能够加速,另一方面精度下降比较小)
--int8 开启 int8 精度的推理(不太推荐,虽然更快,但是精度下降太厉害了)
--onnx onnx 路径
--saveEngine 执行计划(推理引擎)序列化地址
执行指令后,出现以下信息则说明成功

环境安装 TensorRT(项目运行环境安装 TensorRT)
- 进入 TensorRT-10.1.0.27\python

激活 Python 环境管理系统
打开 cmd 窗口 激活指令
conda activate tensor

- 安装.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
出现以下则说明安装成功

- 环境验证是否安装成功

没有输任何信息就说明环境中 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 的版本兼容性要求非常严格。版本不匹配可能导致编译失败或运行时错误。建议严格按照官方文档的版本对应关系进行安装。
一定要注意环境要求,以及 CUDA、cuDNN、TensorRT 的版本对应关系
版本对应关系参考
| TensorRT 版本 | CUDA 版本 | cuDNN 版本 | 推荐 Python 版本 |
|---|---|---|---|
| TensorRT 10.x | CUDA 12.x | cuDNN 8.9+ | Python 3.8-3.11 |
- 克隆 TensorRT-YOLO 仓库
git clone https://github.com/laugh12321/TensorRT-YOLO.git
- 编译
- 激活 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

执行构建语句报错 CUDA 或者编译失败时检查 CUDA 版本或者 Visual Studio 是否符合环境
如遇到 No CUDA toolset found. :

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

如遇到以下问题:

方案一: 降低 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

环境配置 将 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 的编译安装就完成了
