精华内容
下载资源
问答
  • Tensorrt

    2021-01-08 22:50:45
    <div><h2>when i use the onnx model by tensorRT,get the error like follows,some suggestions。 <p>While parsing node number 346 [Upsample]: ERROR: builtin_op_importers.cpp:2026 In function ...
  • TensorRT

    2021-03-22 00:21:52
    TensorRT 连接地址 https://developer.nvidia.com/zh-cn/tensorrt TensorRT 有Python版本和C++版本(支持Win和Linux) 下载编译时需要注意:cuda和cudnn的版本,需要使用时找到cudnn进行匹配,(比cudnn高就可以) ...

    TensorRT 连接地址
    https://developer.nvidia.com/zh-cn/tensorrt

    TensorRT 有Python版本和C++版本(支持Win和Linux)

    下载编译时需要注意:cuda和cudnn的版本,需要使用时找到cudnn进行匹配,(比cudnn高就可以)

    TensorRT是一个基于nvidia平台下NN的推理框架,优势如下:

    1. 能够明显的高性能调度nvidia平台的硬件设备
    2. 使用tensorRT可以在nvidia平台下无缝执行
    3. 特定的硬件设计、高性能核函数
    4. 可以根据情况选择合适的精度和速度:FP16、INT8、INT4、FP32
    5. 常见模块的融合、加速
    6. 多分支合并,减少数据扭转

    TensorRT的执行,是输入模型结构后,在特定的硬件上进行编译,得到的引擎记录当前设备最优秀的做法,使得性能最好。

    编译的过程会使用假数据实际执行引擎,以选择实际运行速度最快的方案。

    引擎通常是显卡相关、cuda版本、tensorRT版本相关、跨显卡时会提示警告,也可能出错。

    展开全文
  • TensorRT安装及使用教程

    万次阅读 多人点赞 2019-01-08 15:38:07
    TensorRT 安装方法

    参考:https://arleyzhang.github.io/articles/7f4b25ce/

    1 什么是TensorRT

    一般的深度学习项目,训练时为了加快速度,会使用多 GPU 分布式训练。但在部署推理时,为了降低成本,往往使用单个 GPU 机器甚至嵌入式平台(比如 NVIDIA Jetson)进行部署,部署端也要有与训练时相同的深度学习环境,如 caffe,TensorFlow 等。由于训练的网络模型可能会很大(比如,inception,resnet 等),参数很多,而且部署端的机器性能存在差异,就会导致推理速度慢,延迟高。这对于那些高实时性的应用场合是致命的,比如自动驾驶要求实时目标检测,目标追踪等。所以为了提高部署推理的速度,出现了很多轻量级神经网络,比如 squeezenet,mobilenet,shufflenet 等。基本做法都是基于现有的经典模型提出一种新的模型结构,然后用这些改造过的模型重新训练,再重新部署。

    而 TensorRT 则是对训练好的模型进行优化。 TensorRT 就只是推理优化器。当你的网络训练完之后,可以将训练模型文件直接丢进 TensorRT中,而不再需要依赖深度学习框架(Caffe,TensorFlow 等),如下:

    可以认为 TensorRT 是一个只有前向传播的深度学习框架,这个框架可以将  Caffe,TensorFlow 的网络模型解析,然后与 TensorRT 中对应的层进行一一映射,把其他框架的模型统一全部转换到 TensorRT 中,然后在 TensorRT 中可以针对 NVIDIA 自家 GPU 实施优化策略,并进行部署加速。

    如果想了解更多关于 TensorRT 的介绍,可参考官网介绍

    2 TensorRT安装

    TensorRT 的安装方式很简单,只需要注意一些环境的依赖关系就可以,我们以 TensorRT 5.0.4 版本为例,参考官网安装教程,这里简单总结一下步骤

    TensorRT 支持的环境和 Python 版本如表所示(来源

    2.1 环境确认

    • 确认 CUDA 版本是 9.0 或者 10.0,可通过运行 nvcc -V 指令来查看 CUDA,如果不是 9.0 以上,则需要先把 CUDA 版本更新一下
    • cudnn 版本是 7.3.1,如果不满足要求,按照《Linux之cudnn升级方法》进行升级
    • 需安装有 TensorFlow,uff模块需要

    2.2 安装 pycuda

    如果要使用 Python 接口的 TensorRT,则需要安装 Pycuda

    pip install 'pycuda>=2017.1.1'

    2.3 下载安装包

    1. 进入下载链接
    2. 点击 Download Now(需要登录英伟达账号,没有的注册一个)
    3. 选择下载的版本
    4. 完成问卷调查
    5. 选择同意协议
    6. 根据自己的系统版本和 CUDA 版本,选择安装包,如图所示(如果是完整安装,建议选择Tar File Install Packages,这样可以自行选择安装位置)

    2.4 安装指令

    如果要使用 python 版本,则使用 pip 安装,执行下边的指令

    #在home下新建文件夹,命名为tensorrt_tar,然后将下载的压缩文件拷贝进来解压
    tar xzvf TensorRT-5.0.2.6.Ubuntu-16.04.4.x86_64-gnu.cuda-9.0.cudnn7.3.tar
    
    #解压得到TensorRT-5.0.2.6的文件夹,将里边的lib绝对路径添加到环境变量中
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/lthpc/tensorrt_tar/TensorRT-5.0.2.6/lib
    
    # 安装TensorRT
    cd TensorRT-5.0.2.6/python
    pip install tensorrt-5.0.2.6-py2.py3-none-any.whl
    
    # 安装UFF,支持tensorflow模型转化
    cd TensorRT-5.0.2.6/uff
    pip install uff-0.5.5-py2.py3-none-any.whl
    
    # 安装graphsurgeon,支持自定义结构
    cd TensorRT-5.0.2.6/graphsurgeon
    pip install graphsurgeon-0.3.2-py2.py3-none-any.whl

    很多人安装某些版本的时候会报错,比如

    ERROR: tensorrt-6.0.1.5-cp36-none-linux_x86_64.whl is not a supported wheel on this platform.

    这个是因为自己 python 版本不对,输入 pip --version 来查看 python 版本是否是自己想象中的版本,不对的话切换一下 

    为了避免其它软件找不到 TensorRT 的库,建议把 TensorRT 的库和头文件添加到系统路径下

    # TensorRT路径下
    sudo cp -r ./lib/* /usr/lib
    sudo cp -r ./include/* /usr/include

     ============= 20200618更新 ===============

    为了避免安装时各种问题,我们也可以使用 deb 包的方式安装,即在 2.3 步骤中选择自己系统对应的版本,然后使用如下指令安装

    # 首先根据自己下载的版本填写os和tag变量
    # 我下载的版本是 nv-tensorrt-repo-ubuntu1804-cuda10.2-trt7.0.0.11-ga-20191216_1-1_amd64.deb
    # 得到如下值
    
    os="ubuntu1804"
    tag="cuda10.2-trt7.0.0.11-ga-20191216"
    sudo dpkg -i nv-tensorrt-repo-${os}-${tag}_1-1_amd64.deb
    sudo apt-key add /var/nv-tensorrt-repo-${tag}/7fa2af80.pub
    
    sudo apt-get update
    sudo apt-get install tensorrt
    
    sudo apt-get install python-libnvinfer-dev  # for python2
    sudo apt-get install python3-libnvinfer-dev  # for python3
    sudo apt-get install uff-converter-tf  # for tensorflow

    安装完之后运行下边指令

    dpkg -l | grep TensorRT

     输出如下,表明安装成功

    ii  graphsurgeon-tf	7.1.0-1+cuda10.2	amd64	GraphSurgeon for TensorRT package
    ii  libnvinfer-bin		7.1.0-1+cuda10.2	amd64	TensorRT binaries
    ii  libnvinfer-dev		7.1.0-1+cuda10.2	amd64	TensorRT development libraries and headers
    ii  libnvinfer-doc		7.1.0-1+cuda10.2	all	TensorRT documentation
    ii  libnvinfer-plugin-dev	7.1.0-1+cuda10.2	amd64	TensorRT plugin libraries
    ii  libnvinfer-plugin7	7.1.0-1+cuda10.2	amd64	TensorRT plugin libraries
    ii  libnvinfer-samples	7.1.0-1+cuda10.2	all	TensorRT samples
    ii  libnvinfer7		7.1.0-1+cuda10.2	amd64	TensorRT runtime libraries
    ii  libnvonnxparsers-dev		7.1.0-1+cuda10.2	amd64	TensorRT ONNX libraries
    ii  libnvonnxparsers7	7.1.0-1+cuda10.2	amd64	TensorRT ONNX libraries
    ii  libnvparsers-dev	7.1.0-1+cuda10.2	amd64	TensorRT parsers libraries
    ii  libnvparsers7	7.1.0-1+cuda10.2	amd64	TensorRT parsers libraries
    ii  python-libnvinfer	7.1.0-1+cuda10.2	amd64	Python bindings for TensorRT
    ii  python-libnvinfer-dev	7.1.0-1+cuda10.2	amd64	Python development package for TensorRT
    ii  python3-libnvinfer	7.1.0-1+cuda10.2	amd64	Python 3 bindings for TensorRT
    ii  python3-libnvinfer-dev	7.1.0-1+cuda10.2	amd64	Python 3 development package for TensorRT
    ii  tensorrt		7.1.0.x-1+cuda10.2 	amd64	Meta package of TensorRT
    ii  uff-converter-tf	7.1.0-1+cuda10.2	amd64	UFF converter for TensorRT package

    2.5 环境测试

    运行 python 测试,导入模块不报错就表明安装正确

    注意:导入 uff 的时候需要安装 tensorflow 模块,tensorflow 版本要与 cuda 版本对应,比如 cuda9 要对应 tensorflow1.12 及以下版本,以上版本需要 cuda10,具体参考官网

    如果导入 TensorRT 报错如下,则是因为 python 版本不对,应根据 2.1 节上边的那个表调整自己的 python 版本

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/home/xxx/anaconda3/lib/python3.6/site-packages/tensorrt/__init__.py", line 1, in <module>
        from .tensorrt import *
    ImportError: /home/xxx/anaconda3/lib/python3.6/site-packages/tensorrt/tensorrt.so: undefined symbol: _Py_ZeroStruct

    安装后会在 /usr/src 目录下生成一个 TensorRT 文件夹,里面包含 bin,data,python,samples 四个文件夹,samples 文件夹中是官方例程的源码;data,python 文件中存放官方例程用到的资源文件,比如 caffemodel 文件,TensorFlow 模型文件,一些图片等;bin 文件夹用于存放编译后的二进制文件。

     ============= 20200618更新 ===============

    也可以使用如下方法测试

    sudo cp -r /usr/src/tensorrt/ ~/
    cd ~/tensorrt/samples
    sudo make
    cd ../bin
    ./sample_int8 mnist

    3 使用流程

    在 /TensoRT-5.0.2.6/samples/python 文件夹下有很多 python 的例子,我们以第一个 end_to_end_tensorflow_mnist 的例子为例,描述 TensorRT 的使用流程,在 README.md 文件里也说得很明白了

    3.1 安装依赖

    需要安装好 numpy、Pillow、pycuda、tensorflow 等环境,如果都有可以跳过

    3.2 生成pb文件

    mkdir models
    python model.py

    运行 model.py 后,会下载数据 mnist.npz,并开始训练,完成后在 models 文件夹下生成 lenet5.pb 文件,如果自己已经训练得到 pb 文件,上述过程可以跳过

    3.3 格式转化

    要将 tensorflow 的 pb 文件转化为 uff 格式的文件,首先找到 convert_to_uff 文件,看自己用的是哪个版本的 python,如果是 python3,则在 /usr/lib/python3.5/dist-packages/uff/bin 文件夹下,如果是 python2,则在 /usr/lib/python2.7/dist-packages/uff/bin 文件夹下

    我们在终端中进入 end_to_end_tensorflow_mnist,运行以下指令

    python3.5 /usr/lib/python3.5/dist-packages/uff/bin/convert_to_uff.py --input_file models/lenet5.pb
    

    则会在 models 文件夹中生成 lenet5.uff 文件

    需要注意的是:该转化过程只支持在 x86 平台上实现,如果想在 TX2 等嵌入式平台上使用 TensorRT ,需要先在 x86 平台上将 pb 模型转化为 uff 文件,然后再拷贝到 TX2 上使用

    3.4 运行文件

    运行 sample.py 文件,得到如下输出,表明可完整的使用 TensorRT


    4 使用自己的模型

    前边 3 步相当于是环境的配置,当然还不够,我们需要的是可以转化并运行我们自己的模型,达到加速的效果,因此接下来对相关的工作进行总结,具体转换参考《TX2之TensorRT加速TensorFlow目标检测模型

    展开全文
  • tensorRT

    2020-11-25 07:48:06
    <div><p>Hi, can this onnx model be converted to .trt model ?</p><p>该提问来源于开源项目:qfgaohao/pytorch-ssd</p></div>
  • tensorrt

    2019-12-23 20:46:16
    https://blog.csdn.net/zong596568821xp/article/details/86077553
    展开全文
  • TensorRT Open Source Software This repository contains the Open Source Software (OSS) components of NVIDIA TensorRT. Included are the sources for TensorRT plugins and parsers (Caffe and ONNX), as well...
  • TensorRT Open Source Software This repository contains the Open Source Software (OSS) components of NVIDIA TensorRT. Included are the sources for TensorRT plugins and parsers (Caffe and ONNX), as well...
  • TensorRT安装

    2020-12-21 21:47:18
    TensorRT安装以及相关配置 看到很多tensorrt安装教程有一些问题,所以我安装完后写这篇记录并分享一下. 1.下载tar包 TensorRT官方API提供了四种安装方式,建议下载tar包进行安装。下载地址...
  • tensorrt_demos Examples demonstrating how to optimize Caffe/TensorFlow/DarkNet/PyTorch models with TensorRT and do inference on NVIDIA Jetson or x86_64 platforms. Highlights: Run an optimized "MODNet...
  • TensorRT简介

    万次阅读 2017-11-07 16:53:32
    NVIDIA TensorRT是一种高性能神经网络推理(Inference)引擎,用于在生产环境中部署深度学习应用程序,应用有图像分类、分割和目标检测等,可提供最大的推理吞吐量和效率。TensorRT是第一款可编程推理加速器,能加速...

    NVIDIA TensorRT是一种高性能神经网络推理(Inference)引擎,用于在生产环境中部署深度学习应用程序,应用有图像分类、分割和目标检测等,可提供最大的推理吞吐量和效率。TensorRT是第一款可编程推理加速器,能加速现有和未来的网络架构。TensorRT需要CUDA的支持。TensorRT包含一个为优化生产环境中部署的深度学习模型而创建的库,可获取经过训练的神经网络(通常使用32位或16位数据),并针对降低精度的INT8运算来优化这些网络。借助CUDA的可编程性,TensorRT将能够加速助推深度神经网络日益多样化、复杂的增长趋势。通过TensorRT的大幅度加速,服务提供商能够以经济实惠的成本部署这些计算密集型人工智能工作负载。

    已有来自各行各业的公司开始采用NVIDIA推理平台,借助此从数据中获得全新洞察,并为企业和消费者部署智能服务。

    TensorRT由英伟达(NVIDIA)发布,目前包括TensorRT1、TensorRT 2、TensorRT 3,是深度学习软件包,支持FP16特性。TensorRT支持使用Caffe的模型。TensorRT相对简单易用,在深度学习算法推理阶段能将GPU的计算能力更大程度释放出来。TensorRT在不断的改进过程中,在保证软件精度的同时,不断提高速度。TensorRT针对运行时性能自动优化训练过的神经网络。

    TensorRT是一个C++库。TensorRT只能用来做Inference(推理),不能用来进行train。

    TensorRT基本处理过程:(1)、caffe model转化GIE的model,或者从磁盘或者网络加载GIE可用的model;(2)、运行GIE引擎(数据提前copy到GPU中);(3)、提取结果。

    转化GIE model两种方式:(1)、caffeToGIEModel;(2)、参考sampleMNIST API自己构建GIE model.

    用深度神经网络解决监督机器学习问题包含两个步骤:第一步是使用GPU对海量标签数据进行深度神经网络训练,训练时需要迭代的通过网络进行前向传播和反向传播。最终会生成训练好的model文件。第二步是推理(Inference)即使用训练好的模型对新数据做出预测,仅需通过网络进行前向传播。TensorRT是一款高性能的推理引擎,旨在为常见的深度学习应用如图像分类、分割、目标检测等提供最大的推理吞吐量和效率。针对运行时性能,TensorRT会优化已训练的神经网络。

    使用TensorRT包含两个阶段:构建(build)和部署(deployment)。在构建阶段,TensorRT对网络配置进行优化,并生成一个优化了的plan用于计算深度神经网络的前向传播。这个plan是一个优化了的目标代码,可以序列化存储在内存或磁盘上。部署阶段通常采用长时间运行的服务或用户应用程序的形式,该服务或用户应用程序接受批量输入数据,通过对输入数据执行plan来执行推理,并返回批量输出数据。使用TensorRT,你无需在部署硬件上安装并运行深度学习框架

    TensorRT构建阶段:TensorRT运行时需要三个文件来部署一个分类神经网络:一个网络体系结构文件(deploy.prototxt),已训练的权值(net.caffemodel)和一个标签文件为每个输出类提供一个名称。另外,你必须定义batch size和输出层。

    TensorRT对神经网络图(neural network graph)进行了几个重要的转换和优化:消除未使用的输出的层以避免不必要的计算;在可能的情况下,convolution、bias和ReLU层被融合以形成单个层,包括垂直层融合和水平层融合。在TensorRT解析器读入已训练的网络和配置文件后,TensorRT在构建阶段对API用户透明地执行其转换。

    在构建阶段,TensorRT优化网络,在部署阶段,TensorRT以最小化延迟和最大化吞吐量运行优化了的网络。

    TensorRT 2.1关键特性:(1)、支持自定义层;(2)、INT8支持以用于性能改进;(3)、提供递归神经网络(LSTM(Long Short-Term Memory)、GRU(Gated Recurrent Unit))实现;(4)、”original” RNN层实现。

    2017年9月,NVIDIA发布了神经网络推理加速器TensorRT3,TensorRT 3是一款针对人工智能应用生产部署的高性能优化编译器和运行时引擎,用于在生产环境中部署深度学习程序。它能够快速优化、验证并部署经过训练的神经网络,从而在超大型数据中心、嵌入式GPU或车用GPU平台上开展推理工作。它能够确保高度精确的INT8和FP16网络执行。

    TensorRT 3能支持Caffe2、Mxnet、Pytorch、TensorFlow等所有的深度学习框架,将TensorRT 3和NVIDIA的GPU结合起来,能在所有的框架中进行超快速和高效的推理传输,支持图像和语言识别、自然语言处理、可视化搜索和个性化推荐等AI服务。借助该推理引擎可以大幅提升云端及包括机器人、无人驾驶汽车在内的终端设备的推理性能,并有效降低成本。

    可从  https://developer.nvidia.com/nvidia-tensorrt-download 下载TensorRT 1.0和TensorRT2.1.

    安装TensorRT 2.1要求:

    (1)、操作系统仅支持Ubuntu14.04或Ubuntu 16.04,目前不支持Windows和Mac;

    (2)、安装的CUDA要求是7.5或8.0;

    (3)、有两种方法安装TensorRT2.1:通过deb包或者通过tar文件;

    (4)、对于显卡为GTX 750和K1200的用户需要将CUDA升级到8.0。

    TensorRT 2.1用户指南可以参考: http://docs.nvidia.com/deeplearning/sdk/tensorrt-user-guide/index.html  

    以上部分内容翻译于: https://devblogs.nvidia.com/parallelforall/deploying-deep-learning-nvidia-tensorrt/ 

     

    GitHub: https://github.com/fengbingchun/CUDA_Test 

    展开全文
  • 适用于ONNX的TensorRT后端 解析ONNX模型以使用执行。 另请参阅。 有关最近更改的列表,请参见 。 有关常见问题的列表,请参见 。 支持的TensorRT版本 Master分支上的开发适用于具有完整尺寸和动态形状支持的的...
  • tensorrt python

    2021-05-09 22:24:51
    代码没有亲测,tensorrt感觉是linux的 Onnx To Tensorrt 在安装tensorrt时,会下载一些官方示例,以tensorrt6为例,在samples/python/introductoryparsersamples中,有名为onnx_resnet50.py的文件,此文件是将...
  • TensorRT分类 Jetson Nano的TensorRT
  • Mxnet TensorRT

    2021-04-11 22:17:20
    Optimizing Deep Learning Computation Graphs with TensorRT CUDA9.0或9.2 Pascal或更新架构的显卡 下载并安装TensorRT库   当这些先决条件满足并保证更新后,可以通过pip安装一个支持TensorRT的Mxnet编译版本...
  • 这是用C ++ TensorRT API编写的TensorRT模型的工作示例,以半精度模式运行推理。 可以运行全精度和半精度模式的推断。 内容 demo.cpp模型定义和推断 wts_gen_demo.py权重文件从numpy数组的常规字典转换为TensorRT ...
  • from tensorrt5 to tensorrt 7

    2020-11-24 11:11:39
    I update a plugin from tensorrt5 to tensorrt 7, it says that: [2020-01-14 03:18:40 ERROR] (Unnamed Layer* 137) [Plugin]: PluginLayer not supported with explicit batch. <p>what I used ...
  • tensorrt报错

    2020-12-26 12:01:40
    <p>TensorRT dynamic library (libnvinfer.so) that Paddle depends on is not configured correctly. (error code is libnvinfer.so: cannot open shared object file: No such file or directory) Suggestions: ...
  • TensorRT6

    2020-03-29 16:15:17
    TensorRT6
  • ONNX-TensorRT:用于ONNX的TensorRT后端用于ONNX的TensorRT后端解析ONNX模型以与TensorRT一起执行。 另请参阅TensorRT文档。 受支持的TensorRT版本开发Master分支上的开发适用于具有完整尺寸和动态形状支持的...
  • TensorRT Notes

    2021-03-03 08:51:55
    TensorRT create custom layer Part1 Use existing layer plugin Part2 Build customized plugin TensorRT Official Doc TensorRT Repo
  • TensorRT介绍

    2021-03-03 21:23:14
    文章目录TensorRT训练和推理的区别TensorRTTensorRT 优化和性能TensorRT 工作原理Python APIImporting TensorRT Into PythonCreating A Network Definition In PythonBuilding An Engine In PythonSerializing A ...
  • TensorRT教程

    2021-02-24 02:31:42
    TensorRT教程 参考链接:https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html#unique_1139626899 3.1. Importing TensorRT Into Python Procedure Import TensorRT: import tensorrt as ...
  • TensorRT(二) TensorRT使用

    2020-08-06 16:17:39
    TensorRT工作流程 如上图所示,是一个从摄像头获取视频流并使用TensorRT加速推理的一个过程,下面大致对上图进行讲解。 1.首先要获得一个TensorRT支持的模型格式,TensorRT支持uff、onnx、caffee三种格式。 2.工作...
  • TensorRT概述

    2021-01-26 15:12:54
    先前有写两篇文章有使用使用NVIDIA TensorRT布署到Jetson platform,所以这阵子陆续搜集了一些TensorRT的资料,此篇纯粹写来记录一下这阵子整理 NVIDIA TensorRT的一些重点资讯。 教学开始 TensorRT 是 Nvidia ...
  • TensorRT implementation

    2020-12-04 20:20:11
    <div><p>Is there a possibility to implement TensorRT. </p><p>该提问来源于开源项目:eric612/MobileNet-YOLO</p></div>
  • Tensorrt官方例程

    2021-04-28 09:20:19
    Tensorrt官方例程 sampleINT8 sampleINT8API sampleGoogleNet sampleOnnxMNIST sampleSSD sampleUffSSD sampleMovieLensMPS ... 等

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,898
精华内容 2,359
关键字:

tensorrt