• 【windows版】TensorRT安装教程


    一、参考资料

    TensorRT

    深度学习模型剪枝、量化和TensorRT推理

    深度学习模型PyTorch训练并转ONNX与TensorRT部署

    TensorRT(1)-介绍-使用-安装

    TensorRT

    模型量化技术(入门级理解,不涉及复杂公式和深入的原理)

    二、相关介绍

    1. TensorRT的优化

    模型推理的时候,每一次的操作都是由GPU启动不同的的CUDA核心来完成的,大量的时间花在CUDA核心启动和读写操作上,造成了内存带宽的瓶颈和GPU资源浪费。TensorRT通过层间融合,横向融合把卷积偏置激活合并成一个结构,并且只占用一个CUDA核心,纵向融合把结构相同、权值不同的层合并成一个更宽的层,也是占用一个CUDA核心,因此整个模型结构更小更快

    2. github代码

    tensorrt_demos

    tensorrt_inference

    TensorRT demo

    三、关键步骤

    windows 下安装tensorRT

    1. 准备工作

    2. 下载解压TensorRT

    下载地址

    3. 配置TensorRT

    1. TensorRT-7.2.3.4\include 中头文件 copy 到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include
    2. TensorRT-7.2.3.4\lib 中所有lib文件 copy 到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64
    3. TensorRT-7.2.3.4\lib 中所有dll文件copy 到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin

    4. 编译mnist例程

    1. 用VS2019 打开 TensorRT-7.2.3.4\samples\sampleMNIST\sample_mnist.sln
    2. 在VS2019中,右键工程,选择属性-》配置属性-》常规-》平台工具集-》Visual Studio 2019 (v142);
    3. 右键工程-》重新生成;

    5. 测试mnist例程

    1. 进入 TensorRT-7.2.3.4\data\mnist 目录,执行python download_pgms.py;
    2. 进入TensorRT-7.2.3.4\bin,用cmd执行,sample_mnist.exe --datadir=d:\path\to\TensorRT-7.0.0.11\data\mnist\
    3. 执行成功则说明tensorRT 配置成功;
      在这里插入图片描述

    四、可能存在的问题

    Q:fatal error C1083: 无法打开包括文件: “cuda_runtime.h”: No such file or dir

    步骤右键工程-》重新生成,执行失败。

    错误原因:
    没有包含cuda头文件
    
    解决方法:
    【项目右键】,点击【属性】,点击【配置属性】,点击【C/C++】,点击【常规】,编辑【附加包含目录】,根据CUDA的路径添加【D:\360Downloads\CUDA11.3\NVIDIA GPU Computing Toolkit\CUDA\v11.3\include】![](TensorRT教程.assets\缺少cuda头文件.png)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    Q:LINK : fatal error LNK1181: 无法打开输入文件“cudnn.lib”

    步骤右键工程-》重新生成,执行失败。

    错误原因:
    没有包含lib库文件
    
    解决方法:
    【项目右键】,点击【属性】,点击【配置属性】,点击【VC++目录】,编辑【库目录】,根据CUDA的路径添加【D:\360Downloads\CUDA11.3\NVIDIA GPU Computing Toolkit\CUDA\v11.3\lib\x64】
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    Q:执行 sample_mnist.exe --datadir=d:\path\to\TensorRT-7.0.0.11\data\mnist\\ 失败

    在这里插入图片描述

    错误原因:
    当前CUDA版本过高,本人的CUDA版本为11.3,需要11.1版本
    
    解决办法:
    参考资料
    [Cannot find nvrtc64_111_0.dll after update to 1.13.1](https://github.com/nanopool/nanominer/issues/106)
    
    路径 D:\360Downloads\CUDA11.3\NVIDIA GPU Computing Toolkit\CUDA\v11.3\bin 下的【nvrtc64_112_0.dll】重命名为【nvrtc64_111_0.dll】
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    Q:urllib.error.HTTPError:HTTP Error 503:Service Unavailable

    执行 python download_pgms.py 失败。
    在这里插入图片描述

    错误原因:
    下载数据集失败,数据集在国外的服务器,下载数据集需要翻墙
    
    解决办法:
    翻墙下载数据集资源,然后上传到国内的服务器,保证公网可以下载即可
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注意本人使用七牛云的kodo对象存储,10G免费空间,注册账号,身份认证审核方便,一般三个工作日完成审核(本人周三下午6点半左右提交申请,周四上午10点左右通过审核)
    比如上传之后的url:

    train-images-idx3-ubyte.gz
    http://qu3tpn8vb.hn-bkt.clouddn.com/train-images-idx3-ubyte.gz
    
    • 1
    • 2
    train-labels-idx1-ubyte.gz
    http://qu3tpn8vb.hn-bkt.clouddn.com/train-labels-idx1-ubyte.gz
    
    • 1
    • 2

    修改 download_pgms.py 文件中对应的url
    在这里插入图片描述

  • 相关阅读:
    基因组学课件整理
    误差和梯度下降
    回溯-数组总和II
    利用python爬取上证指数股吧评论并保存到mongodb数据库
    web前端 -- 笔记
    卖家如何搭上独立站这趟快车
    Elasticsearch
    SpringBoot 集成 RabbitMq 实现五种常用消息模型
    【笔记】【信息论与编码】第三章 离散信源
    基于51单片机数字频率计的设计
  • 原文地址:https://blog.csdn.net/m0_37605642/article/details/127583310