【笔记】Windows 安装 TensorRT 10.13.3.9(适配 CUDA 13.0,附跨版本 CUDA 调用维护方案)
实操笔记 | Windows 安装 TensorRT 10.13.3.9(适配 CUDA 13.0,含跨版本 CUDA 调用维护示例)—— 系统 CUDA 13.0 与虚拟环境 CUDA 12.8 版本差异时,TensorRT 调用维护实例详见附录
本文针对 TensorRT-10.13.3.9.Windows.win10.cuda-13.0.zip
,结合实际操作截图,从“解压-配置-验证”全流程拆解步骤,解决官方文档模糊问题,新手也能按图完成安装。
一、前期准备:确认依赖与文件
CUDA & cuDNN 安装
好消息,最新CUDA和cuDNN安装,俩都可以用exe安装包直装了 CUDA12.6.3和cuDNN9.6.0 Windows系统 省事
是否需要预先安装 CUDA Toolkit?——按使用场景分级推荐及进阶说明
CUDA 与 cuDNN 免登录下载政策详解(基于官方权威信息)
NVIDIA CUDA 13.0 发布:新特性与快捷更新安装全解析
CUDA 13.0 适配的 cuDNN 9.11 发布:网页内容速览
CUDA 深度神经网络 (cuDNN) |NVIDIA 开发人员
安装 CUDA 13 后 ONNX Runtime 报错“Failed to create CUDAExecutionProvider” 的完整修复方案——附 CMD & PowerShell 一
1. 必装依赖(版本必须匹配)
依赖项 | 版本要求 | 作用说明 |
---|---|---|
NVIDIA 显卡驱动 | 支持 CUDA 13.0 | 确保 GPU 能正常调用 CUDA 核心 |
CUDA Toolkit | 13.0(含 Update 1) | TensorRT 运行的底层计算框架 |
cuDNN | 8.9.7(适配 CUDA 13.0) | 加速深度学习任务的 GPU 优化库 |
Python(可选) | 3.8~3.13(推荐 3.10+) | 用于调用 TensorRT Python 接口 |
验证 CUDA 是否安装成功:打开 命令提示符(CMD),输入
nvcc -V
,若显示 CUDA 13.0 版本信息,说明依赖正常(如图1)。
图1:CUDA 版本验证
2. 下载 TensorRT 压缩包
TensorRT 官方网站
TensorRT SDK |NVIDIA 开发人员
安装 TensorRT — NVIDIA TensorRT 文档
windows安装tensorrt- 知乎
从 NVIDIA 官网下载 TensorRT-10.13.3.9.Windows.win10.cuda-13.0.zip
(需登录 NVIDIA 账户,如图2),保存到电脑下载目录(如 E:\Downloads\Compressed
)。
图2:TensorRT 下载页面(登录后才能选择对应版本)
图3:TensorRT 登录页面
图4:TensorRT 登录验证界面(邮件链接验证)
图5:TensorRT 可用版本页面(选中版本后跳转后续界面)
图6:TensorRT 下载前勾选许可协议界面(需勾选页面中的小框)
图7:TensorRT 下载 系统适配版本列表界面(找到 Zip Packages for Windows)
下载对应 CUDA 的版本
图8:TensorRT-10.13.3.9.Windows.win10.cuda-13.0.zip 压缩包下载中
下载的是 CUDA13.0 版的
二、第一步:解压并移动到目标目录
1. 解压压缩包
右键点击下载的 TensorRT-10.13.3.9.Windows.win10.cuda-13.0.zip
,选择“全部解压缩”,解压路径默认与压缩包同目录(如 E:\Downloads\Compressed
)。
解压后会出现 嵌套目录:E:\Downloads\Compressed\TensorRT-10.13.3.9.Windows.win10.cuda-13.0\TensorRT-10.13.3.9
(如图3),核心文件(lib
/include
/python
)都在最内层的 TensorRT-10.13.3.9
中。
图9:解压后的嵌套目录结构
图9:TensorRT-10.13.3.9.Windows.win10.cuda-13.0.zip 压缩包解压后的嵌套目录结构
2. 手动移动到目标目录
主要考虑到配置环境变量以及后期调用,为避免后续配置路径过长,将最内层的 TensorRT-10.13.3.9
文件夹移动到 根目录或简单路径(如 C:\TensorRT-10.13.3.9
,如图10)。
注意:目标路径不要含中文/空格(如“ C 盘 或 D 盘”),否则后续可能出现“文件找不到”错误。
图10:移动后的目标目录(路径简洁)
图11:TensorRT-10.13.3.9 文件夹解压后的大小(约 1.7 GB)
查看占用空间大小以规划目标空间
三、第二步:配置系统环境变量
环境变量的作用是让 Windows 系统找到 TensorRT 的库文件(.dll
),必须配置正确,否则后续调用会报错。
1. 打开环境变量设置
- 右键点击“此电脑”→ 选择“属性”→ 点击“高级系统设置”(如图12)→ 在弹出窗口中点击“环境变量”。
- 所需的变量除了按本笔记记述的条目外,可按实际项目需求,按需添加目录进环境变量中。
图12:进入“高级系统设置”
2. 添加 TensorRT 路径到 PATH
C
:\TensorRT-10.13.3.9\lib
C:\TensorRT-10.13.3.9\bin
# 其他的路径后续可按开发需要灵活添加
- 在“系统变量”中找到
Path
,双击打开编辑窗口(如图13)→ 点击“新建”→ 粘贴 TensorRT 的lib
目录路径(如 C:\TensorRT-10.13.3.9\lib
)等→ 点击“确定”保存(所有窗口都要点“确定”,否则配置不生效)。
图13:编辑 PATH 环境变量图14:新建变量值
图15:添加
TensorRT-10.13.3.9 相关路径
3. (可选)创建 TENSORRT_PATH 变量
为后续开发方便(如 Visual Studio 配置),可新增一个系统变量:
- 在“系统变量”中点击“新建”→ 变量名填
TENSORRT_PATH
,变量值填 TensorRT 根目录(如 C:\TensorRT-10.13.3.9
,如图16)→ 点击“确定”。
图16:创建 TENSORRT_PATH 变量
四、第三步:安装 Python 接口(可选,常用场景)
若需用 Python 调用 TensorRT(如 PyTorch/TensorFlow 模型推理),需安装对应版本的 wheel 包。
1. 确认 Python 版本
打开 CMD,输入 python --version
,查看当前 Python 版本(如 Python 3.12.11
,如图17),后续需选择对应 cp310
后缀的 wheel 文件。
图17:查看 Python 版本
2. 进入 TensorRT 的 python 目录
在需要配置 TensorRT 的虚拟环境中,激活环境终端(以 CMD 为例)后 ,通过 cd
命令切换到 TensorRT 的 python
文件夹(如 C:\TensorRT-10.13.3.9\python
),输入命令:
cd /d C:\TensorRT-10.13.3.9\python
或者复制 .whl 文件到项目文件夹内,从本地进行安装。
注:“
/d”参数
用于跨盘切换路径(如从 C 盘切换到 E 盘),若路径在同盘可省略。也可以把
C:\TensorRT-10.13.3.9\python 文件夹备份在其他位置以节省 C 盘空间
图18:确认安装文件(3个版本可选,具体选择建议请继续往下看)
3. 安装 wheel 包
根据 Python 版本选择对应的 wheel 文件(如 Python 3.10 对应 tensorrt-10.13.3.9-cp310-none-win_amd64.whl
),输入安装命令:
python -m pip install tensorrt-10.13.3.9-cp312-none-win_amd64.whl
若需安装精简版(lean) 或调度版(dispatch),替换命令为:
# 精简版(仅核心推理功能,体积小)
python -m pip install tensorrt_lean-10.13.3.9-cp312-none-win_amd64.whl# 调度版(支持动态调度,适合多环境)
python -m pip install tensorrt_dispatch-10.13.3.9-cp312-none-win_amd64.whl
安装成功后会显示“Successfully installed…”(如图19)。
图19:Python 接口安装成功
五、第四步:验证安装(关键步骤,确保可用)
1. 验证 Python 接口
打开 CMD,输入 python
进入 Python 交互环境,执行以下代码:
import tensorrt as trt
# 1. 检查版本(应输出 10.13.3.9)
print("TensorRT 版本:", trt.__version__)
# 2. 验证 CUDA 可用性(无报错则正常)
logger = trt.Logger(trt.Logger.WARNING)
builder = trt.Builder(logger)
print("Builder 创建成功,CUDA 环境正常!")
若输出如图20所示,说明 Python 接口安装成功。
图20:Python 接口验证成功
2. 验证 C++ 库(含 trtexec 工具)
trtexec
是 TensorRT 自带的命令行工具,可快速验证 C++ 库是否生效,同时支持模型引擎构建、性能测试等功能。结合你的实际执行结果,需重点澄清 “FAILED
提示的本质”—— 它并非安装失败,而是工具在无模型时的默认反馈,以下补充最基础的 --version
验证命令,并梳理完整验证流程:
(1)最基础验证:用 --version
确认版本读取正常
这是最简单的验证命令,直接检查 trtexec
是否能识别 TensorRT 版本:
-
执行命令:在激活虚拟环境的 CMD 中,输入
trtexec.exe
的完整路径(示例的安装目录为C:\TensorRT-10.13.3.9
):验证命令之一
C:\TensorRT-10.13.3.9\bin\trtexec.exe --version
-
预期输出与解读:
- 成功标志:开头必然显示
&&&& RUNNING TensorRT.trtexec [TensorRT v101303] [b9]
,其中v101303
对应你安装的 TensorRT 10.13.3.9 版本,说明trtexec
已成功加载 TensorRT 核心库,能正常读取版本信息; - 无需关注的 “FAILED”:末尾会出现
[E] Model missing or format not recognized
和&&&& FAILED
,这是工具的固有逻辑 —— 即使仅输入--version
,它仍会默认检查 “是否有模型需要处理”,因无模型可处理而标记 “流程失败”,但核心的 “版本验证” 已完成,与安装是否成功无关。
示例输出(重点标注成功信息):
图21:运行命令后的输出界面图22:运行命令后的输出结束界面(应输出:[
TensorRT v101303
])&&&& RUNNING TensorRT.trtexec [TensorRT v101303] [b9] # C:\TensorRT-10.13.3.9\bin\trtexec.exe --version [09/13/2025-15:04:45] [I] TF32 is enabled by default... # 库加载正常的附加提示 ...(中间为工具帮助文档,无需关注)... [09/13/2025-15:04:45] [E] Model missing or format not recognized # 无模型的流程提示,非错误 &&&& FAILED TensorRT.trtexec [TensorRT v101303] [b9]
- 成功标志:开头必然显示
(2)补充验证:用 --device
确认 GPU 联动正常
GPU 联动验证:--device=0 --skipInference --verbose
确认硬件关联
若想进一步确认 TensorRT 与 GPU、CUDA 13.0 的联动,可在 --version
基础上增加 --device=0
(指定第 1 块 GPU),命令如下:
验证命令之二
C:\TensorRT-10.13.3.9\bin\trtexec.exe --version --device=0
或者以下命令:
这条命令用于验证 TensorRT 与 GPU、CUDA 的联动是否正常,适合在 --version
基础上进一步确认:
验证命令之三
C:\TensorRT-10.13.3.9\bin\trtexec.exe --device=0 --skipInference --verbose
-
参数作用:
--device=0
:指定使用第 1 块 GPU(若只有 1 块,默认即为 0);--skipInference
:跳过推理流程(减少无模型时的冗余检查);--verbose
:输出详细日志,包括 GPU 信息。
- 成功标志:仍会先输出
TensorRT v101303
版本信息,且无 “CUDA device not found”“GPU initialization failed” 等错误,说明 TensorRT 已能正常识别 GPU,底层依赖(CUDA、驱动)配置无误。
图23:运行 命令之二 后的输出结束界面(应输出:[TensorRT v101303
])
图24:运行 命令之三 后的输出结束界面(应输出:[TensorRT v101303
])
(3)功能验证:用 “模型处理” 彻底确认工具可用(进阶)
若有简单的 ONNX 模型(如 MNIST 手写数字识别模型 mnist.onnx
),可通过 trtexec
构建推理引擎,这是验证工具完整功能的最直接方式:
- 准备模型:将
mnist.onnx
保存到C:\models
目录(无模型可从 ONNX Model Zoo 下载); - 执行命令:
C:\TensorRT-10.13.3.9\bin\trtexec.exe --onnx=C:\models\mnist.onnx --saveEngine=C:\models\mnist.engine
- 预期结果:
- 命令执行过程中无 “库缺失”“CUDA 错误” 等提示;
- 最终在
C:\models
目录生成mnist.engine
(TensorRT 推理引擎文件); - 输出末尾显示
&&&& PASSED
,示例如下:[09/13/2025-16:35:00] [I] Engine saved to C:\models\mnist.engine &&&& PASSED TensorRT.trtexec [TensorRT v101303] [b9]
- 解读:能成功处理模型并生成引擎,说明
trtexec
工具功能完整,TensorRT C++ 库安装完全正常。
总结:trtexec 验证的核心判断标准
无需纠结末尾是否有 FAILED
,只要满足以下任一条件,即说明 TensorRT C++ 库安装成功:
- 执行
C:\TensorRT-10.13.3.9\bin\trtexec.exe --version
能输出TensorRT v101303
版本信息; - 执行
--version --device=0
无 GPU 相关错误; - 能通过
trtexec
处理 ONNX 模型并生成*.engine
文件,且末尾显示&&&& PASSED
。
当执行前 三 条带 --version
的命令无其他报错输出,或只执行其中 1 条,都基本足以证明 C++ 库加载正常,后续可放心基于 TensorRT 开发~
3. 运行 C++ 示例程序(进阶验证)
验证windows安装tensorrt - 知乎
# 示例程序所在目录
C
:\TensorRT-10.13.3.9\samples\sampleOnnxMNIST
通过 TensorRT 自带的 sampleOnnxMNIST
示例,验证 C++ 开发环境:
-
进入示例目录:C
:\TensorRT-10.13.3.9\samples\sampleOnnxMNIST
,找到sampleOnnxMNIST.sln
(Visual Studio 解决方案文件),用 Visual Studio 2022 打开(如图25)。
图25:打开示例程序解决方案(Visual Studio)图26:点击“打开本地文件夹”选项
图27:进入选择窗口,选择目录 C:\
TensorRT-10.13.3.9
图28:Visual Studio 检测到 CMakeLists.txt 询问是否启用 CMake 支持弹窗(可选启用 CMake 集成)
-
导航到可编译文件:在 Visual Studio 右侧文件夹视图选择“sample_onnx_mnist.sln”(如图29),右键点击 → 选择“重新生成”。
图29:Visual Studio 中 TensorRT-10.13.3.9 目录结构(含示例项目)图30:选择“sample_onnx_mnist.sln”,右键点击 → 选择“重新生成”。
图31:在 Visual Studio 左下角窗口查看生成进度。
图32:生成进度:重新生成:1成功,0失败,0更新,0跳过。
-
运行示例:编译成功后,进入输出目录(如 C
:\TensorRT-10.13.3.9\samples\sampleOnnxMNIST\x64\Release
),双击sampleOnnxMNIST.exe
,若输出“&&& PASSED”(如图33),说明 C++ 环境完全正常。
图33:进入目录运行示例程序图34:示例程序运行成功
六、常见问题解决(实操避坑)
问题现象 | 原因分析 | 解决方法 |
---|---|---|
运行 trtexec 提示“找不到文件” | 环境变量 PATH 未配置,或配置后未重启 CMD | 1. 重新检查 PATH 中是否有 C:\TensorRT-10.13.3.9\lib ;2. 关闭所有 CMD,重新打开 IDE 重试 |
Python 导入 tensorrt 提示“DLL 缺失” | Python 版本与 wheel 包不匹配 | 确认 wheel 包后缀(如 cp310 对应 Python 3.10),重新下载安装匹配版本 |
示例程序编译报错“无法打开 include 文件” | Visual Studio 未配置 TensorRT 路径 | 参考本文“附录:Visual Studio 手动配置”,添加 include 和 lib 路径 |
附录:FaceFusion 配置 TensorRT 加速
本附录聚焦 FaceFusion 跨 CUDA 版本启用 TensorRT 加速的核心配置(含路径配置、环境变量设置),确保 TensorRT 库能被正确识别并稳定生效,适配项目推理加速需求。
(一)核心配置:TensorRT 路径与环境变量(确保加速生效)
FaceFusion 需明确 TensorRT 核心库的路径才能加载其执行器(系统 CUDA13.0,虚拟环境 CUDA 12.8),跨版本配置避免出现「找不到 TensorRT DLL 文件」等错误。
以下提供两种配置方式,可根据使用习惯任选其一。
1. 方式 1:通过 FaceFusion 项目配置文件(facefusion.ini)设置
适用于希望配置跟随项目目录,换环境后无需重新调整路径的场景(推荐团队协作或多环境切换时使用)。
步骤 1:确认 TensorRT 库文件路径
若通过虚拟环境的 .whl
包安装 TensorRT(如 pip install tensorrt-10.0.0-cp312-none-win_amd64.whl
),核心库文件默认存储在虚拟环境的 site-packages
目录下,常见路径有两种(取决于 TensorRT 版本命名):
- 路径 1(主流版本):
F:\PythonProjects\facefusion\.venv\Lib\site-packages\tensorrt\lib
- 路径 2(部分版本命名差异):
F:\PythonProjects\facefusion\.venv\Lib\site-packages\tensorrt_cu12_libs\lib
验证路径有效性:打开上述路径,确认存在 nvinfer.dll
、nvinfer_plugin.dll
、nvonnxparser.dll
这三个 TensorRT 核心库文件(缺一不可)。
步骤 2:修改 / 新建 facefusion.ini
- 在 FaceFusion 项目根目录(
F:\PythonProjects\facefusion
)找到facefusion.ini
文件;若不存在,直接新建一个文本文件并命名为facefusion.ini
。 - 在文件末尾添加以下配置,将
TENSORRT_PATH
替换为你实际的 TensorRT 库路径:ini
[path] # TensorRT 核心库路径(支持相对路径,基于项目根目录;也可写绝对路径,更稳妥) TENSORRT_PATH = .venv\Lib\site-packages\tensorrt_cu12_libs\lib
- 示例(绝对路径写法):
TENSORRT_PATH = F:\PythonProjects\facefusion\.venv\Lib\site-packages\tensorrt\lib
- 示例(相对路径写法):
TENSORRT_PATH = .venv\Lib\site-packages\tensorrt\lib
- 示例(绝对路径写法):
配置作用
该配置会直接告诉 FaceFusion 「去哪里加载 TensorRT 库」,无需依赖系统全局环境变量,避免因路径未暴露导致的加载失败。
图35:配置 facefusion.ini 文件
2. 方式 2:通过虚拟环境激活脚本设置(全局生效,推荐单人使用)
适用于个人开发场景,激活虚拟环境后自动配置 TensorRT 路径,无需每次修改项目配置文件。
原理
虚拟环境的 activate
脚本(activate.bat
或 activate.ps1
)会在激活环境时自动执行。在脚本中添加 TensorRT 路径到系统 PATH
,可确保每次激活环境后,系统都能找到 TensorRT 核心库。
(1)CMD 终端:编辑 activate.bat
- 导航到虚拟环境的
Scripts
目录(存放激活脚本的位置):cd F:\PythonProjects\facefusion\.venv\Scripts
- 用记事本打开
activate.bat
,在文件末尾添加以下内容(替换为你的 TensorRT 库路径)::: -------------------------- TensorRT 环境配置 -------------------------- :: 将 TensorRT 核心库路径添加到系统 PATH,确保 FaceFusion 能加载库文件 set "PATH=F:\PythonProjects\facefusion\.venv\Lib\site-packages\tensorrt\lib;%PATH%" :: (可选)激活时打印提示,确认配置生效 echo [INFO] TensorRT 库路径已添加至系统 PATH:F:\PythonProjects\facefusion\.venv\Lib\site-packages\tensorrt\lib
(2)PowerShell 终端:编辑 activate.ps1
若习惯用 PowerShell 操作,需修改对应的激活脚本:
- 同样导航到虚拟环境
Scripts
目录,用记事本打开activate.ps1
。 - 在文件末尾添加以下内容:
# -------------------------- TensorRT 环境配置 -------------------------- # 定义 TensorRT 核心库路径 $tensorrtLibPath = "F:\PythonProjects\facefusion\.venv\Lib\site-packages\tensorrt\lib" # 将路径添加到系统 PATH $env:PATH = "$tensorrtLibPath;$env:PATH" # (可选)绿色提示配置生效,便于确认 Write-Host "[INFO] TensorRT 库路径已添加至系统 PATH:$tensorrtLibPath" -ForegroundColor Green
验证配置是否生效
激活虚拟环境后,通过以下命令验证路径是否已添加:
- CMD 终端:执行
echo %PATH%
,查看输出内容中是否包含你的 TensorRT 库路径; - PowerShell 终端:执行
$env:PATH -split ';' | Find-String "tensorrt"
,若输出 TensorRT 路径,说明配置成功。
(二)临时环境变量设置(应急测试场景)
若仅需临时测试 TensorRT 加速(如切换不同版本的 TensorRT 验证兼容性),无需修改配置文件,可在激活虚拟环境后,直接在终端中设置临时路径(关闭终端后失效,不影响现有配置)。
1. CMD 终端临时设置
# 将 TensorRT 库路径临时添加到 PATH
set "PATH=F:\PythonProjects\facefusion\.venv\Lib\site-packages\tensorrt\lib;%PATH%"
# (可选)验证临时配置
echo [临时配置] TensorRT 路径已添加:F:\PythonProjects\facefusion\.venv\Lib\site-packages\tensorrt\lib
2. PowerShell 终端临时设置
# 临时添加 TensorRT 路径
$env:PATH = "F:\PythonProjects\facefusion\.venv\Lib\site-packages\tensorrt\lib;$env:PATH"
# (可选)验证临时配置
Write-Host "[临时配置] TensorRT 路径已添加:F:\PythonProjects\facefusion\.venv\Lib\site-packages\tensorrt\lib" -ForegroundColor Cyan
(三)常见问题与排查方案
问题现象 | 可能原因 | 排查 / 解决步骤 |
---|---|---|
启动 FaceFusion 提示「找不到 nvinfer.dll」 | TensorRT 路径配置错误,或路径中无核心库 | 1. 确认 TENSORRT_PATH 指向的目录存在 nvinfer.dll 等核心库;2. 若用方式 2,检查激活脚本中路径是否拼写正确。 |
TensorRT 执行器未加载(日志无 TensorrtExecutionProvider) | 路径未生效,或 TensorRT 版本与 CUDA 不匹配 | 1. 重新激活虚拟环境(确保脚本配置生效); 2. 确认 TensorRT 版本与 CUDA 匹配(如 CUDA 12.8 对应 TensorRT 10.0+)。 |
配置后仍提示「TensorRT 初始化失败」 | 库文件损坏或权限不足 | 1. 重新安装 TensorRT .whl 包(避免下载中断导致的文件损坏);2. 以「管理员身份」启动终端,再激活虚拟环境。 |
(四)配置方式对比与推荐
配置方式 | 优点 | 缺点 | 推荐场景 |
---|---|---|---|
facefusion.ini 项目配置 | 跟随项目,多环境切换无需改路径 | 换项目需重新配置 | 团队协作、多项目开发 |
虚拟环境激活脚本配置 | 激活即生效,全局可用,无需改项目文件 | 换虚拟环境需重新配置 | 个人开发、单项目长期使用 |
终端临时设置 | 灵活,不影响现有配置 | 关闭终端失效,需重复设置 | 版本测试、临时验证 |
优先推荐:个人开发用「虚拟环境激活脚本配置」,一次配置永久生效;团队协作或多项目场景用「facefusion.ini 配置」,确保所有人路径统一。
通过以上配置,可确保 FaceFusion 正确加载 TensorRT 核心库,顺利启用推理加速,提升任务融合、帧增强等任务的处理速度。