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)水平合并:水平合并是指将输入为相同张量和执行相同操作的层融合在一起。
举例说明:
原网络结构如下图所示:
垂直合并:
再进行水平合并:
结。
参考:
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/