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加速原理記錄]

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