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

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

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

3天內不再提示

NNCF壓縮與量化YOLOv8模型與OpenVINO部署測試

OpenCV學堂 ? 來源:OpenCV學堂 ? 2023-11-20 10:46 ? 次閱讀

NNCF介紹

OpenVINO2023版本衍生出了一個新支持工具包NNCF(Neural Network Compression Framework – 神經網絡壓縮框架),通過對OpenVINO IR格式模型的壓縮與量化更好的提升模型在OpenVINO框架上部署的推理性能。

安裝NNCF

pip install nncf

NNCF關鍵特性

訓練后壓縮算法支持權重壓縮與量化,訓練時壓縮算法支持感知量化、混合精度量化、二值、稀疏、過濾剪枝、運動剪枝等算法。圖示如下:

4c7841b6-8744-11ee-939d-92fbcf53809c.png

YOLOv8量化壓縮

基于NNCF實現YOLOv8預訓練模型的訓練后量化壓縮(PTQ),實現INT8量化YOLOv8模型生成。首先需要使用YOLOv8命令行工具導出OpenVINO格式模型,命令行如下:

yolo export model=yolov8n.pt format=openvino
然后基于YOLOv8框架的函數構建一個YOLOv8模型對應的COCO數據集的Validator,相關的代碼如下:

4c7f8ac0-8744-11ee-939d-92fbcf53809c.png

官方給出的代碼里面是有個ValidatorClass,但是我發現YOLOv8框架早已經不支持,這里其實主要是構建自己的Dataset跟DataLoader而已,簡單粗暴的點是可以自己直接構建,就是要寫點代碼。我發現了YOLOv8框架里面有個DetectionValidator是可以用的,于是我就用這個,然后直接給一個圖像文件夾就可以獲取dataloader實例了。準備好驗證數據以后,就是最后一步了,啟動模型INT8量化,相關的代碼如下:

4c8bf17a-8744-11ee-939d-92fbcf53809c.png

這樣就可以完成PTQ量化模型的生成。最后這部分的代碼,其實在GITHUB的官方教程上是有說明跟給出的,我這里再貼一下:

4c9fe996-8744-11ee-939d-92fbcf53809c.png

就是說,實際上針對自定義數據集,你自己構建一個DataLoader即可。

量化版YOLOv8推理測試

基于量化版本,基于OpenVINO C++ SDK在不同的部署與加速方式下,最終的測試結果如下:

4ce553c8-8744-11ee-939d-92fbcf53809c.png

從此,我又相信YOLOv8+OpenVINO了。

特別說明

請用OpenVINO20023.1版本測試。

審核編輯:湯梓紅

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

    關注

    1

    文章

    3171

    瀏覽量

    48711
  • 數據集
    +關注

    關注

    4

    文章

    1205

    瀏覽量

    24641
  • OpenVINO
    +關注

    關注

    0

    文章

    87

    瀏覽量

    181

原文標題:NNCF壓縮與量化YOLOv8模型與OpenVINO部署測試

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

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

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

    在C++中使用OpenVINO工具包部署YOLOv5模型

    下載并轉換YOLOv5預訓練模型的詳細步驟,請參考:《基于OpenVINO?2022.2和蝰蛇峽谷優化并部署YOLOv5
    的頭像 發表于 02-15 16:53 ?4572次閱讀

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

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

    在AI愛克斯開發板上用OpenVINO?加速YOLOv8分類模型

    本系列文章將在 AI 愛克斯開發板上使用 OpenVINO 開發套件依次部署并測評 YOLOv8 的分類模型、目標檢測模型、實例分割
    的頭像 發表于 05-05 11:47 ?1015次閱讀
    在AI愛克斯開發板上用<b class='flag-5'>OpenVINO</b>?加速<b class='flag-5'>YOLOv8</b>分類<b class='flag-5'>模型</b>

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

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

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

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

    在AI愛克斯開發板上用OpenVINO?加速YOLOv8-seg實例分割模型

    《在 AI 愛克斯開發板上用 OpenVINO 加速 YOLOv8 目標檢測模型》介紹了在 AI 愛克斯開發板上使用 OpenVINO 開發套件部署
    的頭像 發表于 06-05 11:52 ?966次閱讀
    在AI愛克斯開發板上用<b class='flag-5'>OpenVINO</b>?加速<b class='flag-5'>YOLOv8</b>-seg實例分割<b class='flag-5'>模型</b>

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

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

    在AI愛克斯開發板上用OpenVINO?加速YOLOv8-seg實例分割模型

    《在 AI 愛克斯開發板上用 OpenVINO 加速 YOLOv8 目標檢測模型》介紹了在 AI 愛克斯開發板上使用 OpenVINO 開發套件部署
    的頭像 發表于 06-30 10:43 ?872次閱讀
    在AI愛克斯開發板上用<b class='flag-5'>OpenVINO</b>?加速<b class='flag-5'>YOLOv8</b>-seg實例分割<b class='flag-5'>模型</b>

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

    深度學習模型部署OpenVINO、ONNXRUNTIME、TensorRT三個主流框架,均支持Python與C++的SDK使用。對YOLOv5~Y
    的頭像 發表于 08-06 11:39 ?2652次閱讀

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

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

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

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

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

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

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

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