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

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

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

3天內(nèi)不再提示

YOLOv8模型ONNX格式INT8量化輕松搞定

OpenCV學堂 ? 來源:OpenCV學堂 ? 2023-07-18 09:34 ? 次閱讀

ONNX格式模型量化

深度學習模型量化支持深度學習模型部署框架支持的一種輕量化模型與加速模型推理的一種常用手段,ONNXRUNTIME支持模型的簡化、量化等腳本操作,簡單易學,非常實用。 ONNX 模型量化常見的量化方法有三種:動態(tài)量化、靜態(tài)量化、感知訓練量化,其中ONNXRUNTIME支持的動態(tài)量化機制非常簡單有效,在保持模型精度基本不變的情況下可以有效減低模型的計算量,可以輕松實現(xiàn)INT8量化。

動態(tài)量化:此方法動態(tài)計算激活的量化參數(shù)(刻度和零點)。
靜態(tài)量化:它利用校準數(shù)據(jù)來計算激活的量化參數(shù)。
量化感知訓練量化:在訓練時計算激活的量化參數(shù),訓練過程可以將激活控制在一定范圍內(nèi)。
當前ONNX支持的量化操作主要有:

e0acd6fc-24b2-11ee-962d-dac502259ad0.png

Opset版本最低不能低于10,低于10不支持,必須重新轉(zhuǎn)化為大于opset>10的ONNX格式。模型量化與圖結(jié)構(gòu)優(yōu)化有些是不能疊加運用的,模型開發(fā)者應該意識這點,選擇適當?shù)哪P蛢?yōu)化方法。 ONNXRUNTIME提供的模型量化接口有如下三個:

quantize_dynamic:動態(tài)量化
quantize_static:靜態(tài)量化
quantize_qat:量化感知訓練量化

FP16量化

首先需要安裝好ONNX支持的FP16量化包,然后調(diào)用相關接口即可實現(xiàn)FP16量化與混合精度量化。安裝FP16量化支持包命令行如下:

pip install onnx onnxconverter-common

實現(xiàn)FP16量化的代碼如下:

e0c49292-24b2-11ee-962d-dac502259ad0.png

INT8量化

最簡單的量化方式是動態(tài)量化與靜態(tài)量化。選擇感知訓練量化機制,即可根據(jù)輸入ONNX格式模型生成INT8量化模型,代碼如下:

e0edb3f2-24b2-11ee-962d-dac502259ad0.png

案例說明

YOLOv8自定義模型ONNXINT8量化版本對象檢測演示 以作者訓練自定義YOLOv8模型為例,導出DM檢測模型大小為,對比導出FP32版本與INT8版本模型大小,相關對比信息如下:

e10cf1ea-24b2-11ee-962d-dac502259ad0.png

使用FP32版本實現(xiàn)DM碼檢測,運行截圖如下:

e13ad98e-24b2-11ee-962d-dac502259ad0.png

使用INT8版本實現(xiàn)DM碼檢測,運行截圖如下:

e15759ec-24b2-11ee-962d-dac502259ad0.png

ONNXRUNTIME更多演示

YOLOv8對象檢測 C++

e17efd08-24b2-11ee-962d-dac502259ad0.jpg

YOLOv8實例分割模型 C++ 推理:

e18e3cf0-24b2-11ee-962d-dac502259ad0.jpg

UNet語義分割模型 C++ 推理:

e19fa01c-24b2-11ee-962d-dac502259ad0.png

Mask-RCNN實例分割模型 C++ 推理:

e1b23d58-24b2-11ee-962d-dac502259ad0.png

YOLOv8姿態(tài)評估模型 C++ 推理:

e1da8510-24b2-11ee-962d-dac502259ad0.png

e217f3b4-24b2-11ee-962d-dac502259ad0.png

人臉關鍵點檢測模型 C++ 推理:

e24c7eae-24b2-11ee-962d-dac502259ad0.png

人臉關鍵點檢測模型 Python SDK 推理:

e28298ae-24b2-11ee-962d-dac502259ad0.png

學會用C++部署YOLOv5與YOLOv8對象檢測,實例分割,姿態(tài)評估模型,TorchVision框架下支持的Faster-RCNN,RetinaNet對象檢測、MaskRCNN實例分割、Deeplabv3 語義分割模型等主流深度學習模型導出ONNX與C++推理部署,輕松解決Torchvision框架下模型訓練到部署落地難題。





審核編輯:劉清

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

    關注

    0

    文章

    147

    瀏覽量

    6969
  • python
    +關注

    關注

    56

    文章

    4782

    瀏覽量

    84451

原文標題:YOLOv8模型ONNX格式INT8量化輕松搞定

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

收藏 人收藏

    評論

    相關推薦

    esp-dl int8量化模型數(shù)據(jù)集評估精度下降的疑問求解?

    一 試著將模型進行了esp-dl上int16和int8量化,并在測試數(shù)據(jù)集上進行精度評估,其中int16的
    發(fā)表于 06-28 15:10

    yolov7 onnx模型在NPU上太慢了怎么解決?

    我將 yolov7tiny.pt(yolov7-tiny 模型)轉(zhuǎn)換為具有 uint8 權重的 yolov7tiny.onnx,然后在 i.
    發(fā)表于 04-04 06:13

    INT8量化常見問題的解決方案

    一、int8的輸出和fp32模型輸出差異比較大 解決方案: 檢查前后處理是否有問題,int8網(wǎng)絡輸入輸出一般需要做scale處理,看看是否遺漏? 通過量化可視化工具分析
    發(fā)表于 09-19 06:09

    【愛芯派 Pro 開發(fā)板試用體驗】yolov8模型轉(zhuǎn)換

    換為onnx格式。 下載yolov8n.pt 將PyTorch模型格式轉(zhuǎn)為onnx
    發(fā)表于 11-20 12:19

    NCNN+Int8+yolov5部署和量化

    【GiantPandaCV引言】?還記得我在兩個月前寫的文章嗎,關于yolov4-tiny+ncnn+int8量化的詳細教程:NCNN+INT8+YOLOV4量化
    發(fā)表于 01-25 16:01 ?2次下載
    NCNN+<b class='flag-5'>Int8+yolov</b>5部署和<b class='flag-5'>量化</b>

    Int8量化-ncnn社區(qū)Int8重構(gòu)之路

    本文是對NCNN社區(qū)int8模塊的重構(gòu)開發(fā),再也不用擔心溢出問題了,速度也還行。作者:圈圈蟲首發(fā)知乎傳送門ncnnBUG1989/caffe-int8-conver...
    發(fā)表于 02-07 12:38 ?1次下載
    <b class='flag-5'>Int8</b><b class='flag-5'>量化</b>-ncnn社區(qū)<b class='flag-5'>Int8</b>重構(gòu)之路

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

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

    YOLOv8自定義數(shù)據(jù)集訓練到模型部署推理簡析

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

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

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

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

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

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

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

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

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

    OpenCV4.8+YOLOv8對象檢測C++推理演示

    自從YOLOv5更新成7.0版本,YOLOv8推出以后,OpenCV4.6以前的版本都無法再加載導出ONNX格式模型了,只有OpenCV4.
    的頭像 發(fā)表于 09-27 11:07 ?1445次閱讀
    OpenCV4.8+<b class='flag-5'>YOLOv8</b>對象檢測C++推理演示

    Yolo系列模型的部署、精度對齊與int8量化加速

    可視化其他量化形式的engine和問題engine進行對比,我們發(fā)現(xiàn)是一些層的int8量化會出問題,由此找出問題量化節(jié)點解決。
    的頭像 發(fā)表于 11-23 16:40 ?1189次閱讀

    基于YOLOv8的自定義醫(yī)學圖像分割

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