一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何使用TPU-MLIR進行模型轉(zhuǎn)換

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-08-21 10:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

使用TPU-MLIR進行模型轉(zhuǎn)換的時候我們會在各個階段對比模型每一層輸出的相似度,以確保模型轉(zhuǎn)換的正確性,同時也能夠在適配過程中更方便地定位問題來源。

但我們并不知道轉(zhuǎn)換后的模型精度如何,特別是INT8量化后的模型輸出,往往與原模型輸出存在較大的區(qū)別(當然這個區(qū)別是在可接受的范圍內(nèi)的),光靠對比輸出的相似度我們并不能看出INT8模型的表現(xiàn)究竟怎么樣。所以,TPU-MLIR也提供了精度驗證的接口,來檢驗轉(zhuǎn)換后的模型表現(xiàn)。

在進行精度驗證前,首先我們需要準備好用于驗證的數(shù)據(jù)集,因為TPU-MLIR里沒有自帶完整的測試集,所以用于精度驗證的數(shù)據(jù)集需要大家自行下載,對于分類網(wǎng)絡(luò)主要使用的是IMAGENET2012的驗證集,一共有5w張圖片,而目標檢測網(wǎng)絡(luò)使用的是COCO2017的驗證集,共5k張圖。TPU-MLIR后續(xù)還會逐步支持更多類型,例如NLP領(lǐng)域的網(wǎng)絡(luò),未來也會開放。

另外,對于分類數(shù)據(jù)集的擺放方式,是將5w張圖片分別放在1000個子目錄中,對應imagenet里的1000個類別,每個類別下有50張屬于該類別的圖片,這類擺放方式自然就不再需要額外的標簽文件;

對于COCO數(shù)據(jù)集的話相對比較簡單,所有的圖片都是放在一個目錄下,每張圖片的類別信息都會從對應的json文件中提??;

wKgaomTeyfWAJ1I5AAIyc10Ac1Y100.jpg

準備好數(shù)據(jù)集后,我們就可以直接使用model_eval這一接口對mlir模型進行精度驗證,主要會用到這五個參數(shù):

model_file與dataset參數(shù)用于提供模型與數(shù)據(jù)集路徑

count用于明確我們要用來驗證精度的圖片數(shù)量,默認情況下是使用整個目錄下的數(shù)據(jù)集

dataset_type則是根據(jù)驗證的模型類型用于指定對應數(shù)據(jù)集的加載方式

postprocess_type則是用來明確輸出的后處理方式,然后用相應的metrics來計算精度

那這里不需要提供預處理信息嗎?

其實在mlir模型的input_op里就已經(jīng)包含了對數(shù)據(jù)的預處理信息,主要包括mean, scale, resize的尺寸與resize時是否保持高寬比, 輸入圖片數(shù)據(jù)的pixel_format等,其中Mean和scale用于對輸入的pixel value進行線性變換,與大家常用的mean與std相似,只不過它把normalize的部分融合進了mean與std中。

而對于模型的評估方式,分類網(wǎng)絡(luò)我們主要使用的是Top1與Top5 accuracy,也就是看模型輸出的概率中排序最高與前五的類別里是否包含了正確的類別,而目標檢測網(wǎng)絡(luò)我們使用的則是COCO官方的12個評估指標,從不同方面去驗證mlir模型的精度。

先將模型輸出的檢測框經(jīng)過non-maximum suppression剔除掉重疊與概率較低的候選框后再用剩下的計算與ground truth bounding box的IoU,然后根據(jù)不同指標的計算規(guī)則計算出相應的average precision與average recall。比如第一個指標是指從IoU=0.5到0.95每間隔0.05計算一次模型針對單個類別的precision, 然后取平均數(shù),再將所有類別的precision累加起來取平均數(shù),這其實就是mAP的其中一種計算方式,而其它兩個指標只采用了單個IoU threshold來計算AP。

COCO數(shù)據(jù)集還會按照物體所占的像素數(shù)量來區(qū)分大中小物體,TPU-MLIR也會分別對這些不同尺寸物體的檢測結(jié)果計算AP與AR來驗證mlir模型在檢測大中小物體上的精度

至于這個AR max=1,10和100指的是分別限制每張圖片只有1,10和100個概率最高的檢測結(jié)果,然后與第一個AP的計算方式相似,按照IoU threshold從0.5到0.95,每隔0.05計算一次單個類別的AR,先取AR在不同IoU下的平均值,再取AR在不同類別下的平均值。

TPU-MLIR目前在github上發(fā)布了一系列待解決的問題,非常歡迎對AI編譯器感興趣且想要在空閑時間豐富自己開源項目經(jīng)歷的朋友們來參與,與我們一起完善TPU-MLIR這個新一代的AI編譯器。

審核編輯:彭菁

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

    關(guān)注

    14

    文章

    7810

    瀏覽量

    90900
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1224

    瀏覽量

    25434
  • 模型轉(zhuǎn)換
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    5297
  • nlp
    nlp
    +關(guān)注

    關(guān)注

    1

    文章

    490

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    TPU-MLIR開發(fā)環(huán)境配置時出現(xiàn)的各種問題求解

    按照 TPU-MLIR 開發(fā)指南進行環(huán)境配置: 2.1. 代碼下載? 代碼路徑: https://github.com/sophgo/tpu-mlir 克隆該代碼后, 需要在Docker中編譯
    發(fā)表于 01-10 08:02

    FP16轉(zhuǎn)換報錯的原因?

    FP32轉(zhuǎn)換正常,F(xiàn)P16轉(zhuǎn)換報錯(model_transform正常) 運行命令為: model_deploy.py--mlir
    發(fā)表于 01-10 08:01

    【算能RADXA微服務器試用體驗】+ GPT語音與視覺交互:2,圖像識別

    /download.sh 下載完成后,應該可以看到文件夾中出現(xiàn)以下模型: ./models ├── BM1684 │├── yolov8s_fp32_1b.bmodel# 使用TPU-MLIR編譯,用于
    發(fā)表于 07-14 23:36

    在“model_transform.py”添加參數(shù)“--resize_dims 640,640”是否表示tpu會自動resize的?

    resize和letterbox的處理,在“TPU-MLIR入門快速指南.pdf”里的“使用TPU做前處理”里提到了“圖像裁剪”,沒看明白,能詳細解釋下的嗎?
    發(fā)表于 09-18 07:56

    TPU和GPU的帶寬模型

    帶寬模型最大的限制就是這些計算是針對特定矩陣大小的,計算的難度在各種尺寸之間都不同。例如,如果你的batch size是128,那么GPU的速度會比TPU稍快一點。如果batch size小于128
    的頭像 發(fā)表于 10-21 09:20 ?4666次閱讀

    如何給TPU-MLIR添加新的算子

    如何給TPU-MLIR添加新的算子
    的頭像 發(fā)表于 08-18 11:29 ?1055次閱讀
    如何給<b class='flag-5'>TPU-MLIR</b>添加新的算子

    TPU-MLIR中的融合處理

    TPU-MLIR中的融合處理
    的頭像 發(fā)表于 08-18 11:29 ?748次閱讀
    <b class='flag-5'>TPU-MLIR</b>中的融合處理

    基于STE的QAT算法

    TPU-MLIR之量化感知訓練(下)
    的頭像 發(fā)表于 08-21 10:46 ?939次閱讀
    基于STE的QAT算法

    TPU-MLIR之量化感知訓練

    TPU-MLIR之量化感知訓練(上)
    的頭像 發(fā)表于 08-21 10:47 ?1131次閱讀
    <b class='flag-5'>TPU-MLIR</b>之量化感知訓練

    TPU-MLIR量化敏感層分析,提升模型推理精度

    背景介紹TPU-MLIR編譯器可以將機器學習模型轉(zhuǎn)換成算能芯片上運行的bmodel模型。由于浮點數(shù)的計算需要消耗更多的計算資源和存儲空間,實際應用中往往采用量化后的
    的頭像 發(fā)表于 10-10 10:17 ?2019次閱讀
    <b class='flag-5'>TPU-MLIR</b>量化敏感層分析,提升<b class='flag-5'>模型</b>推理精度

    如何適配新架構(gòu)?TPU-MLIR代碼生成CodeGen全解析!

    背景介紹TPU-MLIR的CodeGen是BModel生成的最后一步,該過程目的是將MLIR文件轉(zhuǎn)換成最終的Bmodel。本文介紹了CodeGen的基本原理和流程,并記錄了針對BM1684X等新架構(gòu)
    的頭像 發(fā)表于 11-02 08:34 ?2258次閱讀
    如何適配新架構(gòu)?<b class='flag-5'>TPU-MLIR</b>代碼生成CodeGen全解析!

    模糊圖像變高清:TPU-MLIR引領(lǐng)EDSR向MDSR的智能轉(zhuǎn)換

    模型介紹EDSR模型,全稱為enhanceddeepsuper-resolutionnetwork(增強的深度學習超分辨率重建網(wǎng)絡(luò))。該模型可以對指定圖片進行超分辨率操作,提高清晰度。
    的頭像 發(fā)表于 12-11 17:51 ?3544次閱讀
    模糊圖像變高清:<b class='flag-5'>TPU-MLIR</b>引領(lǐng)EDSR向MDSR的智能<b class='flag-5'>轉(zhuǎn)換</b>!

    深入學習和掌握TPU硬件架構(gòu)有困難?TDB助力你快速上手!

    快速定位BModel與原始模型推理結(jié)果不一致的問題,進而修復TPU-MLIR的編譯或模型出錯點。下圖是TDB工具集的框架。TDB主要是基于Python開發(fā)的,其核心功能
    的頭像 發(fā)表于 12-22 08:33 ?1310次閱讀
    深入學習和掌握<b class='flag-5'>TPU</b>硬件架構(gòu)有困難?TDB助力你快速上手!

    重塑翻譯與識別技術(shù):開源語音識別模型Whisper的編譯優(yōu)化與部署

    :通過修改TPU-MLIR編譯器代碼,可以對Whisper模型性能進行深度優(yōu)化,使得模型在SOPHONBM1684X處理器上運行時間減少到原來的一半,本篇文章將帶
    的頭像 發(fā)表于 01-06 08:33 ?4715次閱讀
    重塑翻譯與識別技術(shù):開源語音識別<b class='flag-5'>模型</b>Whisper的編譯優(yōu)化與部署

    如何高效處理LMEM中的數(shù)據(jù)?這篇文章帶你學會!

    WeightReorder是TPU-MLIR的一個pass(參考TPU-MLIR編譯流程圖),其完成了對部分常量數(shù)據(jù)的Layout變化和合并。本文介紹其中ConvlotionKernel
    的頭像 發(fā)表于 01-19 08:33 ?1222次閱讀
    如何高效處理LMEM中的數(shù)據(jù)?這篇文章帶你學會!