文章目录

  • 1.TensorRT 下载
  • 2.安装
  • 3.测试
  • 4.运行
  • 5.TensorRT-优化-原理
  • 补充

1.TensorRT 下载

TensorRT 各个版本的下载网址(用这个网址可以跳过 老黄的调查问卷):
https://developer.nvidia.com/nvidia-tensorrt-8x-download
https://developer.nvidia.com/nvidia-tensorrt-7x-download
https://developer.nvidia.com/nvidia-tensorrt-6x-download

主要是 for linux 也有windows

很奇怪 TensorRT 7.xTensorRT 6.x 里没有python 文件夹

最后我在TensorRT 8.x 里发现
TensorRT-8.2.1.8.Windows10.x86_64.cuda-10.2.cudnn8.2 可以使用

最后用了这版,我的笔记本显卡是1660Ti

TensorRT-7.2.3.4.Windows10.x86_64.cuda-10.2.cudnn8.1文件内容:

TensorRT-8.2.1.8.Windows10.x86_64.cuda-10.2.cudnn8.2文件内容:


2.安装

一开始安装我参考了他的,感谢作者~,但又不太一样,我改进优化了一下:https://blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/120360288

  • 2.1 配置环境:

将下载好的文件解压到一个安静的磁盘位置,然后将“X:\TensorRT-7.2.3.4\lib”添加环境变量。 环境变量位置: 此电脑图标–右键属性–高级系统设置–高级–环境变量–系统变量–path

  • 2.2 安装必要的whl文件

安装 graphsurgeon、uff、onnx_graphsurgeon, 如下图所示:

安装方法是用Anaconda Prompt cd到这三个文件夹下 然后再安装,如下图所示:

记得激活需要安装的虚拟环境

如果 onnx_graphsurgeon 安装失败

可以用以下命令:

pip install onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 2.3 安装python 版本的tensorrt-8.2.1.8
    关键的来了,找到TensorRT里的python文件夹,找到对应环境的python版本,进行安装:

  • 2.4 复制dll文件到cuda安装目录

    复制到:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin 下

    到这里就安装完成了,需要测试一下。


3.测试

简单测试一下

import tensorrt as trtprint(trt.__version__)


这样就没问题了

4.运行

将.pt转换为.engine
.pt --> .onnx -->.engine

注:这里是用yolov5 源码里的export.py转的


转换后的.engine 可以在win10平台上使用

一个轻量模型 可以从 一张图片 0.008s提速到0.004s,从 125帧/s 提升到 250帧/s,大约2倍(估计本来就快)

5.TensorRT-优化-原理

TensorRT优化方法主要有以下几种方式,最主要的是前面两种。

  • 层间融合或张量融合(Layer & Tensor Fusion)

如下图左侧是GoogLeNetInception模块的计算图。这个结构中有很多层,在部署模型推理时,这每一层的运算操作都是由GPU完成的,但实际上是GPU通过启动不同的CUDA(Compute unified device architecture)核心来完成计算的,CUDA核心计算张量的速度是很快的,但是往往大量的时间是浪费在CUDA核心的启动和对每一层输入/输出张量的读写操作上面,这造成了内存带宽的瓶颈和GPU资源的浪费。TensorRT通过对层间的横向或纵向合并(合并后的结构称为CBR,意指 convolution, bias, and ReLU layers are fused to form a single layer),使得层的数量大大减少。横向合并可以把卷积、偏置和激活层合并成一个CBR结构,只占用一个CUDA核心。纵向合并可以把结构相同,但是权值不同的层合并成一个更宽的层,也只占用一个CUDA核心。合并之后的计算图(图4右侧)的层次更少了,占用的CUDA核心数也少了,因此整个模型结构会更小,更快,更高效。

  • 数据精度校准(Weight &Activation Precision Calibration)

大部分深度学习框架在训练神经网络时网络中的张量(Tensor)都是32位浮点数的精度(Full 32-bit precision,FP32),一旦网络训练完成,在部署推理的过程中由于不需要反向传播,完全可以适当降低数据精度,比如降为FP16或INT8的精度。更低的数据精度将会使得内存占用和延迟更低,模型体积更小。

Precision Dynamic Range
FP32 −3.4×1038 +3.4×1038−3.4×1038 +3.4×1038
FP16 −65504 +65504−65504 +65504
INT8 −128 +127−128 +127

INT8只有256个不同的数值,使用INT8来表示 FP32精度的数值,肯定会丢失信息,造成性能下降。不过TensorRT会提供完全自动化的校准(Calibration )过程,会以最好的匹配性能将FP32精度的数据降低为INT8精度,最小化性能损失。

第5部分来源:
TensorRT-优化-原理

补充

1.如果还需要安装pycuda 如下安装网址:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycuda

2.如果转yolov5 的.pt权重遇到了这个问题:
Could not load library cudnn_cnn_infer64_8.dll. Error code 126
Please make sure cudnn_cnn_infer64_8.dll is in your library path!

可以参考这个老哥的方法:
https://blog.csdn.net/illumiD/article/details/123266661
成功有效,比换版本的方便多了

成功!

NVIDIA TensorRT (python win10)安装成功分享相关推荐

  1. 测试Python是否安装成功—python在Windows上的配置测试

    测试Python是否安装成功 Pyhon 安装成功后,需要检测 Python 是否真的安装成功.在 Windows系统中检测 Python是否真的安装成功,可以单击 Windows 系统的" ...

  2. win10怎么打开python_win10如何安装python?win10安装python图文教程

    Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读.易维护,并且被大量用户所欢迎的.用途广泛的语言.但很多用户担心python会不兼容最新的win10,那小编的电脑还要退回到wi ...

  3. 检查python是否安装成功的命令是_Python 中的pygame安装与配置教程详解

    安装软件环境及版本说明 OS: Win10 x 64 专业版 Python: 2.7 IDE: PyCharm Community 2018 1. 安装python 1)下载并安装python pyt ...

  4. 怎么查看python是否安装成功-如何查看python是否安装成功?

    直接在命令终端中输入: 1python 如果成功进入python交互式命令行,则安装成功. 如果报如下错: 1command python not found 则可能是环境变量未设置的问题. 操作步骤 ...

  5. 怎么检查python是否安装成功-检查python以及django是否安装配置成功

    首先说明下,我使用pycharm作为开发的IDE,在第一次创建django项目的时候,会自动安装django包的.(网上也有很多单独安装的方法),环境变量配置成功后,就是用下面的方法检测安装成功与否. ...

  6. 如何判断python是否安装成功_python怎么判断模块安装完成

    要判断一个模块是否安装,非常简单,在终端中进入python,然后输入import 模块名.然后如果安装成功没有任何提示,直接显示下一 行交互,如果提示报错,那么就代表有问题. 例如 >>& ...

  7. Windows系统下如何查看Python是否安装成功

    一.在键盘上同时按下"windows窗口 + R "两个键,弹出运行框,在运行框中输入"cmd",点击"确定"按钮 二.出现cmd 弹窗后, ...

  8. 检查python是否安装成功

    在cmd中,运行如下命令 1.python – version,查看python的版本,如果出现版本号,则说明安装成功 2. pip --version,输出版本号及安装路径,则说明安装成功 3.py ...

  9. linux查看python是否安装成功,肿么查看linux中是否安装supervisor

    supervisor 是由python语言编写.基于linux操作系统的一款服务器管理工具,用以监控服务器的运行,发现问题能立即自动预警及自动重启等功能. 方法/步骤 首先必须先安装好python环境 ...

最新文章

  1. 机器学习并不“万能”
  2. Focal Loss笔记
  3. ASIHTTPRequest的环境配置和使用示例
  4. 【计算机网络】详解HttpURLConnection
  5. mysql low_case_MySQL8.0的坑之lower_case_table_names
  6. C# async 和 await 理解
  7. 如何搭建一套完整的深度学习系统?
  8. Linux命令——cut命令学习
  9. java 拦截html请求参数值_javaweb项目,html文件放在了WebRoot下,如何拦截访问html的请求呀?...
  10. oracle学用命令大全 笔记
  11. Apache Flink 进阶(五):数据类型和序列化
  12. InnoDB存储引擎MVCC实现原理
  13. 阿里巴巴sign参数解密
  14. 程序员的成长之路——道和术的思考
  15. 计算机显示器分辨率,电脑分辨率多少合适,详细教您电脑显示器分辨率怎么调整...
  16. Mybatis Plus 多租户架构(Multi-tenancy)实现
  17. js动态添加修改删除元素
  18. winscp 登录 am4379 的 linux系统 连接被意外关闭
  19. 2022KDD预讲 | 11位一作学者带你提前解锁优秀论文
  20. MySQL数据库---数据库基础

热门文章

  1. 【毕业设计_课程设计】基于Python的南京二手房数据采集及可视化分析
  2. Win7安全模式启动卡在Classpnp.sys
  3. 三层交换机与路由器对接
  4. Android Base64解码失败问题
  5. 用C++做一个特小型恶意程序
  6. web前端入门到实战:HTML字符实体,转义字符串
  7. java:获取两个日期相隔天数
  8. am解调matlab程序,基于Matlab的AM调制解调.doc
  9. 鸿蒙第3批升级名单,鸿蒙系统首批升级名单详细介绍
  10. GD32F103ZET6奋斗者开发板W5500通信——01 基础移植