色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

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

算能開(kāi)發(fā)者社區(qū) ? 2023-12-11 17:51 ? 次閱讀

模型介紹

EDSR模型,全稱為enhanced deep super-resolution network(增強(qiáng)的深度學(xué)習(xí)超分辨率重建網(wǎng)絡(luò))。該模型可以對(duì)指定圖片進(jìn)行超分辨率操作,提高清晰度。

而MDSR是多尺度的超分模型,可以一次輸出不同scale的圖片,相比EDSR,可以在相同的性能下,減少很多的參數(shù)

EDSR模型結(jié)構(gòu)如下:

d04412b4-980a-11ee-9788-92fbcf53809c.png

MDSR模型結(jié)構(gòu)如下:

d062e8ec-980a-11ee-9788-92fbcf53809c.png

本期內(nèi)容將會(huì)帶領(lǐng)大家學(xué)習(xí)如何利用TPU-MLIR實(shí)現(xiàn)EDSR模型到MDSR模型的轉(zhuǎn)換。

模型導(dǎo)出與轉(zhuǎn)換

基本流程為將原項(xiàng)目與模型下載后導(dǎo)出為onnx模型。再利用TPU-MLIR工具將onnx模型轉(zhuǎn)換為bmodel模型。

目錄結(jié)構(gòu)安排如下,其中dataset文件夾中是量化所用的DIV2K數(shù)據(jù)集,image文件夾下是測(cè)試圖片,model文件夾中是待轉(zhuǎn)換的onnx模型。

.
├──dataset
│├──x2
│├──x3
│└──x4
├──image
└──model
├──EDSR_x2.onnx
├──EDSR_x3.onnx
├──EDSR_x4.onnx
├──MDSR_x2.onnx
├──MDSR_x3.onnx
└──MDSR_x4.onnx

以下命令均在TPU-MLIR的docker環(huán)境內(nèi)進(jìn)行。

進(jìn)入EDSR-transform目錄

設(shè)置參數(shù)

scale=4
size=100
echoscale=${scale}size=${size}
mkdirworkspace_x${scale}&&cdworkspace_x${scale}

  1. 模型轉(zhuǎn)換和量化

#算子轉(zhuǎn)換、圖優(yōu)化
model_transform.py\
--model_nameEDSR_x${scale}\
--model_def../model/EDSR_x${scale}.onnx\
--input_shapes[[1,3,${size},${size}]]\
--keep_aspect_ratio\
--pixel_formatrgb\
--test_input../image/0901x${scale}.png\
--test_resultEDSR_x${scale}_outputs.npz\
--mlirEDSR_x${scale}.mlir

#建立校準(zhǔn)表
run_calibration.pyEDSR_x${scale}.mlir\
--dataset../dataset/X${scale}\
--input_num50\
-oEDSR_x${scale}_cali_table

#多層優(yōu)化和轉(zhuǎn)換bmodel
##轉(zhuǎn)換INT8模型
model_deploy.py\
--mlirEDSR_x${scale}.mlir\
--quantizeINT8\
--calibration_tableEDSR_x${scale}_cali_table\
--chipbm1684x\
--test_inputEDSR_x${scale}_in_f32.npz\
--test_referenceEDSR_x${scale}_outputs.npz\
--tolerance0.85,0.45\
--modelEDSR_x${scale}_1684x_int8_sym.bmodel

##轉(zhuǎn)換FP16模型
model_deploy.py\
--mlirEDSR_x${scale}.mlir\
--quantizeF16\
--chipbm1684x\
--test_inputEDSR_x${scale}_in_f32.npz\
--test_referenceEDSR_x${scale}_top_outputs.npz\
--modelEDSR_x${scale}_1684x_f32_sym.bmodel

##轉(zhuǎn)換FP32模型
model_deploy.py\
--mlirEDSR_x${scale}.mlir\
--quantizeF32\
--chipbm1684x\
--test_inputEDSR_x${scale}_in_f32.npz\
--test_referenceEDSR_x${scale}_top_outputs.npz\
--modelEDSR_x${scale}_1684x_f32_sym.bmodel

#將以上所有EDSR改為MDSR即可轉(zhuǎn)換MDSR模型

轉(zhuǎn)換結(jié)果評(píng)估

評(píng)估過(guò)程說(shuō)明

  1. 配置好BM1684X平臺(tái),上傳并解壓本項(xiàng)目EDSR-BM1684x.zip,同時(shí)下載benchmark數(shù)據(jù)集,確保benchmark與EDSR文件夾在同一目錄內(nèi)。進(jìn)入EDSR/python目錄下,運(yùn)行以下命令:

####predictonbm1684x
formodelin{EDSR,MDSR};do
forscalein{2,3,4};do
echo-------------------------------------dataset=Set14-------------scale=${scale}-------------------------------------
cmd="pythonrun_opencv_crop.py--input../../benchmark/Set14/LR_bicubic/X${scale}\
--outputresults/${model}_Set14_x${scale}_int8\
--bmodel../models/BM1684X/${model}_x${scale}/${model}_x${scale}_1684x_int8_sym.bmodel"
echo">>>Running:${cmd}"
$cmd
done
done

  • 推理結(jié)果保存在EDSR/python/results中,更改不同bmodel參數(shù)以使用不同bmodel
  1. 評(píng)估結(jié)果方法

####安裝評(píng)估模型
pipinstalllpips

評(píng)估主要代碼(eval.py)如下

...
fori,srinenumerate(sr_list):
hr=Path(args.hr_path)/(sr.stem.split('x')[0]+sr.suffix)
ifnothr.exists():
logging.error(f'{sr}:{hr}doesnotexist')
hr_list.append(None)
continue
hr_list.append(hr)

sr_img=Image.open(sr).convert('RGB')
hr_img=Image.open(hr).convert('RGB')
ifhr_img.size!=sr_img.size:
logging.info(f'croppinghr_imgfrom{hr_img.size}to{sr_img.size}')
#hr_img=hr_img.resize(sr_img.size,resample=Image.Resampling.BICUBIC)
hr_img=hr_img.crop((0,0,sr_img.size[0],sr_img.size[1]))
sr_img=np.array(sr_img)
hr_img=np.array(hr_img)

lpi=calculate_lpips(sr_img,hr_img,border=args.scale)

sr_img_y=rgb2ycbcr(sr_img,only_y=True)
hr_img_y=rgb2ycbcr(hr_img,only_y=True)
#sr_img_y=sr_img
#hr_img_y=hr_img
psnr=calculate_psnr(sr_img_y,hr_img_y,border=args.scale)
ssim=calculate_ssim(sr_img_y,hr_img_y,border=args.scale)
...

####evaluateonbm1684x
scale=(234)
formodelin{EDSR,MDSR};do
foriin"${!scale[@]}";do
echo-------------scale=${scale[$i]}-----------------
cmd="pythoneval.py--hr_path../../benchmark/Set14/HR--sr_pathresults/${model}_Set14_x${scale[$i]}_int8--scale${scale[$i]}"
echo">>>Running:${cmd}"
$cmd
done
done

  • 評(píng)價(jià)結(jié)果保存在results/*/result.log里
  1. 若是想測(cè)試自己的圖片,請(qǐng)將圖片放入image目錄下然后運(yùn)行以下命令,結(jié)果保存在results/image里。更改bmodel模型來(lái)更換模型與超分倍率

pythonrun_opencv_crop.py--input../image\
--outputresults/image\
--bmodel../models/BM1684X/EDSR_x2_1684x_int8_sym.bmodel

評(píng)價(jià)代碼如下

pythoneval.py--sr_pathresults/image--hr_path../image--scale{sacle}

評(píng)估結(jié)果

精度測(cè)試方法

測(cè)試數(shù)據(jù)集采用Set14數(shù)據(jù)集,指標(biāo)采用與原論文一致的PSNR+SSIM指標(biāo)來(lái)衡量圖像質(zhì)量。因?yàn)槲覀冊(cè)谀P凸潭ㄝ斎氪笮〉那闆r下,對(duì)原圖進(jìn)行裁切,超分,拼合的形式達(dá)到動(dòng)態(tài)輸入的效果,所以有的精度指標(biāo)在測(cè)試中不僅不會(huì)降低反而會(huì)升高。同時(shí)又由于不同放大倍數(shù)的模型輸入大小和模型參數(shù)不一樣,推理時(shí)間的比例也會(huì)發(fā)生變化。

fp32結(jié)果

d0695d4e-980a-11ee-9788-92fbcf53809c.png

fp32

fp16結(jié)果

d078ecaa-980a-11ee-9788-92fbcf53809c.png

fp16

int8結(jié)果

d0894df2-980a-11ee-9788-92fbcf53809c.png

int8

精度對(duì)比

d097f10e-980a-11ee-9788-92fbcf53809c.png

precise

性能對(duì)比

d0a822b8-980a-11ee-9788-92fbcf53809c.png

precise

結(jié)論

本次轉(zhuǎn)換了EDSR和MDSR超分辨率模型,分別實(shí)現(xiàn)了fp32, fp16, int8多種精度模型轉(zhuǎn)換, TPU-MLIR對(duì)這兩個(gè)模型支持較好,轉(zhuǎn)換過(guò)程中比較順利。從最終評(píng)估結(jié)果上看,這兩個(gè)超分模型對(duì)推理的數(shù)值精度不敏感,經(jīng)過(guò)量化后,相關(guān)指標(biāo)損失較少,甚至有些指標(biāo)還會(huì)提升。另外,在BM1684X的平臺(tái)上,INT8推理時(shí)間最短,故在部署時(shí),推薦使用量化后的INT8模型部署。

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

    關(guān)注

    1

    文章

    3248

    瀏覽量

    48860
  • TPU
    TPU
    +關(guān)注

    關(guān)注

    0

    文章

    141

    瀏覽量

    20735
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5503

    瀏覽量

    121200
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    線路在線監(jiān)測(cè)裝置智能圖像機(jī)的核心優(yōu)勢(shì)是什么?

    答:大家好,今天特地來(lái)和大家分享一款電網(wǎng)監(jiān)控領(lǐng)域的神器——線路在線監(jiān)測(cè)裝置智能圖像機(jī)TLKS-PMG-PV500!這款裝置憑借其獨(dú)特的設(shè)計(jì)與先進(jìn)的技術(shù),正引領(lǐng)著電網(wǎng)監(jiān)控的新潮流。不得不提的是,該裝
    發(fā)表于 09-25 15:44

    基于RK3588的8K視頻解碼顯示案例分享!引領(lǐng)高清工業(yè)視頻時(shí)代

    。這是目前大多數(shù)消費(fèi)者電視和電腦顯示器的標(biāo)準(zhǔn)分辨率,可以提供良好的圖像質(zhì)量。4K分辨率:也稱為4K超高清(4K ULTRA HD),它具有3840 x 2160像素的分辨率。4K顯示屏相對(duì)于傳統(tǒng)的全高清
    發(fā)表于 07-17 11:15

    【算能RADXA微服務(wù)器試用體驗(yàn)】+ GPT語(yǔ)音與視覺(jué)交互:2,圖像識(shí)別

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

    全志T527芯片詳解【二】:高清圖像編解碼

    硬件模塊加持 T527集成了多個(gè)圖形顯示和編解碼相關(guān)的硬件模塊,為高清圖像顯示、高清視頻播放和多路高清攝像頭輸入提供了強(qiáng)大的硬件基礎(chǔ): ARM Mail-G57 GPU 自研顯示引擎(
    發(fā)表于 05-24 14:14

    maixcam部署yolov5s 自定義模型

    ://github.com/sophgo/tpu-mlir/releases/tag/v1.7 上面網(wǎng)址下載 tpu-mlir-resource.tar 和 tpu_mlir
    發(fā)表于 04-23 15:43

    GPU如何引領(lǐng)安防行業(yè)智能化轉(zhuǎn)型?

    歷著前所未有的變革。智能化不再只是一個(gè)概念,而是成為了行業(yè)發(fā)展的必然趨勢(shì)。GPU作為這場(chǎng)革命的重要推手,正在引領(lǐng)安防行業(yè)從傳統(tǒng)的被動(dòng)監(jiān)控智能化主動(dòng)預(yù)防的新時(shí)代邁進(jìn)
    的頭像 發(fā)表于 03-29 08:26 ?583次閱讀
    GPU如何<b class='flag-5'>引領(lǐng)</b>安防行業(yè)<b class='flag-5'>智能</b>化轉(zhuǎn)型?

    超越4K的超高清體驗(yàn):大屏拼接器引領(lǐng)視覺(jué)革命

    隨著科技的不斷進(jìn)步,人們對(duì)于視覺(jué)體驗(yàn)的追求也在不斷升級(jí)。在顯示技術(shù)領(lǐng)域,4K超高清已經(jīng)成為了一種標(biāo)配,但大屏拼接器卻正在引領(lǐng)一場(chǎng)超越4K的超高清視覺(jué)革命,為用戶帶來(lái)前所未有的震撼體驗(yàn)。 一、超越4K
    的頭像 發(fā)表于 02-26 14:48 ?418次閱讀

    基于TPU-MLIR:詳解EinSum的完整處理過(guò)程!

    EinSum介紹EinSum(愛(ài)因斯坦求和)是一個(gè)功能強(qiáng)大的算子,能夠簡(jiǎn)潔高效地表示出多維算子的乘累加過(guò)程,對(duì)使用者非常友好。本質(zhì)上,EinSum是一個(gè)算子族,可以表示多種基礎(chǔ)操作,如矩陣乘法、Reduce。EinSum支持任意多的輸入,只要計(jì)算中只包含點(diǎn)乘(element-wise)、廣播(broadcast)、歸約求和(reductionsum)都可以使
    的頭像 發(fā)表于 02-19 13:08 ?701次閱讀
    基于<b class='flag-5'>TPU-MLIR</b>:詳解EinSum的完整處理過(guò)程!

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

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

    tpu材料的用途和特點(diǎn)

    TPU材料,即熱塑性聚氨酯(Thermoplastic Polyurethane),是一種聚合物材料,具有廣泛的應(yīng)用領(lǐng)域和獨(dú)特的特點(diǎn)。 TPU材料的主要用途如下: 鞋類行業(yè):TPU材料常用于鞋類
    的頭像 發(fā)表于 01-16 10:17 ?3312次閱讀

    TPU是什么材料做的

    TPU(Thermoplastic Polyurethane)是熱塑性聚氨酯的簡(jiǎn)稱,屬于一種高強(qiáng)度、高彈性、高耐磨的特種塑料材料。它是由聚醚或聚酯兩元醇與三元異氰酸酯或四元稀土異氰酸酯通過(guò)共聚反應(yīng)
    的頭像 發(fā)表于 01-12 13:40 ?3455次閱讀

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

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

    FP16轉(zhuǎn)換報(bào)錯(cuò)的原因?

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

    yolov5量化INT8出錯(cuò)怎么處理?

    [Success]: tpuc-opt yolov5l_bm1684_int8_sym_tpu.mlir --mlir-disable-threading --strip-io-quant=\"
    發(fā)表于 01-10 06:40

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

    :通過(guò)修改TPU-MLIR編譯器代碼,可以對(duì)Whisper模型性能進(jìn)行深度優(yōu)化,使得模型在SOPHONBM1684X處理器上運(yùn)行時(shí)間減少到原來(lái)的一半,本篇文章將帶
    的頭像 發(fā)表于 01-06 08:33 ?3689次閱讀
    重塑翻譯與識(shí)別技術(shù):開(kāi)源語(yǔ)音識(shí)別模型Whisper的編譯優(yōu)化與部署
    主站蜘蛛池模板: 肉耽高h一受n攻| 第一福利在线永久视频| 麻豆一区二区免费播放网站| 久久国产视频网| 国产精品伦理一二三区伦理| 国产传媒麻豆剧精品AV| 91热久久免费频精品动漫99| 新香蕉少妇视频网站| 亚洲国产日韩制服在线观看 | 调教玩弄奶头乳夹开乳震动器| 虫族bl文全肉高h| 国产睡熟迷奷系列精品| 久久久无码精品无码国产人妻丝瓜| 国产亚洲精品久久久999无毒| 蝴蝶中文娱乐| 麻豆沈芯语| 日韩AV爽爽爽久久久久久| 羞羞漫画视频| 我不卡影院手机在线观看| 亚洲免费精品视频| 91av成年影院在线播放| 东日韩二三区| 黄色网址在线免费观看| 美女伸开两腿让我爽| 日韩一区二区三区视频在线观看| 亚洲AV久久久久久久无码| 2020美女视频黄频大全视频| 丰满人妻妇伦又伦精品APP国产| SM脚奴调教丨踩踏贱奴| 国产精品系列在线一区| 国产精彩视频在线| 久草精品视频| 乱淫67194| 久久秋霞理论电影| 秋霞午夜鲁丝片午夜精品久| 美女被男人撕衣舔胸| 色婷婷五月综合中文字幕| 亚洲蜜芽在线观看精品一区| av在线观看网站免费| 国产在线精品亚洲一品区| 欧美gay69|