TensorRT加速原理

TensorRT能够加速的原因主要有两点,一方面是支持INT8和FP16的计算;另一方面是对网络结构进行了重构和优化。

  • TensorRT支持INT8和FP16的计算

深度学习网络在训练时,通常使用 32 位或 16 位数据。TensorRT支持kFLOAT(float32)、kHALF(float16)、kINT8(int8)三种精度的计算,在使用时通过低精度进行网络推理,达到加速的目的。

  • TensorRT对网络结构进行了重构和优化

TensorRT对网络结构进行重构,把一些能合并的运算合并在一起,根据GPU的特性做了优化。

  1. tensorRT通过解析网络模型将网络中无用的输出层消除以减小计算。
  2. 对于网络结构的垂直整合,即将目前主流神经网络的conv、BN、Relu三个层融合为了一个层,例如将下图1所示的常见的Inception结构重构为图2所示的网络结构。

图1

  1. 对网络的水平组合,水平组合是指将输入为相同张量和执行相同操作的层融合一起,如图2向图3的转化。

参考连接:

TensorRT Inference引擎简介及加速原理简介

[深度学习]TensorRT为什么能让模型跑快快

[TensorRT加速原理记录]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章