精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

英偉達Jetson設備上的YOLOv8性能基準測試

柴火創客空間 ? 來源:柴火創客空間 ? 2023-04-12 14:27 ? 次閱讀

我們將談論在不同的NVIDIA Jetson 系列設備上運行YOLOv8 模型的性能基準測試。我們特別選擇了3種不同的Jetson設備進行測試,它們是 Jetson AGX Orin 32GB H01套件、使用Orin NX 16GB構建的reComputer J4012,以及使用Xavier NX 8GB構建的reComputer J2021。

什么是 YOLOv8 ?

YOLOv8 由 Ultralytics 公司開發,是一個尖端的、最先進的(SOTA)模型,它建立在以前的 YOLO 版本的成功基礎上,并引入了新的功能和改進,以進一步提高性能和靈活性。YOLOv8 被設計為快速、準確和易于使用,使其成為廣泛的物體檢測、圖像分割和圖像分類任務的絕佳選擇。

YOLOv8 模型

YOLOv8有不同的模型類型,基于參數的數量,將關系到模型的準確性。因此,模型越大,它就越準確。例如,YOLOv8x是最大的模型,它在所有模型中具有最高的準確性。

bea07312-d574-11ed-bfe3-dac502259ad0.png

為什么我們需要進行性能基準測試 ?

通過運行性能基準,你可以知道在特定設備上運行的特定模型類型可以獲得多大的推理性能。這對于NVIDIA Jetson平臺等嵌入式設備來說更為重要,因為如果你知道你的應用程序想要使用的確切模型類型,你就可以決定哪種硬件適合運行該模型。

為什么我們需要 TensorRT基準測試 ?

TensorRT是由NVIDIA開發的一個庫,用于在NVIDIA GPU上提高推理速度。TensorRT建立在CUDA之上,與運行PyTorch和ONNX等本地模型相比,在許多實時服務和嵌入式應用中,它的推理速度可以提高2到3倍。

在NVIDIA Jetson 設備上安裝YOLOv8

第1步:按照Wiki中的介紹步驟,在Jetson設備中安裝JetPack 系統。

第2步:按照wiki的 "安裝必要的軟件包 "和 "安裝PyTorch和Torchvision "部分,在Jetson設備上安裝YOLOv8。

如何運行基準測試 ?

當你在NVIDIA Jetson設備上安裝帶有SDK組件的NVIDIA JetPack時,會有一個名為trtexec的工具。該工具實際上位于隨SDK組件安裝而來的TensorRT內。這是一個使用TensorRT的工具,無需開發自己的應用程序。

trtexec工具有三個主要用途

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

從模型中生成序列化的引擎。

從構建器中生成一個序列化的時序緩存。

在這里,我們可以使用trtexec工具對不同參數的模型進行快速基準測試。但首先,你需要有一個ONNX模型,我們可以通過使用Ultralytics YOLOv8來生成這個ONNX模型。

第1步:使用ONNX模型建立:

yolo mode=export model=yolov8s.pt format=onnx

這將下載最新的yolov8s.pt模型并轉換為ONNX格式。

第2步:使用trtexec建立引擎文件,如下所示:

cd /usr/src/tensorrt/bin 
./trtexec  --onnx= --saveEngine=

比如說:

./trtexec --onnx=/home/nvidia/yolov8s.onnx -- saveEngine=/home/nvidia/yolov8s.engine

這將輸出性能結果,如下所示,同時生成一個.引擎文件。默認情況下,它將把ONNX轉換為FP32精度的TensorRT優化的文件,你可以看到輸出如下:

bebe1566-d574-11ed-bfe3-dac502259ad0.png

在這里,我們可以把平均延遲看作是7.2ms,換算成139FPS。

然而,如果你想要INT8精度,提供更好的性能,你可以執行上述命令,如下所示:

./trtexec --onnx=/home/nvidia/yolov8s.onnx --saveEngine=/home/nvidia/yolov8s.engine --int8

bed05802-d574-11ed-bfe3-dac502259ad0.png

在這里,我們可以把平均延遲看作是3.2ms,換算成313FPS。

如果你也想在FP16精度下運行,你可以執行如下命令:

./trtexec --onnx=/home/nvidia/yolov8s.onnx --saveEngine=/home/nvidia/yolov8s.engine --fp16

要檢查YOLOv8模型的默認PyTorch版本的性能,你可以簡單地運行推理并檢查延遲,如下所示:

yolo detect predict model=yolov8s.pt source='<>'

在這里,你可以根據本頁面上的表格來改變來源。

另外,如果你不指定來源,它將默認使用一個名為 "bus.jpg "的圖像。

基準測試結果

在進入基準測試結果之前,我將快速強調我們用于基準測試過程的每臺設備的AI性能。

Jetson Device AGX Orin 32GB H01 Kit reComputer J4012 built with Orin NX 16GB reComputer J2021 built with Xavier NX 8GB
AI Performance 200TOPS 100TOPS 21TOPS

現在我們將看一下基準圖,以比較YOLOv8在單個設備上的性能。我已經用640×640的默認PyTorch模型文件進行了所有的基準測試,如上文所解釋的那樣轉換為ONNX格式。

AGX Orin 32GB H01 Kit

bef0f724-d574-11ed-bfe3-dac502259ad0.png

reComputer J4012 built with Orin NX 16GB

bf0cfe38-d574-11ed-bfe3-dac502259ad0.png

reComputer J2021 built with Xavier NX 8GB

bf228f5a-d574-11ed-bfe3-dac502259ad0.png

正如我們所看到的,TensorRT可以帶來性能上的大幅提升。

接下來,我們將從不同的角度看一下基準圖,在不同的設備上比較每個YOLOv8模型的性能。

bf37a99e-d574-11ed-bfe3-dac502259ad0.png

bf4e5d74-d574-11ed-bfe3-dac502259ad0.png

如果我們比較一下最大的YOLOv8模型,即在上述3個設備上運行的YOLOv8x,我們會得到以下結果:

bf676030-d574-11ed-bfe3-dac502259ad0.png

正如你所看到的,在最大的YOLOv8x模型上使用INT8精度,我們可以在AGX Orin 32GB上實現約75的FPS,這對于一個嵌入式設備來說是非常令人印象深刻的!我們可以看到,在AGX Orin 32GB上的FPS為1.5,而在AGX Orin 32GB上的FPS為2.5!

AI 邊緣計算盒子

reComputer J2021-Edge AI 設備

J2021是一款采用Jetson Xavier NX 8GB模塊的邊緣AI設備,可提供高達21TOPS算力,豐富的IO端口包括USB 3.1端口(4x)、用于WIFI的M.2接口、用于SSD的M.2接口、RTC、CAN樹莓派 GPIO 40針擴展接口等;外殼采用鋁合金材質帶冷卻風扇,預裝JetPack系統,可以作為NVIDIA Jetson Xavier NX Dev Kit的替代品,為您的AI應用開發和部署提供支持。

reComputer J4012-Edge AI 邊緣計算設備

reComputer J4012是一款采用NVIDIA Jetson Orin NX 16GB模塊的邊緣AI設備,可提供高達100 TOPS算力的AI性能,并擁有豐富的IO接口,包括USB 3.2端口(4x)、HDMI 2.1、用于WIFI的M.2接口、用于SSD的M.2接口、RTC、CAN、樹莓派GPIO 40針接口等;外殼采用鋁合金材質自帶散熱風扇,預裝NVIDIA JetPack的Jetpack系統。作為NVIDIA Jetson生態系統的一部分,reComputer J4012可以為您的AI應用開發和部署提供支持。

寫在最后

根據上述所有基準測試,多年來,在英偉達Jetson Orin平臺等嵌入式設備上,推理性能似乎有了顯著提高,現在我們幾乎可以用這種緊湊的設備來匹配服務器級別的性能了!

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

    關注

    87

    文章

    30238

    瀏覽量

    268471
  • 基準測試
    +關注

    關注

    0

    文章

    19

    瀏覽量

    7583
  • 模型
    +關注

    關注

    1

    文章

    3178

    瀏覽量

    48729
  • 英偉達
    +關注

    關注

    22

    文章

    3749

    瀏覽量

    90854
  • 邊緣計算
    +關注

    關注

    22

    文章

    3070

    瀏覽量

    48659

原文標題:邊緣計算 | 英偉達Jetson設備上的YOLOv8性能基準測試

文章出處:【微信號:ChaiHuoMakerSpace,微信公眾號:柴火創客空間】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【愛芯派 Pro 開發板試用體驗】yolov8模型轉換

    通過開發板預制的ax_run_model 工具,測試模型速度和精度。 示例都是yolov5的,沒有yolov8,模型怎么運行還需進一步研究。
    發表于 11-20 12:19

    使用YOLOv8做目標檢測和實例分割的演示

    YOLOv8是來自Ultralytics的最新的基于YOLO的對象檢測模型系列,提供最先進的性能
    的頭像 發表于 02-06 10:11 ?7343次閱讀

    YOLOv8自定義數據集訓練到模型部署推理簡析

    如果你只是想使用而不是開發,強烈推薦通過pip安裝方式獲取YOLOv8包!YOLOv8安裝命令行
    的頭像 發表于 03-24 09:27 ?4603次閱讀

    在AI愛克斯開發板用OpenVINO?加速YOLOv8目標檢測模型

    《在 AI 愛克斯開發板用 OpenVINO 加速 YOLOv8 分類模型》介紹了在 AI 愛克斯開發板使用 OpenVINO 開發套件部署并測評 YOLOv8 的分類模型,本文將
    的頭像 發表于 05-12 09:08 ?1265次閱讀
    在AI愛克斯開發板<b class='flag-5'>上</b>用OpenVINO?加速<b class='flag-5'>YOLOv8</b>目標檢測模型

    YOLOv8版本升級支持小目標檢測與高分辨率圖像輸入

    YOLOv8版本最近版本又更新了,除了支持姿態評估以外,通過模型結構的修改還支持了小目標檢測與高分辨率圖像檢測。原始的YOLOv8模型結構如下。
    的頭像 發表于 05-16 11:14 ?1.2w次閱讀
    <b class='flag-5'>YOLOv8</b>版本升級支持小目標檢測與高分辨率圖像輸入

    AI愛克斯開發板使用OpenVINO加速YOLOv8目標檢測模型

    《在AI愛克斯開發板用OpenVINO加速YOLOv8分類模型》介紹了在AI愛克斯開發板使用OpenVINO 開發套件部署并測評YOLOv8的分類模型,本文將介紹在AI愛克斯開發板
    的頭像 發表于 05-26 11:03 ?1195次閱讀
    AI愛克斯開發板<b class='flag-5'>上</b>使用OpenVINO加速<b class='flag-5'>YOLOv8</b>目標檢測模型

    教你如何用兩行代碼搞定YOLOv8各種模型推理

    大家好,YOLOv8 框架本身提供的API函數是可以兩行代碼實現 YOLOv8 模型推理,這次我把這段代碼封裝成了一個類,只有40行代碼左右,可以同時支持YOLOv8對象檢測、實例分割、姿態評估模型的GPU與CPU
    的頭像 發表于 06-18 11:50 ?2989次閱讀
    教你如何用兩行代碼搞定<b class='flag-5'>YOLOv8</b>各種模型推理

    三種主流模型部署框架YOLOv8推理演示

    深度學習模型部署有OpenVINO、ONNXRUNTIME、TensorRT三個主流框架,均支持Python與C++的SDK使用。對YOLOv5~YOLOv8的系列模型,均可以通過C++推理實現模型
    的頭像 發表于 08-06 11:39 ?2662次閱讀

    解鎖YOLOv8修改+注意力模塊訓練與部署流程

    很多人也想跟修改YOLOv5源碼一樣的方式去修改YOLOv8的源碼,但是在github上面卻發現找到的YOLOv8項目下面TAG分支是空的
    的頭像 發表于 08-11 14:14 ?4191次閱讀
    解鎖<b class='flag-5'>YOLOv8</b>修改+注意力模塊訓練與部署流程

    如何修改YOLOv8的源碼

    很多人也想跟修改YOLOv5源碼一樣的方式去修改YOLOv8的源碼,但是在github上面卻發現找到的YOLOv8項目下面TAG分支是空的,然后就直接從master/main下面把源碼克隆出來一通
    的頭像 發表于 09-04 10:02 ?1922次閱讀
    如何修改<b class='flag-5'>YOLOv8</b>的源碼

    YOLOv8實現任意目錄下命令行訓練

    當你使用YOLOv8命令行訓練模型的時候,如果當前執行的目錄下沒有相關的預訓練模型文件,YOLOv8就會自動下載模型權重文件。這個是一個正常操作,但是你還會發現,當你在參數model中指定已有
    的頭像 發表于 09-04 10:50 ?1070次閱讀
    <b class='flag-5'>YOLOv8</b>實現任意目錄下命令行訓練

    日本yolov8用戶案例

    通過模擬人手臂的姿態來控制機械臂。演示的內容是使用USB攝像頭通過圖像識別估計手臂,并將mycobot制作成類似的手臂形狀。 視頻鏈接:https://youtu.be/h1H6pSvhQxQ 該項目主要使用Ultralytics YOLOv8來進行姿態的估計,結合機器視覺和機械臂的控制
    的頭像 發表于 12-18 15:51 ?601次閱讀
    日本<b class='flag-5'>yolov8</b>用戶案例

    基于YOLOv8的自定義醫學圖像分割

    YOLOv8是一種令人驚嘆的分割模型;它易于訓練、測試和部署。在本教程中,我們將學習如何在自定義數據集使用YOLOv8。但在此之前,我想告訴你為什么在存在其他優秀的分割模型時應該使用
    的頭像 發表于 12-20 10:51 ?738次閱讀
    基于<b class='flag-5'>YOLOv8</b>的自定義醫學圖像分割

    YOLOv8實現旋轉對象檢測

    YOLOv8框架在在支持分類、對象檢測、實例分割、姿態評估的基礎更近一步,現已經支持旋轉對象檢測(OBB),基于DOTA數據集,支持航拍圖像的15個類別對象檢測,包括車輛、船只、典型各種場地等。包含2800多張圖像、18W個實例對象。
    的頭像 發表于 01-11 10:43 ?1694次閱讀
    <b class='flag-5'>YOLOv8</b>實現旋轉對象檢測

    基于OpenCV DNN實現YOLOv8的模型部署與推理演示

    基于OpenCV DNN實現YOLOv8推理的好處就是一套代碼就可以部署在Windows10系統、烏班圖系統、Jetson的Jetpack系統
    的頭像 發表于 03-01 15:52 ?1424次閱讀
    基于OpenCV DNN實現<b class='flag-5'>YOLOv8</b>的模型部署與推理演示