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/