NVIDIA TensorRT高效能深度學習推理

2022-02-03 15:22:09 字數 2076 閱讀 9395

nvidia tensorrt高效能深度學習推理

nvidia tensorrt™ 是用於高效能深度學習推理的 sdk。此 sdk 包含深度學習推理優化器和執行時環境,可為深度學習推理應用提供低延遲和高吞吐量。

在推理過程中,基於 tensorrt 的應用程式的執行速度可比 cpu 平台的速度快 40 倍。借助 tensorrt,您可以優化在所有主要框架中訓練的神經網路模型,精確校正低精度,並最終將模型部署到超大規模資料中心、嵌入式或汽車產品平台中。

tensorrt 以 nvidia 的並行程式設計模型 cuda 為基礎構建而成,可幫助您利用 cuda-x 中的庫、開發工具和技術,針對人工智慧、自主機器、高效能計算和圖形優化所有深度學習框架中的推理。

可以從每個深度學習框架中將已訓練模型匯入到 tensorrt。應用優化後,tensorrt 選擇平台特定的核心,在資料中心、jetson 嵌入式平台以及 nvidia drive 自動駕駛平台上更大限度提公升 tesla gpu 的效能。

借助 tensorrt,開發者可專注於建立新穎的 ai 支援應用,無需費力調節效能來部署推理工作。

tensorrt優化與效能

與所有主要框架整合

nvidia 與深度學習框架開發者緊密合作,使用 tensorrt 在 ai 平台上實現優化的推理效能。如果您的訓練模型採用 onnx 格式或其他熱門框架(例如 tensorflow 和 matlab),您可以通過一些簡單的方法將模型匯入到 tensorrt 以進行推理。下面介紹了一些整合,其中包含了新手入門資訊。

tensorrt 和 tensorflow 已緊密整合,因此您可以同時盡享 tensorflow 的靈活性和 tensorrt 的超強優化效能。

matlab 已通過 gpu 編碼器實現與 tensorrt 的整合,這能協助工程師和科學家在使用 matlab 時為 jetson、drive 和 tesla 平台自動生成高效能推理引擎。

tensorrt 提供了乙個 onnx 解析器,因此您可以輕鬆地從框架(例如 caffe 2、chainer、microsoft

cognitive toolkit、mxnet 和 pytorch)中將 onnx 模型匯入到 tensorrt。

tensorrt 還與 onnx runtime 整合,助您以 onnx 格式輕鬆實現機器學習模型的高效能推理。

如果您在專有或自定義框架中執行深度學習訓練,請使用 tensorrt c++

api 來匯入和加速模型。

「通過在 v100 上使用

tensor 核心、新近優化的 cuda 庫以及 tf-trt 後端,我們能將原本就很快的深度學習 (dl) 網路速度再提公升 4 倍」

tensorrt 7.0(當前版本)包含:

其他資源

概覽

會話式 ai

適用範圍

nvidia 開發者計畫會員可訪問 tensorrt 產品頁面,免費使用 tensorrt 進行用於開發和部署。最新版本的外掛程式、解析器和示例也以開源形式提供,可從 tensorrt github 資源庫獲取。

開發者還可以通過 ngc 容器登錄檔中的 tensorrt 容器獲得 tensorrt。

tensorrt 已納入:

(iva) 應用中進行實時流分析的 nvidia deepstream sdk

適用於 nvidia drive px2 自動駕駛平台的 nvidia driveinstall

適用於 jetson tx1、tx2

嵌入式平台的 nvidia jetpack

安裝部署NVIDIA TensorRT

用tensorrt 5 為例 解壓包tar xzvf tensorrt 5.1.5.0.ubuntu 18.04.2.x86 64 gnu.cuda 10.1.cudnn7.5.tar.gz 配置環境變數 export ld library path ld library path root ten...

高併發 高可用

高併發 提高系統併發能力的方法主要有兩種 前者垂直擴充套件可以通過提公升單機硬體效能,或者提公升單機架構效能,來提高併發性,但單機效能總是有極限的,網際網路分布式架構設計高併發終極解決方案還是後者 水平擴充套件。網際網路分層架構中,各層次水平擴充套件的實踐又有所不同 1 反向 層可以通過 dns輪詢...

高併發與高可用

事發事中 事後高併發 增加處理人手 事前 副本 隔離 配額 提前預案 探知 事發 監控 報警 事中 降級 回滾 應急預案,fail 系列 事後 覆盤 思考 技改 fail 系列 當出現下游呼叫失敗時,我們一般有幾種處理方式 failretry,即失敗重試,需要配合退避時間,否則馬上重試不一定會有效果...