Win10下安装TensorRT

文章介绍了在Windows10系统中安装TensorRT的过程,包括检查CUDA版本,下载对应版本的TensorRT,使用pip安装whl文件,以及解决importtensorrt时遇到的nvinfer.dll找不到的问题,通过添加环境变量来解决。最后,作者提供了测试TensorRT安装成功的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

  • 写本文的起因是在windows系统直接使用pip install nvidia-tensorrt下载TensorRT报错。

终端:

pip install nvidia-tensorrt -i https://pypi.tuna.tsinghua.edu.cn/simple

报错如下:

WARNING: Ignore distutils configs in setup.cfg due to encoding errors.
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple, https://pypi.ngc.nvidia.com
Collecting nvidia-tensorrt
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b8/a3/3da2bd25b6243d7a19b6c08c0e92f7c04f9863e70d213fee3141d574dccb/nvidia-tensorrt-0.0.1.dev5.tar.gz (7.9 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [17 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\Administrator\AppData\Local\Temp\pip-install-507mwyww\nvidia-tensorrt_0d45dd2f5dc44b6c8cc7e459b0fecde9\setup.py", line 150, in <module>
          raise RuntimeError(open("ERROR.txt", "r").read())
      RuntimeError:
      ###########################################################################################
      The package you are trying to install is only a placeholder project on PyPI.org repository.
      This package is hosted on NVIDIA Python Package Index.

      This package can be installed as:
      ```
      $ pip install nvidia-pyindex
      $ pip install nvidia-tensorrt
      ```
      ###########################################################################################

      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

相关介绍

  • Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
  • PyTorch 是一个深度学习框架,封装好了很多网络和深度学习相关的工具方便我们调用,而不用我们一个个去单独写了。它分为 CPU 和 GPU 版本,其他框架还有 TensorFlow、Caffe 等。PyTorch 是由 Facebook 人工智能研究院(FAIR)基于 Torch 推出的,它是一个基于 Python 的可续计算包,提供两个高级功能:1、具有强大的 GPU 加速的张量计算(如 NumPy);2、构建深度神经网络时的自动微分机制。
  • TensorRT是NVIDIA推出的深度学习推理引擎,它可以将深度学习模型转换为高效的可部署格式,并在NVIDIA GPU上进行推理。TensorRT可以通过减少网络中的冗余计算、合并层、减少精度等方式来优化深度学习模型,从而提高模型的推理速度和吞吐量。TensorRT支持多种深度学习框架,包括TensorFlow、Caffe、Mxnet、Pytorch等¹²³。
  • TensorRT的优点包括:
    • 高性能:在GPU上进行推理,比CPU快40倍。
    • 低延迟:通过减少网络中的冗余计算、合并层、减少精度等方式来优化深度学习模型,从而提高模型的推理速度和吞吐量。
    • 易于部署:支持多种深度学习框架,包括TensorFlow、Caffe、Mxnet、Pytorch等。
    • 灵活性:支持多种精度,包括FP32、FP16和INT8。
  • TensorRT的缺点包括:
    • 仅适用于推理,不支持训练。
    • 仅适用于NVIDIA GPU。
    • 需要对模型进行重新训练和转换。

Win10下安装TensorRT

查看cuda版本

nvcc -V

在这里插入图片描述

下载tensorrt8.xx版本,适用于Windows的cuda11.x的版本

  • 官方下载地址:https://developer.nvidia.com/nvidia-tensorrt-8x-download
  • 由于官方下载地址下载速度缓慢,可进入以下链接免费获取。
  • TensorRT-8.4.2.4.zip:https://download.youkuaiyun.com/download/FriendshipTang/88042919

注:如链接失效,可私信我!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解压下载好的压缩包

  • 找到TensorRT-8.4.2.4.Windows10.x86_64.cuda-11.6.cudnn8.4/TensorRT-8.4.2.4/python/tensorrt-8.4.2.4-cp38-none-win_amd64.whl
  • 由于我的python版本为3.8.x,所以选择tensorrt-8.4.2.4-cp38-none-win_amd64.whl

在这里插入图片描述

使用pip下载wheel文件

pip install tensorrt-8.4.2.4-cp38-none-win_amd64.whl

在这里插入图片描述

遇到新问题

>>> import tensorrt
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\anaconda3\envs\test2\lib\site-packages\tensorrt\__init__.py", line 129, in <module>
    ctypes.CDLL(find_lib(lib))
  File "D:\anaconda3\envs\test2\lib\site-packages\tensorrt\__init__.py", line 93, in find_lib
    raise FileNotFoundError(
FileNotFoundError: Could not find: nvinfer.dll. Is it on your PATH?
Note: Paths searched were:
['D:\\anaconda3\\envs\\test2', 'D:\\anaconda3\\envs\\test2\\Library\\mingw-w64\\bin', 'D:\\anaconda3\\envs\\test2\\Library\\usr\\bin', 'D:\\anaconda3\\envs\\test2\\Library\\bin', 'D:\\anaconda3\\envs\\test2\\Scripts', 'D:\\anaconda3\\envs\\test2\\bin', 'D:\\anaconda3\\condabin', 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.1\\bin', 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.1\\libnvvp', 'C:\\Windows\\system32', 'C:\\Windows', 'C:\\Windows\\System32\\Wbem', 'C:\\Windows\\System32\\WindowsPowerShell\\v1.0', 'C:\\Windows\\System32\\OpenSSH', 'C:\\Program Files\\NVIDIA Corporation\\Nsight Compute 2020.2.1', 'C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common', 'D:\\Program Files\\Microsoft VS Code\\bin', 'D:\\anaconda3', 'D:\\anaconda3\\Library\\mingw-w64\\bin', 'D:\\anaconda3\\Library\\usr\\bin', 'D:\\anaconda3\\Library\\bin', 'D:\\anaconda3\\Scripts', 'C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\WindowsApps']

解决方法

把tensorRT里面的bin、include、lib添加到环境变量即可,操作如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试TensorRT是否安装成功

import tensorrt

在这里插入图片描述
没有报错,即安装成功!

参考

[1] https://github.com/ultralytics/yolov5

### 关于 TensorRT 10安装、配置与使用 #### 安装与配置 TensorRT 是 NVIDIA 提供的一个高性能深度学习推理库,主要用于加速神经网络模型的部署。然而需要注意的是,目前公开的信息显示 TensorRT 8 和更高版本已经取代了较旧的版本(如 TensorRT 10)。因此,在尝试寻找有关 TensorRT 10 的具体资料时可能会遇到困难。 尽管如此,可以参考一些通用原则来完成 TensorRT安装和配置过程: - **CUDA 版本兼容性** 在安装 TensorRT 之前,必须确认所使用的 CUDA 版本与其兼容。例如,根据已知信息,TensorRT 7.2.3.4 支持 CUDA 10.2, 11.0.1, 11.1.1 及 11.2.1[^2]。虽然未提及 TensorRT 10 的具体支持范围,但通常建议选择稳定版 CUDA 并确保其驱动程序更新至最新状态。 - **依赖项准备** - Python:推荐使用最新版本的 Python 3.x[^5]。 - PyTorch 或 TensorFlow:这些框架需要与选定的 CUDA 版本相匹配。 - CMake:用于构建某些自定义插件或扩展功能。 - **离线环境下的安装方法** 如果目标机器无法连接互联网,则可提前下载所需文件并传输到本地。此场景下推荐利用 Docker 创建隔离化的开发环境,按照官方指导完成镜像定制工作[^4]。 #### 使用教程 以下是基于 TensorRT 进行模型优化的一般流程概述: 1. **加载预训练模型** 将来自主流框架(如 ONNX、Caffe 等)导出的目标结构导入引擎内部表示形式。 2. **创建 Builder 实例** 调用 `nvinfer1.Builder` 类初始化对象,并设置必要的参数选项,比如最大批处理大小以及精度模式(FP32/FP16/INT8)。 3. **解析输入张量地址** 利用 API 方法 `setTensorAddress(char const* tensorName, void* data)` 来指定实际存储位置给定名称对应的节点数据缓冲区[^3]。 4. **序列化结果保存为计划文件(.plan)** 经过充分验证后的实例可以通过调用 serialize() 函数将其转换成二进制流存盘以便后续重复加载执行而无需重新编译整个图结构。 #### 新特性概览 遗憾的是现有材料并未直接提到 TensorRT 10 所引入的独特改进之处。不过可以从其他相似代次产品了解到若干重要方向上的进展趋势包括但不限于以下几个方面: - 更广泛的算子覆盖度; - 动态形状支持增强从而适应更多复杂应用场景需求; - 多平台适配能力加强尤其针对嵌入式系列设备家族成员如 Jetson NX/GPU Cloud Instance Types 等提供专门优化路径; ```python import tensorrt as trt def build_engine(onnx_file_path): TRT_LOGGER = trt.Logger(trt.Logger.WARNING) with trt.Builder(TRT_LOGGER) as builder,\ builder.create_network(1 << int(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH)) as network,\ trt.OnnxParser(network, TRT_LOGGER) as parser: config = builder.create_builder_config() config.max_workspace_size = 1 << 30 with open(onnx_file_path, 'rb') as model: if not parser.parse(model.read()): print('Failed to parse the ONNX file.') exit() engine = builder.build_serialized_network(network, config) return engine ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FriendshipT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值