TensorRT 系列之入門篇-優化特點

一 tensorTR對於kernel launch以及每層tensor data讀取的速度不對稱的問題的解決:
(1)(縱向融合)通過融合相同順序的操作來減少Kernel launch的消耗以及避免層之間的讀寫操作.如卷積;bias和Relu層可以融合成一個kernel,這裏稱之爲CBR
(2)(橫向融合)TensorRT會去挖掘輸入數據且filter大小相同但weights不同的層,對於這些層不是使用三個不同的kernel而是使用一個kernel來提高效率
(3)通過預分配輸出緩存以及跳躍式的寫入方式來避免這次轉換

二 在前向傳播中採用FP16或者INT8精度計算從而獲得更小的模型,低的顯存佔用率和延遲以及更高的吞吐率

優化結果

上圖爲基於Resnet50網絡,分別在CPU、V100+TensorFlow、V100+TensorRT上進行推理時的性能比較,縱軸爲每秒處理的圖片數量。相較於CPU和TensorFlow,TensorRT可以帶來40倍和18倍的吞吐率的提升,而這部分的提升只需要在擁有GPU的前提下使用TensorRT即可免費獲得。

 

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