chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

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

jf_pmFSk4VX ? 來源:GiantPandaCV ? 2023-11-23 16:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

大家好,我是海濱。寫這篇文章的目的是為宣傳我在23年初到現在完成的一項工作---Yolo系列模型在TensorRT上的部署與量化加速,目前以通過視頻的形式在B站發(fā)布(不收費,只圖一個一劍三連)。

麻雀雖小但五臟俱全,本項目系統(tǒng)介紹了YOLO系列模型在TensorRT上的量化方案,工程型較強,我們給出的工具可以實現不同量化方案在Yolo系列模型的量化部署,無論是工程實踐還是學術實驗,相信都會對你帶來一定的幫助。

B站地址(求關注和三連):https://www.bilibili.com/video/BV1Ds4y1k7yr/

Github開源地址(求star):https://github.com/thb1314/mmyolo_tensorrt/

當時想做這個的目的是是為了總結一下目標檢測模型的量化加速到底會遇到什么坑,只是沒想到不量化坑都會很多。

比如即使是以FP32形式推理,由于TensorRT算子參數的一些限制和TRT和torch內部實現的不同,導致torch推理結果會和TensorRT推理結果天然的不統(tǒng)一,至于為什么不統(tǒng)一這里賣個關子大家感興趣可以看下視頻。

下面說一下我們這個項目做了哪些事情

YOLO系列模型在tensorrt上的部署與精度對齊

該項目詳細介紹了Yolo系列模型在TensorRT上的FP32的精度部署,基于mmyolo框架導出各種yolo模型的onnx,在coco val數據集上對齊torch版本與TensorRT版本的精度。

在此過程中我們發(fā)現,由于TopK算子限制和NMS算子實現上的不同,我們無法完全對齊torch和yolo模型的精度,不過這種風險是可解釋且可控的。

詳解TensorRT量化的三種實現方式

TensorRT量化的三種實現方式包括trt7自帶量化、dynamic range api,trt8引入的QDQ算子。

Dynamic range api會在采用基于MQbench框架做PTQ時講解。

TensorRT引入的QDQ算子方式在針對Yolo模型的PTQ和QAT方式時都有詳細的闡述,當然這個過程也沒有那么順利。

在基于PytorchQuantization導出的含有QDQ節(jié)點的onnx時,我們發(fā)現盡管量化版本的torch模型精度很高,但是在TensorRT部署時精度卻很低,TRT部署收精度損失很嚴重,通過可視化其他量化形式的engine和問題engine進行對比,我們發(fā)現是一些層的int8量化會出問題,由此找出問題量化節(jié)點解決。

詳解MQbench量化工具包在TensorRT上的應用

我們研究了基于MQbench框架的普通PTQ算法和包括Adaround高階PTQ算法,且啟發(fā)于Adaround高階PTQ算法。

我們將torch版本中的HistogramObserver引入到MQBench中,activation采用HistogramObserverweight采用MinMaxObserver,在PTQ過程中,weight的校準前向傳播一次,activation的校準需要多次因此我們將weight的PTQ過程和activation的PTQ過程分開進行,加速PTQ量化。實踐證明,我們采用上述配置的分離PTQ量化在yolov8上可以取得基本不掉點的int8量化精度。

針對YoloV6這種難量化模型,分別采用部分量化和QAT來彌補量化精度損失

在部分量化階段,我們采用量化敏感層分析技術來判斷哪些層最需要恢復原始精度,給出各種metric的量化敏感層實現。

在QAT階段,不同于原始Yolov6論文中蒸餾+RepOPT的方式,我們直接采用上述部分量化后的模型做出初始模型進行finetune,結果發(fā)現finetune后的模型依然取得不錯效果。

針對旋轉目標檢測,我們同樣給出一種端到端方案,最后的輸出就是NMS后的結果。通過將TensorRT中的EfficientNMS Plugin和mmcv中旋轉框iou計算的cuda實現相結合,給出EfficientNMS for rotated box版本,經過簡單驗證我們的TRT版本與Torch版本模型輸出基本對齊。

以上就是我們這個項目做的事情,歡迎各位看官關注b站和一劍三連。同時,如果各位有更好的想法也歡迎給我們的git倉庫提PR。

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

    關注

    23

    文章

    4800

    瀏覽量

    98505
  • 模型
    +關注

    關注

    1

    文章

    3810

    瀏覽量

    52253
  • 精度
    +關注

    關注

    0

    文章

    274

    瀏覽量

    20831

原文標題:Yolo系列模型的部署、精度對齊與int8量化加速

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【幸狐Omni3576邊緣計算套件試用體驗】YOLO26 板端部署

    提供了一個模型系列,該模型系列在小對象上實現了更高的精度,提供了無縫部署,并且在CPU 上的運行
    發(fā)表于 04-19 22:02

    量化模型在 iMX93 NPU 上運行,但輸出不正確怎么解決

    良好的精度,但 int8 輸出似乎完全隨機。在對一些訓練數據進行測試后,應該為正的幀的范圍是 -128 到 127,應該為負的幀也是如此。我是否誤解了輸出,或者在轉換或量化模型時出了問
    發(fā)表于 03-18 07:53

    【瑞薩AI挑戰(zhàn)賽】手寫數字識別模型在RA8P1 Titan Board上的部署

    如下: 支持.onnx、.tflite、.pte等多種深度學習模型格式的直接轉換; 內置量化功能,可完成模型INT8量化,降低
    發(fā)表于 03-15 20:42

    AWQ/GPTQ量化模型加載與顯存優(yōu)化實戰(zhàn)

    大語言模型(LLM)推理顯存需求呈指數級增長,70B參數的模型需要約140GB顯存(FP16),遠超單卡GPU容量。量化技術通過降低模型參數精度
    的頭像 發(fā)表于 03-13 09:45 ?548次閱讀

    基于Arm平臺的端到端int8 Conformer模型部署

    在邊緣側運行高質量的語音與音頻模型頗具挑戰(zhàn),需滿足時延、內存、功耗和模型大小等多方面的嚴苛約束。不同于云端部署,邊緣側系統(tǒng)通常離線運行,需兼顧用戶隱私與可預測的實時性能。這些落地場景涵蓋端側語音轉文本、語音助手、語音控制的物聯網
    的頭像 發(fā)表于 02-24 10:23 ?417次閱讀
    基于Arm平臺的端到端<b class='flag-5'>int8</b> Conformer<b class='flag-5'>模型</b><b class='flag-5'>部署</b>

    專為邊緣而生:深度解析昆侖芯K100 AI加速卡,釋放128 TOPS極致能效

    昆侖芯K100邊緣AI加速卡以75W超低功耗實現128 TOPS的INT8算力,重新定義邊緣推理能效標準。其半高半長設計搭載8GB HBM內存與256GB/s帶寬,支持INT8至FP3
    的頭像 發(fā)表于 12-14 11:12 ?3146次閱讀
    專為邊緣而生:深度解析昆侖芯K100 AI<b class='flag-5'>加速</b>卡,釋放128 TOPS極致能效

    部署量化YOLO模型

    YOLO物聯網聆思CSK6
    的頭像 發(fā)表于 12-14 07:47 ?1631次閱讀

    Termux手機攝像頭采集圖像/視頻流 部署 YOLO 模型推理

    Termux手機攝像頭采集圖像/視頻流 部署 YOLO 模型推理
    的頭像 發(fā)表于 12-14 07:26 ?3271次閱讀

    如何精準驅動菜品識別模型--基于米爾瑞芯微RK3576邊緣計算盒

    優(yōu)化: 支持將FP32模型量化INT8INT16精度,在保證精度的同時,大幅減小
    發(fā)表于 10-31 21:19

    小白必讀:到底什么是FP32、FP16、INT8?

    網上關于算力的文章,如果提到某個芯片或某個智算中心的算力,都會寫:在FP32精度下,英偉達H100的算力大約為0.9PFlops。在FP16精度下,某智算中心的算力是6.7EFlops。在INT8
    的頭像 發(fā)表于 10-20 14:34 ?1632次閱讀
    小白必讀:到底什么是FP32、FP16、<b class='flag-5'>INT8</b>?

    如何進行YOLO模型轉換?

    我目前使用的轉模型代碼如下 from ultralytics import YOLOimport cv2import timeimport nncaseimport# 加載預訓練的YOLO模型
    發(fā)表于 08-14 06:03

    RK3576 Yolov11訓練部署教程

    1.Yolo11簡介YOLO11系列YOLO家族中最先進的(SOTA)、最輕量級、最高效的模型,其表現優(yōu)于其前輩。它由Ultralytic
    的頭像 發(fā)表于 07-25 15:22 ?1233次閱讀
    RK3576 Yolov11訓練<b class='flag-5'>部署</b>教程

    計算精度對比:FP64、FP32、FP16、TF32、BF16、int8

    、BF16、int8以及混合精度等。本文將淺顯易懂地介紹這些精度計算方式及其差別。什么是精度精度,是數據表示的一個重要參數,它決定了數據的
    的頭像 發(fā)表于 06-26 11:09 ?3220次閱讀
    計算<b class='flag-5'>精度</b>對比:FP64、FP32、FP16、TF32、BF16、<b class='flag-5'>int8</b>

    使用 NPU 插件對量化的 Llama 3.1 8b 模型進行推理時出現“從 __Int64 轉換為無符號 int 的錯誤”,怎么解決?

    推理量化的 Llama 3.1 8B 模型時遇到錯誤: Runtime error: Bad cast from __int64 to unsigned
    發(fā)表于 06-25 07:20

    為什么無法在GPU上使用INT8INT4量化模型獲得輸出?

    安裝OpenVINO? 2024.0 版本。 使用 optimum-intel 程序包將 whisper-large-v3 模型轉換為 int 4 和 int8,并在 GPU 上使用 OpenVINO? 運行推理。 沒有可用的
    發(fā)表于 06-23 07:11