TensorRT加速原理记录

TensorRT是什么?

TensorRT是NVIDIA公司推出的模型加速工具,类似于常用的工具库。

TensorRT做什么?

TensorRT负责模型的推理(inference)过程,不用TensorRT训练模型。

TensorRT能加速的原因是什么?

(1)TensorRT支持kFLOAT(float32)、kHALF(float16)、kINT8(int8)三种精度的计算,在使用时通过低精度进行网络推理,达到加速的目的。

(2)TensorRT对网络结构进行重构,把一些能合并的运算合并在一起,根据GPU的特性做了优化。具体方法为(a)垂直合并;(b)水平合并。

(a)垂直合并:垂直合并是将目前主流神经网络结构的Conv、BN、Relu三个层融合为一个层。

(b)水平合并:水平合并是指将输入为相同张量和执行相同操作的层融合在一起。

举例说明:

原网络结构如下图所示:

TensorRT加速原理记录

垂直合并:

TensorRT加速原理记录

再进行水平合并:

TensorRT加速原理记录

结。

参考:

https://zhuanlan.zhihu.com/p/64933639
http://www.iterate.site/post/01-%E6%8E%A2%E7%B4%A2/13-%E7%AE%97%E6%B3%95%E6%A1%86%E6%9E%B6/14-%E6%A8%A1%E5%9E%8B%E5%8A%A0%E9%80%9F/71-tensorrt/02-tensorrt-%E5%8A%A0%E9%80%9F%E5%8E%9F%E7%90%86/

 

上一篇:基于PyTorch与TensorRT的cifar10推理加速


下一篇:ubuntu16.04安装tensorRT