91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

深度學習模型轉成TensorRT引擎的流程

NVIDIA英偉達企業(yè)解決方案 ? 來源:NVIDIA英偉達企業(yè)解決方案 ? 作者:NVIDIA英偉達企業(yè)解 ? 2022-05-25 11:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前面我們花了很多力氣在 TAO 上面訓練模型,其最終目的就是要部署到推理設備上發(fā)揮功能。除了將模型訓練過程進行非常大幅度的簡化,以及整合遷移學習等功能之外,TAO 還有一個非常重要的任務,就是讓我們更輕松獲得 TensorRT 加速引擎。

將一般框架訓練的模型轉換成 TensorRT 引擎的過程并不輕松,但是 TensorRT 所帶來的性能紅利又是如此吸引人,如果能避開麻煩又能享受成果,這是多么好的福利!

下圖是將一般模型轉成 TesnorRT 的標準步驟,在中間 “Builder” 右邊的環(huán)節(jié)是相對單純的,比較復雜的是 “Builder” 左邊的操作過程。

9d325b6e-db60-11ec-ba43-dac502259ad0.png

下圖就上圖 “NetworkDefinition” 比較深入的內容,TensorRT 提供 Caffe、uff 與 ONNX 三種解析器,其中 Caffe 框架已淡出市場、uff 僅支持 TensorFlow 框架,其他的模型就需要透過 ONNX 交換格式進行轉換。

9d87b744-db60-11ec-ba43-dac502259ad0.png

這里以 TensorRT 所提供的 YOLOv3 范例來做范例,在安裝 Jetpack 4.6 版本的 Jetson Nano 設備上進行體驗,請進入到 TesnorRT 的 YOLOv3 范例中:

cd  /usr/src/tensorrt/samples/python/yolov3_onnx

?

根據(jù)項目的 README.md 指示,我們需要先為工作環(huán)境添加依賴庫,不過由于部分庫的版本關系,請先將 requirements.txt 的第 1、3 行進行以下的修改:

numpy==1.19.4protobuf>=3.11.3onnx==1.10.1Pillow; python_version<"3.6"Pillow==8.1.2; python_version>="3.6"pycuda<2021.1

然后執(zhí)行以下指令進行安裝:

python3 -m pip install -r requirements.txt

接下來需要先下載 download.yml 里面的三個文件,

wget https://pjreddie.com/media/files/yolov3.weights wget https://raw.githubusercontent.com/pjreddie/darknet/f86901f6177dfc6116360a13cc06ab680e0c86b0/cfg/yolov3.cfg wgethttps://github.com/pjreddie/darknet/raw/f86901f6177dfc6116360a13cc06ab680e0c86b0/data/dog.jpg

然后就能執(zhí)行以下指令,將 yolov3.weights 轉成 yolov3.onnx

./yolov3_to_onnx.py  -d  /usr/src/tensorrt

這個執(zhí)行并不復雜,是因為 TensorRT 已經(jīng)提供 yolov3_to_onnx.py 的 Python 代碼,但如果將代碼打開之后,就能感受到這 750+ 行代碼要處理的內容是相當復雜,必須對 YOLOv3 的結構與算法有足夠了解,包括解析 yolov3.cfg 的 788 行配置。想象一下,如果這個代碼需要自行開發(fā)的話,這個難度有多高!

接下去再用下面指令,將 yolov3.onnx 轉成 yolov3.trt 加速引擎:

./onnx_to_tensorrt.py  -d  /usr/src/tensorrt

以上是從一般神經(jīng)網(wǎng)絡模型轉成 TensorRT 加速引擎的標準步驟,這需要對所使用的神經(jīng)網(wǎng)絡的結構層、數(shù)學公式、參數(shù)細節(jié)等等都有相當足夠的了解,才有能力將模型先轉換成 ONNX 文件,這是技術門檻比較高的環(huán)節(jié)。

  • TAO 工具訓練的模型轉成 TensorRT 引擎的工具

用 TAO 工具所訓練、修剪并匯出的 .etlt 文件,可以跳過上述過程,直接在推理設備上轉換成 TensorRT 加速引擎,我們完全不需要了解神經(jīng)網(wǎng)絡的任何結構與算法內容,直接將 .etlt 文件復制到推理設備上,然后用 TAO 所提供的轉換工具進行轉換就可以。

這里總共需要執(zhí)行三個步驟:

1、下載 tao-converter 工具,并調試環(huán)境:

請根據(jù)以下 Jetpack 版本,下載對應的 tao-converter 工具:

Jetpack 4.4:https://developer.nvidia.com/cuda102-trt71-jp44-0 Jetpack 4.5:https://developer.nvidia.com/cuda110-cudnn80-trt72-0 Jetpack 4.6:https://developer.nvidia.com/jp46-20210820t231431z-001zip

下載壓縮文件后執(zhí)行解壓縮,就會生成 tao-converterREADME.txt 兩個文件,再根據(jù) README.txt 的指示執(zhí)行以下步驟:

(1)安裝 libssl-dev 庫:

sudo  apt  install  libssl-dev

(2) 配置環(huán)境,請在 ~/.bashrc 最后面添加兩行設置:

export TRT_LIB_PATH=/usr/lib/aarch64-linux-gnuexportTRT_INCLUDE_PATH=/usr/include/aarch64-linux-gnu

(3) 將 tao-convert 變成可執(zhí)行文件:

source ~/.bashrcchmod  +x  tao-convertersudocptao-converter/usr/local/bin

2、安裝 TensorRT 的 OSS (Open Source Software)

這是 TensorRT 的開源插件,項目在 https://github.com/NVIDIA/TensorRT,下面提供的安裝說明非常復雜,我們將繁瑣的步驟整理之后,就是下面的步驟:

export  ARCH=請根據(jù)設備進行設置,例如Nano為53、NX為72、Xavier為62export  TRTVER=請根據(jù)系統(tǒng)的TensorRT版本,例如Jetpack 4.6為8.0.1git  clone  -b  $TRTVER  https://github.com/nvidia/TensorRT  TRToss cd  TRToss/git checkout  -b  $TRTVER  &&  git  submodule  update  --init  --recursivemkdir  -p  build  &&  cd  buildcmake .. -DGPU_ARCHS=$ARCH-DTRT_LIB_DIR=/usr/lib/aarch64-linux-gnu/-DCMAKE_C_COMPILER=/usr/bin/gcc-DTRT_BIN_DIR=`pwd`/out-DTRT_PLATFORM_ID=aarch64-DCUDA_VERSION=10.2make  nvinfer_plugin  -j$(nproc)sudomv/usr/lib/aarch64-linux-gnu/libnvinfer_plugin.so.8.0.1  /usr/lib/aarch64-linux-gnu/libnvinfer_plugin.so.8.0.1.baksudocplibnvinfer_plugin.so.8.0.1/usr/lib/aarch64-linux-gnu/libnvinfer_plugin.so.8.0.1

這樣就能開始用 tao-converter 來將 .etlt 文件轉換成 TensorRT 加速引擎了。

3、用 tao-converter 進行轉換

(1)首先將 TAO 最終導出 (export) 的文件復制到 Jetson Nano 上,例如前面的實驗中最終導出的文件 ssd_resnet18_epoch_080.etlt,

(2)在 Jetson Nano 上執(zhí)行 TAO 的 ssd.ipynb 最后所提供的轉換指令,如下:

%set_env KEY=tao converter  -k  $KEY -d  3,300,300     -o  NMS     -e  ssd_resnet18_epoch_080.trt   # 自己設定輸出名稱    -m  16     -t  fp16                       # 使用export時相同精度    -i  nchw ssd_resnet18_epoch_080.etlt

這樣就能生成在 Jetson Nano 上的 ssd_resnet18_epoch_080.trt 加速引擎文件,整個過程比傳統(tǒng)方式要簡便許多。

原文標題:NVIDIA Jetson Nano 2GB系列文章(64):將模型部署到Jetson設備

文章出處:【微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5598

    瀏覽量

    109807
  • 深度學習
    +關注

    關注

    73

    文章

    5599

    瀏覽量

    124418
  • 模型訓練
    +關注

    關注

    0

    文章

    21

    瀏覽量

    1546

原文標題:NVIDIA Jetson Nano 2GB系列文章(64):將模型部署到Jetson設備

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    機器學習特征工程:分類變量的數(shù)值化處理方法

    編碼是機器學習流程里最容易被低估的環(huán)節(jié)之一,模型沒辦法直接處理文本形式的分類數(shù)據(jù),尺寸(Small/Medium/Large)、顏色(Red/Blue/Green)、城市、支付方式等都是典型的分類
    的頭像 發(fā)表于 02-10 15:58 ?346次閱讀
    機器<b class='flag-5'>學習</b>特征工程:分類變量的數(shù)值化處理方法

    機器學習深度學習中需避免的 7 個常見錯誤與局限性

    無論你是剛入門還是已經(jīng)從事人工智能模型相關工作一段時間,機器學習深度學習中都存在一些我們需要時刻關注并銘記的常見錯誤。如果對這些錯誤置之不理,日后可能會引發(fā)諸多麻煩!只要我們密切關注
    的頭像 發(fā)表于 01-07 15:37 ?211次閱讀
    機器<b class='flag-5'>學習</b>和<b class='flag-5'>深度</b><b class='flag-5'>學習</b>中需避免的 7 個常見錯誤與局限性

    NVIDIA TensorRT LLM 1.0推理框架正式上線

    TensorRT LLM 作為 NVIDIA 為大規(guī)模 LLM 推理打造的推理框架,核心目標是突破 NVIDIA 平臺上的推理性能瓶頸。為實現(xiàn)這一目標,其構建了多維度的核心實現(xiàn)路徑:一方面,針對需
    的頭像 發(fā)表于 10-21 11:04 ?1198次閱讀

    DeepSeek R1 MTP在TensorRT-LLM中的實現(xiàn)與優(yōu)化

    。我們在之前的博客[1] 中介紹了 DeepSeek-R1 模型實現(xiàn)超低推理延遲的關鍵優(yōu)化措施。本文將深入探討 TensorRT-LLM 中的 MTP 實現(xiàn)與優(yōu)化。
    的頭像 發(fā)表于 08-30 15:47 ?4469次閱讀
    DeepSeek R1 MTP在<b class='flag-5'>TensorRT</b>-LLM中的實現(xiàn)與優(yōu)化

    自動駕駛中Transformer大模型會取代深度學習嗎?

    [首發(fā)于智駕最前沿微信公眾號]近年來,隨著ChatGPT、Claude、文心一言等大語言模型在生成文本、對話交互等領域的驚艷表現(xiàn),“Transformer架構是否正在取代傳統(tǒng)深度學習”這一話題一直被
    的頭像 發(fā)表于 08-13 09:15 ?4204次閱讀
    自動駕駛中Transformer大<b class='flag-5'>模型</b>會取代<b class='flag-5'>深度</b><b class='flag-5'>學習</b>嗎?

    RK3128 Android 7.1 進入深度休眠流程分析

    RK3128 Android 7.1 進入深度休眠流程分析RK3128是瑞芯微電子推出的一款低功耗四核Cortex-A7處理器,運行Android 7.1系統(tǒng)時進入深度休眠(Deep Sleep
    發(fā)表于 07-22 10:45

    信而泰×DeepSeek:AI推理引擎驅動網(wǎng)絡智能診斷邁向 “自愈”時代

    DeepSeek-R1:強大的AI推理引擎底座DeepSeek是由杭州深度求索人工智能基礎技術研究有限公司開發(fā)的新一代AI大模型。其核心優(yōu)勢在于強大的推理引擎能力,融合了自然語言處理(
    發(fā)表于 07-16 15:29

    寧暢與與百度文心大模型展開深度技術合作

    近日,百度正式開源文心大模型4.5系列模型。作為文心開源合作伙伴,寧暢在模型開源首日即實現(xiàn)即刻部署,做到“開源即接入、發(fā)布即可用”。據(jù)悉,文心4.5開源系列全部基于飛槳深度
    的頭像 發(fā)表于 07-07 16:26 ?883次閱讀

    如何在魔搭社區(qū)使用TensorRT-LLM加速優(yōu)化Qwen3系列模型推理部署

    TensorRT-LLM 作為 NVIDIA 專為 LLM 推理部署加速優(yōu)化的開源庫,可幫助開發(fā)者快速利用最新 LLM 完成應用原型驗證與產(chǎn)品部署。
    的頭像 發(fā)表于 07-04 14:38 ?2206次閱讀

    模型推理顯存和計算量估計方法研究

    隨著人工智能技術的飛速發(fā)展,深度學習模型在各個領域得到了廣泛應用。然而,大模型的推理過程對顯存和計算資源的需求較高,給實際應用帶來了挑戰(zhàn)。為了解決這一問題,本文將探討大
    發(fā)表于 07-03 19:43

    使用NVIDIA Triton和TensorRT-LLM部署TTS應用的最佳實踐

    針對基于 Diffusion 和 LLM 類別的 TTS 模型,NVIDIA Triton 和 TensorRT-LLM 方案能顯著提升推理速度。在單張 NVIDIA Ada Lovelace
    的頭像 發(fā)表于 06-12 15:37 ?1907次閱讀
    使用NVIDIA Triton和<b class='flag-5'>TensorRT</b>-LLM部署TTS應用的最佳實踐

    如何使用Docker部署大模型

    隨著深度學習和大模型的快速發(fā)展,如何高效地部署這些模型成為了一個重要的挑戰(zhàn)。Docker 作為一種輕量級的容器化技術,能夠將模型及其依賴環(huán)境
    的頭像 發(fā)表于 05-24 16:39 ?1145次閱讀

    模型時代的深度學習框架

    作者:算力魔方創(chuàng)始人/英特爾創(chuàng)新大使劉力 在 CNN時代 ,AI模型的參數(shù)規(guī)模都在百萬級別,僅需在單張消費類顯卡上即可完成訓練。例如,以業(yè)界知名的CNN模型: ResNet50 為例,模型參數(shù)
    的頭像 發(fā)表于 04-25 11:43 ?853次閱讀
    大<b class='flag-5'>模型</b>時代的<b class='flag-5'>深度</b><b class='flag-5'>學習</b>框架

    如何基于Kahn處理網(wǎng)絡定義AI引擎圖形編程模型

    本白皮書探討了如何基于 Kahn 處理網(wǎng)絡( KPN )定義 AI 引擎圖形編程模型。KPN 模型有助于實現(xiàn)數(shù)據(jù)流并行化,進而提高系統(tǒng)的整體性能。
    的頭像 發(fā)表于 04-17 11:31 ?877次閱讀
    如何基于Kahn處理網(wǎng)絡定義AI<b class='flag-5'>引擎</b>圖形編程<b class='flag-5'>模型</b>

    用樹莓派搞深度學習?TensorFlow啟動!

    介紹本頁面將指導您在搭載64位Bullseye操作系統(tǒng)的RaspberryPi4上安裝TensorFlow。TensorFlow是一個專為深度學習開發(fā)的大型軟件庫,它消耗大量資源。您可以在
    的頭像 發(fā)表于 03-25 09:33 ?1215次閱讀
    用樹莓派搞<b class='flag-5'>深度</b><b class='flag-5'>學習</b>?TensorFlow啟動!