在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TensorRT的功能與應用分析

星星科技指導員 ? 來源:NVIDIA ? 作者:Ken He ? 2022-05-13 15:37 ? 次閱讀

本章概述了您可以使用 TensorRT 做什么。它旨在對所有 TensorRT 用戶有用。

2.1. C++ and Python APIs

TensorRT 的 API 具有 C++ 和 Python 的語言綁定,具有幾乎相同的功能。 Python API 促進了與 Python 數據處理工具包和庫(如 NumPy 和 SciPy)的互操作性。 C++ API 可以更高效,并且可以更好地滿足某些合規性要求,例如在汽車應用中。 注意: Python API 并非適用于所有平臺。

2.2. The Programming Model

TensorRT 構建階段的最高級別接口是Builder ( C++ 、 Python )。構建器負責優化模型并生成Engine 。

為了構建引擎,您需要:

創建網絡定義

為builder指定配置

調用builder創建引擎

NetworkDefinition接口( C++ 、 Python )用于定義模型。將模型傳輸到 TensorRT 的最常見途徑是以 ONNX 格式從框架中導出模型,并使用 TensorRT 的 ONNX 解析器來填充網絡定義。但是,您也可以使用 TensorRT 的Layer ( C++ , Python ) 和Tensor ( C++ , Python ) 接口逐步構建定義。

無論您選擇哪種方式,您還必須定義哪些張量是網絡的輸入和輸出。未標記為輸出的張量被認為是可以由構建器優化掉的瞬態值。輸入和輸出張量必須命名,以便在運行時,TensorRT 知道如何將輸入和輸出緩沖區綁定到模型。

BuilderConfig接口( C++ 、 Python )用于指定TensorRT如何優化模型。在可用的配置選項中,您可以控制 TensorRT 降低計算精度的能力,控制內存和運行時執行速度之間的權衡,以及限制對 CUDA ?內核的選擇。由于構建器可能需要幾分鐘或更長時間才能運行,因此您還可以控制構建器搜索內核的方式,以及緩存搜索結果以供后續運行使用。

一旦有了網絡定義和構建器配置,就可以調用構建器來創建引擎。構建器消除了無效計算、折疊常量、重新排序和組合操作以在 GPU 上更高效地運行。它可以選擇性地降低浮點計算的精度,方法是簡單地在 16 位浮點中運行它們,或者通過量化浮點值以便可以使用 8 位整數執行計算。它還使用不同的數據格式對每一層的多次實現進行計時,然后計算執行模型的最佳時間表,從而最大限度地降低內核執行和格式轉換的綜合成本。

構建器以稱為計劃的序列化形式創建引擎,該計劃可以立即反序列化,或保存到磁盤以供以后使用。

注意:

TensorRT 創建的引擎特定于創建它們的 TensorRT 版本和創建它們的 GPU。

TensorRT 的網絡定義不會深度復制參數數組(例如卷積的權重)。因此,在構建階段完成之前,您不得釋放這些陣列的內存。使用 ONNX 解析器導入網絡時,解析器擁有權重,因此在構建階段完成之前不得將其銷毀。

構建器時間算法以確定最快的。與其他 GPU 工作并行運行構建器可能會擾亂時序,導致優化不佳。

2.2.2. The Runtime Phase

TensorRT 執行階段的最高級別接口是Runtime( C++ 、 Python )。 使用運行時時,您通常會執行以下步驟:

反序列化創建引擎的計劃(plan 文件)

從引擎創建執行上下文(context) 然后,反復:

填充輸入緩沖區以進行推理

調用enqueue()或execute()以運行推理

Engine接口( C++ 、 Python )代表一個優化模型。您可以查詢引擎以獲取有關網絡輸入和輸出張量的信息——預期的維度、數據類型、數據格式等。

ExecutionContext接口( C++ 、 Python )是調用推理的主要接口。執行上下文包含與特定調用關聯的所有狀態 – 因此您可以擁有與單個引擎關聯的多個上下文,并并行運行它們。

調用推理時,您必須在適當的位置設置輸入和輸出緩沖區。根據數據的性質,這可能在 CPU 或 GPU 內存中。如果根據您的模型不明顯,您可以查詢引擎以確定在哪個內存空間中提供緩沖區。

設置緩沖區后,可以同步(執行)或異步(入隊)調用推理。在后一種情況下,所需的內核在 CUDA 流上排隊,并盡快將控制權返回給應用程序。一些網絡需要在 CPU 和 GPU 之間進行多次控制傳輸,因此控制可能不會立即返回。要等待異步執行完成,請使用cudaStreamSynchronize在流上同步。

2.3. Plugins

TensorRT 有一個Plugin接口,允許應用程序提供 TensorRT 本身不支持的操作的實現。在轉換網絡時,ONNX 解析器可以找到使用 TensorRT 的PluginRegistry創建和注冊的插件。

TensorRT 附帶一個插件庫,其中許多插件和一些附加插件的源代碼可以在此處找到。

請參閱使用自定義層擴展 TensorRT一章。

2.4. Types and Precision

TensorRT 支持使用 FP32、FP16、INT8、Bool 和 INT32 數據類型的計算。 當 TensorRT 選擇 CUDA 內核在網絡中實現浮點運算時,它默認為 FP32 實現。有兩種方法可以配置不同的精度級別:

為了在模型級別控制精度, BuilderFlag選項( C++ 、 Python )可以向 TensorRT 指示它在搜索最快時可能會選擇較低精度的實現(并且因為較低的精度通常更快,如果允許的話,它通常會)。 因此,您可以輕松地指示 TensorRT 為您的整個模型使用 FP16 計算。對于輸入動態范圍約為 1 的正則化模型,這通常會產生顯著的加速,而準確度的變化可以忽略不計。

對于更細粒度的控制,由于網絡的一部分對數值敏感或需要高動態范圍,因此層必須以更高的精度運行,可以為該層指定算術精度。

請參閱降低精度部分。

2.5. Quantization

TensorRT 支持量化浮點,其中浮點值被線性壓縮并四舍五入為 8 位整數。這顯著提高了算術吞吐量,同時降低了存儲要求和內存帶寬。在量化浮點張量時,TensorRT 需要知道它的動態范圍——即表示什么范圍的值很重要——量化時會鉗制超出該范圍的值。

動態范圍信息可由構建器根據代表性輸入數據計算(這稱為校準–calibration)。或者,您可以在框架中執行量化感知訓練,并將模型與必要的動態范圍信息一起導入到 TensorRT。

請參閱使用 INT8章節。

2.6. Tensors and Data Formats

在定義網絡時,TensorRT 假設張量由多維 C 樣式數組表示。每一層對其輸入都有特定的解釋:例如,2D 卷積將假定其輸入的最后三個維度是 CHW 格式 – 沒有選項可以使用,例如 WHC 格式。有關每個層如何解釋其輸入,請參閱TensorRT 網絡層一章。

請注意,張量最多只能包含 2^31-1 個元素。 在優化網絡的同時,TensorRT 在內部執行轉換(包括到 HWC,但也包括更復雜的格式)以使用盡可能快的 CUDA 內核。通常,選擇格式是為了優化性能,而應用程序無法控制這些選擇。然而,底層數據格式暴露在 I/O 邊界(網絡輸入和輸出,以及將數據傳入和傳出插件),以允許應用程序最大限度地減少不必要的格式轉換。

請參閱I/O 格式部分

2.7. Dynamic Shapes

默認情況下,TensorRT 根據定義時的輸入形狀(批量大小、圖像大小等)優化模型。但是,可以將構建器配置為允許在運行時調整輸入維度。為了啟用此功能,您可以在構建器配置中指定一個或多個OptimizationProfile ( C++ 、 Python )實例,其中包含每個輸入的最小和最大形狀,以及該范圍內的優化點。

TensorRT 為每個配置文件創建一個優化的引擎,選擇適用于 [最小、最大] 范圍內的所有形狀的 CUDA 內核,并且對于優化點來說是最快的——通常每個配置文件都有不同的內核。然后,您可以在運行時在配置文件中進行選擇。

請參閱使用動態形狀一章。

2.8. DLA

TensorRT 支持 NVIDIA 的深度學習加速器 (DLA),這是許多 NVIDIA SoC 上的專用推理處理器,支持 TensorRT 層的子集。 TensorRT 允許您在 DLA 上執行部分網絡,而在 GPU 上執行其余部分;對于可以在任一設備上執行的層,您可以在構建器配置中逐層選擇目標設備。

請參閱使用 DLA章節。

2.9. Updating Weights

在構建引擎時,您可以指定它可能需要稍后更新其權重。如果您經常在不更改結構的情況下更新模型的權重,例如在強化學習中或在保留相同結構的同時重新訓練模型時,這將很有用。權重更新是通過Refitter ( C++ , Python ) 接口執行的。

請參閱Refitting An Engine 部分。

2.10. trtexec

示例目錄中包含一個名為trtexec的命令行包裝工具。 trtexec是一種無需開發自己的應用程序即可快速使用 TensorRT 的工具。 trtexec工具有三個主要用途:

在隨機或用戶提供的輸入數據上對網絡進行基準測試。

從模型生成序列化引擎。

從構建器生成序列化時序緩存。

請參閱trtexec部分。

2.11. Polygraphy

Polygraphy 是一個工具包,旨在幫助在 TensorRT 和其他框架中運行和調試深度學習模型。它包括一個Python API和一個使用此 API 構建的命令行界面 (CLI) 。

除此之外,使用 Polygraphy,您可以:

在多個后端之間運行推理,例如 TensorRT 和 ONNX-Runtime,并比較結果(例如API 、 CLI )

將模型轉換為各種格式,例如具有訓練后量化的 TensorRT 引擎(例如API 、 CLI )

查看有關各種類型模型的信息(例如CLI )

在命令行上修改 ONNX 模型:

提取子圖(例如CLI )

簡化和清理(例如CLI )

隔離 TensorRT 中的錯誤策略(例如CLI )

關于作者

Ken He 是 NVIDIA 企業級開發者社區經理 & 高級講師,擁有多年的 GPU 和人工智能開發經驗。自 2017 年加入 NVIDIA 開發者社區以來,完成過上百場培訓,幫助上萬個開發者了解人工智能和 GPU 編程開發。在計算機視覺,高性能計算領域完成過多個獨立項目。并且,在機器人無人機領域,有過豐富的研發經驗。對于圖像識別,目標的檢測與跟蹤完成過多種解決方案。曾經參與 GPU 版氣象模式GRAPES,是其主要研發者。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5196

    瀏覽量

    105520
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4889

    瀏覽量

    130458
  • 人工智能
    +關注

    關注

    1804

    文章

    48503

    瀏覽量

    245261
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    USB 3.0工業采集卡功能與應用詳解

    處理和分析。以下是其關鍵特點和應用場景的詳細說明:核心功能與特點1.高速傳輸USB3.0理論帶寬為5Gbps(實際有效速率約400MB/s),適合高分辨率圖像、高
    的頭像 發表于 04-08 15:21 ?232次閱讀
    USB 3.0工業采集卡<b class='flag-5'>功能與</b>應用詳解

    泰克示波器功率分析功能應用

    的性能與穩定性。傳統的功率測試方法往往需要復雜的設備配置,測量過程繁瑣且容易出現誤差。而泰克示波器憑借其先進的功率分析功能,徹底改變了這一現狀,為工程師們提供了高效、精準且易于操作的解決方案。 一、泰克示波
    的頭像 發表于 02-20 16:57 ?289次閱讀
    泰克示波器功率<b class='flag-5'>分析</b><b class='flag-5'>功能</b>應用

    無人機自動巡檢系統功能與應用

    無人機自動巡檢系統功能與應用 無人機自動巡檢系統是一種基于無人機技術的自動化巡檢解決方案,廣泛應用于電力、交通、通信、石油、光伏等多個行業。該系統集成了無人機平臺、傳感器、自動飛行控制系統、數據采集
    的頭像 發表于 01-22 17:05 ?473次閱讀

    工業繼電器的功能與作用分析

    輸入信號(如電壓、電流、溫度等)的變化,自動切換電路的通斷狀態。工業繼電器可以根據其功能和用途被分為多種類型,包括電壓繼電器、電流繼電器、時間繼電器、溫度繼電器等。 二、工業繼電器的基本功能 信號放大 :工業繼
    的頭像 發表于 12-28 11:07 ?856次閱讀

    在NVIDIA TensorRT-LLM中啟用ReDrafter的一些變化

    Recurrent Drafting (簡稱 ReDrafter) 是蘋果公司為大語言模型 (LLM) 推理開發并開源的一種新型推測解碼技術,該技術現在可與 NVIDIA TensorRT-LLM 一起使用。
    的頭像 發表于 12-25 17:31 ?564次閱讀
    在NVIDIA <b class='flag-5'>TensorRT</b>-LLM中啟用ReDrafter的一些變化

    解鎖NVIDIA TensorRT-LLM的卓越性能

    NVIDIA TensorRT-LLM 是一個專為優化大語言模型 (LLM) 推理而設計的庫。它提供了多種先進的優化技術,包括自定義 Attention Kernel、Inflight
    的頭像 發表于 12-17 17:47 ?611次閱讀

    NVIDIA TensorRT-LLM Roadmap現已在GitHub上公開發布

    感謝眾多用戶及合作伙伴一直以來對NVIDIA TensorRT-LLM的支持。TensorRT-LLM 的 Roadmap 現已在 GitHub 上公開發布!
    的頭像 發表于 11-28 10:43 ?560次閱讀
    NVIDIA <b class='flag-5'>TensorRT</b>-LLM Roadmap現已在GitHub上公開發布

    工業物聯網盒子核心功能與技術特點

    將這些數據上傳至云端或本地服務器進行分析處理。工業物聯網盒子不僅是數據采集的前端,也是實現設備遠程監控、預測性維護、能效優化等高級應用的基礎。 一、核心功能與技術特點 工業物聯網盒子的核心功能與技術特點,使其能
    的頭像 發表于 11-22 17:21 ?555次閱讀

    TensorRT-LLM低精度推理優化

    本文將分享 TensorRT-LLM 中低精度量化內容,并從精度和速度角度對比 FP8 與 INT8。首先介紹性能,包括速度和精度。其次,介紹量化工具 NVIDIA TensorRT Model
    的頭像 發表于 11-19 14:29 ?991次閱讀
    <b class='flag-5'>TensorRT</b>-LLM低精度推理優化

    MCU性能與功能:優化設計的關鍵

    MCU(微控制單元)是現代電子產品中不可或缺的核心組件,廣泛應用于家電、汽車、工業控制、醫療設備及消費電子等領域。隨著科技的不斷發展,MCU的性能與功能得到了前所未有的提升,而優化設計成為推動這一變化的關鍵所在。
    的頭像 發表于 11-01 13:26 ?707次閱讀

    LIMS系統的功能與特點分析

    、材料、方法、項目、樣品、數據和結果,以實現實驗室的自動化、信息化和網絡化管理。 1. 功能分析 1.1 樣品管理 樣品登記 :記錄樣品的基本信息,如樣品編號、來源、類型、接收時間等。 樣品追蹤 :追蹤樣品在實驗室中的流轉過程,包括樣品的接收、處理、分析和存儲等。 樣品存
    的頭像 發表于 10-28 17:02 ?1209次閱讀

    將RAM清除功能與bq3285/bq3287A RTC結合使用

    電子發燒友網站提供《將RAM清除功能與bq3285/bq3287A RTC結合使用.pdf》資料免費下載
    發表于 10-24 09:43 ?0次下載
    將RAM清除<b class='flag-5'>功能與</b>bq3285/bq3287A RTC結合使用

    電子地圖的主要功能與應用

    電子地圖,即數字地圖,是利用計算機技術,以數字方式存儲和查閱的地圖。它不僅繼承了傳統紙質地圖的基本功能,還通過現代科技手段實現了諸多創新應用。以下是電子地圖的主要功能與應用: 一、主要功能 快速存取
    的頭像 發表于 09-12 11:18 ?3569次閱讀
    電子地圖的主要<b class='flag-5'>功能與</b>應用

    機器人電動升降柱功能與特點

    電子發燒友網站提供《機器人電動升降柱功能與特點.docx》資料免費下載
    發表于 09-11 14:19 ?0次下載

    聆思CSK6芯片性能與應用前景分析

    聆思CSK6芯片性能與應用前景分析
    的頭像 發表于 05-15 09:11 ?1117次閱讀
    主站蜘蛛池模板: 天天都色| 日日干狠狠操 | 玖玖精品国产 | 国产精品福利午夜一级毛片 | 人与禽一级一级毛片 | 三级黄色在线观看 | 欧美成人全部免费观看1314色 | 久久久久久久影院 | 成人观看天堂在线影片 | 免费视频在线播放 | 久久看免费视频 | 日本三级黄色录像 | 夜夜艹天天干 | 嫩草影院播放地址一二三 | 中文字幕第13亚洲另类 | 最近在线视频免费观看2019 | 窝窝午夜在线观看免费观看 | 国产特黄1级毛片 | 国产又爽又黄又粗又大 | 性香港xxxxx免费视频播放 | 大伊人网 | 亚洲区一二三四区2021 | www.av天天| 日本视频www | 欧美一级视频在线观看欧美 | 午夜伦理片在线观看 | 唐人呦一呦xxxx视频 | 狠狠干.com| 色欲香天天天综合网站 | bt种子在线www天堂官网 | 都市禁忌猎艳风流美妇 | 天天视频黄 | 午夜免费剧场 | 91寡妇天天综合久久影院 | 毛片大全高清免费 | 韩国理论片在线看2828dy | 色老二精品视频在线观看 | 欧美美女被日 | 亚洲色图综合网 | 精品欧美一区二区三区在线观看 | 久久久噜噜噜久久中文字幕色伊伊 |