深度學習推理加速TensorRT簡介


一、概括

TensorRT作為英偉達深度學習系列SDK的一部分,是一個高性能(HP)的深度學習推理優化器,可以為深度學習應用提供一個低延遲、高吞吐量的推理部署。基於TensorRT的應用推理性能上是只用CPU時的40多倍(版本TensorRT 7.0)。使用TensorRT,你可以優化現在幾乎所有主流深度學習框架(tensorflow、caffe、pytorch、mxnet等)。TensorRT建立在NVIDIA的並行編程模型CUDA的基礎上,使你能夠利用CUDA-X中的庫、開發工具和技術,為人工智能、自動機器、高性能計算和圖形優化所有深度學習框架的推理。為減少應用程序的延遲,TensorRT提供低精度INT8和FP16的部署。

 

二、優化機理

1、權重、激活精度校准:通過將模型量化為INT8,同時保持准確性,最大化吞吐量

2、層、張量融合:通過融合內核中的節點優化GPU內存和帶寬的使用

3、內核自動調整:基於目標GPU平台選擇最佳數據層和算法

4、動態張量內存:最小化內存占用並有效地重新使用張量的內存

5、多流執行:並行處理多個輸入流的可擴展設計

三、基於tensorflow的推理優化方式

TensorRT優化的模型必須是訓練好的,比如用TF框架訓練

1、使用tensorflow內置的TensorRT

參考   https://github.com/tensorflow/tensorrt

2、將計算圖轉換為UFF格式(網絡層的定義、權重、偏差等數據)

參考   https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html#working_tf

 四、安裝

參考   https://arleyzhang.github.io/articles/7f4b25ce/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM