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

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

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

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

OpenVINO各AI模型對應(yīng)不同處理器的效能

lhl545545 ? 來源:易心Microbit編程 ? 作者:易心Microbit編程 ? 2022-09-29 16:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Google2017年制作了TeachableMachine網(wǎng)頁版本的AI軟件工具,甫一推出就受到相當(dāng)好的好評與回響,原因在于這個網(wǎng)站幾乎可以不需要任何說明與敘述,就可以自行摸索搞懂原來用AI實(shí)踐計算機(jī)視覺是這么一回事!

之后更于2019年推出Teachable Machine V2,除了將原有的Image Classification(影像分類)由固定三個分類擴(kuò)充為自定義分類數(shù)量,并且增加了Audio(聲音)與Pose(人體姿勢)兩個類別的分類器,此外更支持項(xiàng)目的存盤與轉(zhuǎn)導(dǎo)出功能,不但能保留數(shù)據(jù)于日后繼續(xù)編輯,同時還能匯出Keras、TensorFlow、tf.js等不同格式的模型檔案,大幅提高了后續(xù)轉(zhuǎn)應(yīng)用的可玩性!

e6db0e80-3f03-11ed-9e49-dac502259ad0.png

OpenVINO執(zhí)行模型優(yōu)化后能跨平臺布署AI推論

OpenVINOIntel2018年推出的AI布署工具套件,支持不同深度學(xué)習(xí)軟件框架如TensorFlow、PyTorch、Caffe等的模型輸入,并對模型進(jìn)行優(yōu)化與調(diào)教后,布署于不同操作系統(tǒng)進(jìn)行推論。其初版發(fā)布時間和Intel推出NCS2(Neural Compute Stick 2)的時間點(diǎn)相當(dāng)接近,而一直讓筆者有著「OpenVINO就是要來搭配NCS2進(jìn)行AI推論優(yōu)化」的一種錯覺。

直到后來OpenVINO版本持續(xù)更新提其高支持完整性與提高了易用性,才讓筆者確實(shí)看清,以目前Intel CPU/GPU的處理效能,已經(jīng)足以負(fù)荷多數(shù)情境的AI應(yīng)用推論了!如下方直方圖顯示著Intel的不同世代顯示芯片在的AI推論效能比較,分別以第九代iGPU與第12iGPU執(zhí)行不同模型之間的效能差異。其中光是Gen12相比Gen9FP16模型推論FPS就已超過兩倍之譜,若是將模型轉(zhuǎn)換為INT8進(jìn)行推論更可以在將效能再拉升至一倍左右!若要進(jìn)一步了解OpenVINOAI模型對應(yīng)不同處理器的效能,也可以參照OpenVINO Benchmark Result。

https://docs.openvinotoolkit.org/latest/openvino_docs_performance_benchmarks_openvino.html

e7090326-3f03-11ed-9e49-dac502259ad0.png

Intel Gen9 Gen12 iGPU AI推論效能比較

在分別接觸了Teachable MachineOpenVINO之后,不禁讓人聯(lián)想,是否能讓這兩個簡單易用的酷工具結(jié)合在一起?一個負(fù)責(zé)處理模型訓(xùn)練,另一個負(fù)責(zé)處理推論與應(yīng)用,若能成功便可讓大伙享齊人之福,把復(fù)雜事情簡單化,短時間內(nèi)即可完成應(yīng)用雛形。不啰嗦即刻來做測試!

我們先到Teachable Machine網(wǎng)站上去訓(xùn)練模型,至于要辨識的影像就直接就地取材-使用我們的雙手做手勢的分類。這里筆著做了五個手勢分類,分別為剪刀、石頭、布、贊、以及數(shù)字7的手勢,各取得約略350張的影像數(shù)據(jù)作為輸入的dataset。訓(xùn)練參數(shù)則直接用預(yù)設(shè)參數(shù):EPOCH: 50,Batch Size: 16,Learning Rate: 0.001進(jìn)行訓(xùn)練。最后我們就選擇Export Model將模型導(dǎo)出,選擇的格式為TensorFlow Savedmodel方便OpenVINO進(jìn)行轉(zhuǎn)換,順利取得converted_savedmodel.zip檔案即完成模型訓(xùn)練的步驟啦!

e734653e-3f03-11ed-9e49-dac502259ad0.jpg

Teachable Machine訓(xùn)練影像分類模型

接著我們要將從Teachable Machine取得的TensorFlow模型文件(.pb),使用OpenVINO進(jìn)行轉(zhuǎn)換。筆者的測試環(huán)為Ubuntu20.04操作系統(tǒng),OpenVINO Tookit使用2021.4 LTS版本,處理器為Intel i7-1185GRE(搭載Iris Xe顯示芯片)。要建置OpenVINO開發(fā)環(huán)境除了在原生系統(tǒng)下載安裝包執(zhí)行所有套件的安裝外,現(xiàn)在也可以使用docker快速建置環(huán)境,過程其實(shí)沒什么難度,按照官方文件指引Step by Step就可以了。

https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_linux.html

https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_docker_linux.html

為了方便建立一個名為tm的文件夾,存放teachable machine模型數(shù)據(jù),并且解壓縮得到saved_model.pblabels.txt等檔案。

~$ mkdirtm

~$ cd tm

~/tm$unzip converted_savedmodel.zip

Archive: converted_savedmodel.zip

creating: model.savedmodel/

extracting: model.savedmodel/saved_model.pb

creating: model.savedmodel/variables/

extracting:model.savedmodel/variables/variables.data-00000-of-00001

extracting:model.savedmodel/variables/variables.index

creating: model.savedmodel/assets/

extracting: labels.txt

~/tm$

接著執(zhí)行model optimizer進(jìn)行模型優(yōu)化轉(zhuǎn)換,指定目前文件夾取得pb檔,這邊要注意input_shape參數(shù)必須指定為[1,224,224,3],其意義為[N,H,W,C]

?N: 一次抓取多少數(shù)量的影像。

?H: 影像的高度,單位為象素。

?W: 影像的寬度,單位為象素。

?C: 通道數(shù)量。若是彩色圖像則有RGB三個通道。

上述若N為未知數(shù)值(負(fù)值)會造成轉(zhuǎn)換上的錯誤,而在TensorFlow上預(yù)設(shè)輸入的shape[-1,224,224,3],因此要手動進(jìn)行shape調(diào)整。此外,Teachable Machine使用MobileNet神經(jīng)網(wǎng)絡(luò)架構(gòu),轉(zhuǎn)換的scale依據(jù)OpenVINO轉(zhuǎn)換TensorFlow文件得知為127.5,我們便以此數(shù)值代入。

https://docs.openvinotoolkit.org/latest/openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_TensorFlow.html

最后筆者希望可以得到較佳的推論速度,帶入data_type參數(shù),并指定模型權(quán)重值以FP16的數(shù)值格式進(jìn)行量化。輸入以下指令進(jìn)行模型轉(zhuǎn)換:

~/tm$ source/opt/intel/openvino_2021/bin/setupvars.sh

[setupvars.sh] OpenVINO environmentinitialized

~/tm$ mo_tf.py --saved_model_dirmodel.savedmodel/ --input_shape [1,224,224,3] -s 127.5 –data_type=FP16

執(zhí)行成功后會在當(dāng)前目錄得到IRIntermediate Representation)檔saved_model.xmlsaved_model.bin。我們就能使用這個IR模型元文件在OpenVINO上進(jìn)行推論。

推論的部分在邊緣裝置的推論我們使用OpenVINO toolkit內(nèi)建的ClassificationDemo來做測試,看看實(shí)際結(jié)果如何。因影像分類Demo目前僅提供C++語言版本,我們需要先行做編譯:

~$ cd/opt/intel/openvino_2021/deployment_tools/open_model_zoo/demos/

/opt/intel/openvino_2021/deployment_tools/open_model_zoo/demos$./build_demos.sh

Settingenvironment variables for building demos...

[setupvars.sh]OpenVINO environment initialized

-- The Ccompiler identification is GNU 9.3.0

... 中間訊息省略 ...

[100%]Built target human_pose_estimation_demo

Buildcompleted, you can find binaries for all demos in the/home/openvino/omz_demos_build/intel64/Release subfolder.

/opt/intel/openvino_2021/deployment_tools/open_model_zoo/demos$

編譯完成后會看到提示訊息說明可執(zhí)行文件的路徑,同時我們將額外的手勢照片存放到~/tm/pic的路徑,讓范例程序可以用這些圖像作為測試數(shù)據(jù)。執(zhí)行下方指令啟動范例程序,相關(guān)參數(shù)說明如下:

?-i: <必要參數(shù)>,輸入影像數(shù)據(jù)的檔案路徑或文件夾路徑

?-m: <必要參數(shù)>,IR模型文件xml的檔案路徑

?-labels: <必要參數(shù)>,分類卷標(biāo)文本文件的路徑

?-d: 執(zhí)行推論的硬件裝置進(jìn)行推論,可選CPU, GPU,也可以設(shè)定MULTI:CPU,GPU同時使用CPUGPU執(zhí)行推論。預(yù)設(shè)為CPU。

?-time: 重復(fù)執(zhí)行推論的時間,預(yù)設(shè)為-1,代表執(zhí)行到使用者中斷為止。

?-no_show: 不顯示影像推論結(jié)果。

?-nt: 取得前n個最大可能的類別,預(yù)設(shè)為5。

~$ cd~/omz_demos_build/intel64/Release

~/omz_demos_build/intel64/Release$./classification_demo -d GPU -m ~/tm/saved_model.xml -i ~/tm/pic/ -labels~/tm/labels.txt

[ INFO ]InferenceEngine: IE version......... 2021.4

Build ........... 0

[ INFO ]Parsing input parameters

[ INFO ]Reading input

[ INFO ]Files were added: 20. Too many to display each of them.

[ INFO ]Loading Inference Engine

[ INFO ]Device info:

[ INFO] GPU

clDNNPlugin version ......... 2021.4

Build ........... 0

Loadingnetwork files

[ INFO ]Batch size is forced to 1.

[ INFO ]Loading model to the device

待模型加載后會跳出一個圖形化窗口,顯示著目前進(jìn)行影像分類識別的結(jié)果。我們可以看到大部分判定的結(jié)果是符合我們的預(yù)期的,而少部分判定錯誤的圖像經(jīng)測試后是在Teachable Machine上就辨識度不佳的圖片,整體而言推論分類結(jié)果令人滿意!

左上角同時顯示著當(dāng)前的效能指針LatencyFPS,因?yàn)樾枰~外處理影像輸出的辨識結(jié)果,這會降低非常多FPS,所以此數(shù)值僅能做參考之用。若想要知道不做輸出影像的效能可以每秒幾張圖像,只要在剛剛執(zhí)行的命令后面,再加上-no_show time 10,意思就是不輸出推論的影像,并且在模型啟動推論10秒后結(jié)束程序。當(dāng)DEMO程序返回時就會顯示LatencyFPS,筆者在僅使用GPU的情況下,效能測時得到的結(jié)果就高達(dá)654.9 FPS7.2 ms Latency!

此外再補(bǔ)充一點(diǎn),若我們在Teachable Machine上訓(xùn)練的影像分類數(shù)量少于5個分類,在執(zhí)行DEMO程序時可能會出現(xiàn)"[ ERROR ] The model provides 2 classes, but 5 labels are requestedto be predicted"此錯誤訊息,原因在于DEMO程序默認(rèn)會去抓取可能性最高的前5個分類,而實(shí)際模型輸出的分類數(shù)量卻少于5個分類而產(chǎn)生錯誤??梢栽偌由蠀?shù)”-nt 1”指定DEMO程序只取得可能性最高的分類即可。

e7555cc6-3f03-11ed-9e49-dac502259ad0.jpg

Image classification推論測試結(jié)果

小結(jié)

各位看過以上流程之后,是不是覺得訓(xùn)練影像分類模型并且布署在自己的裝置上執(zhí)行不再遙不可及,而且是既簡單又容易的事!藉由這類簡單工具組件幫助我們完成邊緣算的訓(xùn)練、轉(zhuǎn)換、到布署總體時間約略在半小時內(nèi)即可完成。雖然距離實(shí)際應(yīng)用可能還有一小段差距,但藉由把復(fù)雜的事情拆解成各個簡單的組件與任務(wù),短時間內(nèi)就能綜觀全局而找到對的方向努力,各位腦中是否已浮現(xiàn)出各種應(yīng)用可能性的想象了呢???

審核編輯:彭靜

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

    關(guān)注

    68

    文章

    19887

    瀏覽量

    235091
  • IC
    IC
    +關(guān)注

    關(guān)注

    36

    文章

    6122

    瀏覽量

    179331
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5152

    瀏覽量

    89208
  • AI
    AI
    +關(guān)注

    關(guān)注

    88

    文章

    35099

    瀏覽量

    279540
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3518

    瀏覽量

    50406

原文標(biāo)題:OpenVINO結(jié)合Teachable Machine蹦出新滋味

文章出處:【微信號:易心Microbit編程,微信公眾號:易心Microbit編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    C#集成OpenVINO?:簡化AI模型部署

    在開源測控、機(jī)器視覺、數(shù)采與分析三大領(lǐng)域中,如何快速將AI模型集成到應(yīng)用程序中, 實(shí)現(xiàn)AI賦能和應(yīng)用增值? 最容易的方式是:在C#中,使用 OpenVINO工具套件 集成
    的頭像 發(fā)表于 02-17 10:03 ?1977次閱讀
    C#集成<b class='flag-5'>OpenVINO</b>?:簡化<b class='flag-5'>AI</b><b class='flag-5'>模型</b>部署

    運(yùn)行時OpenVINO?找不到模型優(yōu)化,為什么?

    在運(yùn)行時OpenVINO?找不到模型優(yōu)化,運(yùn)行模型下載程序命令并收到錯誤消息: omz_downloader:找不到命令
    發(fā)表于 03-05 08:16

    無法將Openvino? 2025.0與onnx運(yùn)行時Openvino? 執(zhí)行提供程序 1.16.2 結(jié)合使用,怎么處理

    使用OpenVINO?與英特爾 i5-8500 CPU 和超核處理器 630 iGPU 一起部署模型。 使用了 Microsoft.ML.OnnxRuntime.OpenVino
    發(fā)表于 06-24 06:31

    【大聯(lián)大世平Intel?神經(jīng)計算棒NCS2試用申請】客戶年齡性別KIOSK廣告機(jī)AI驗(yàn)證

    項(xiàng)目名稱:客戶年齡性別KIOSK廣告機(jī)AI驗(yàn)證試用計劃:申請理由:在傳統(tǒng)KIOSK的既有攝像頭上,增加AI效能, 驗(yàn)證 神經(jīng)運(yùn)算棒 在個年齡,性別
    發(fā)表于 08-26 10:48

    基于ESL方法的DSP微處理器行為模型設(shè)計

    結(jié)合ESL中事務(wù)建模的方法,提出一種DSP微處理器周期精確的行為模型的建立方法。該模型描述DSP處理器設(shè)計中內(nèi)部子模塊的功能劃分、流水線的
    發(fā)表于 04-15 09:20 ?18次下載

    AMD Cool and Quiet 處理器效能驅(qū)動程序

    AMD Cool and Quiet 處理器效能驅(qū)動程序.zip
    發(fā)表于 01-29 16:12 ?15次下載

    OpenVINO模型優(yōu)化實(shí)測:PC/NB當(dāng)AI辨識引擎沒問題!

    這次我們將會自制一個CNN分類,并透過OpenVINO模型轉(zhuǎn)換程序轉(zhuǎn)換成IR模型,并進(jìn)行模型效能
    的頭像 發(fā)表于 12-09 16:13 ?2829次閱讀

    將數(shù)據(jù)預(yù)處理嵌入AI模型的常見技巧

    本文將介紹基于 OpenVINO 模型優(yōu)化或預(yù)處理 API 將數(shù)據(jù)預(yù)處理嵌入 AI
    的頭像 發(fā)表于 12-16 13:55 ?1724次閱讀

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

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

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

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

    AI愛克斯開發(fā)板上用OpenVINO?加速YOLOv8-seg實(shí)例分割模型

    《在 AI 愛克斯開發(fā)板上用 OpenVINO 加速 YOLOv8 目標(biāo)檢測模型》介紹了在 AI 愛克斯開發(fā)板上使用 OpenVINO 開發(fā)
    的頭像 發(fā)表于 06-05 11:52 ?1454次閱讀
    在<b class='flag-5'>AI</b>愛克斯開發(fā)板上用<b class='flag-5'>OpenVINO</b>?加速YOLOv8-seg實(shí)例分割<b class='flag-5'>模型</b>

    AI愛克斯開發(fā)板上用OpenVINO?加速YOLOv8-seg實(shí)例分割模型

    《在 AI 愛克斯開發(fā)板上用 OpenVINO 加速 YOLOv8 目標(biāo)檢測模型》介紹了在 AI 愛克斯開發(fā)板上使用 OpenVINO 開發(fā)
    的頭像 發(fā)表于 06-30 10:43 ?1895次閱讀
    在<b class='flag-5'>AI</b>愛克斯開發(fā)板上用<b class='flag-5'>OpenVINO</b>?加速YOLOv8-seg實(shí)例分割<b class='flag-5'>模型</b>

    如何快速下載OpenVINO Notebooks中的AI模型

    OpenVINO Notebooks是Jupyter Notebook形式的OpenVINO范例程序大集合,方便開發(fā)者快速學(xué)習(xí)并掌握OpenVINO推理程序,并通過Copy&Paste方式將范例中的關(guān)鍵程序應(yīng)用到自己的
    的頭像 發(fā)表于 12-12 14:40 ?1578次閱讀
    如何快速下載<b class='flag-5'>OpenVINO</b> Notebooks中的<b class='flag-5'>AI</b>大<b class='flag-5'>模型</b>

    英特爾酷睿Ultra處理器突破500個AI模型優(yōu)化

    英特爾在最新推出的英特爾? 酷睿? Ultra處理器上宣布,超過500款AI模型已得到優(yōu)化運(yùn)行。這款處理器無疑是市場上領(lǐng)先的AI PC
    的頭像 發(fā)表于 05-09 11:18 ?1134次閱讀

    C#中使用OpenVINO?:輕松集成AI模型!

    與分析三大領(lǐng)域中,如何快速將AI模型集成到應(yīng)用程序中,實(shí)現(xiàn)AI賦能和應(yīng)用增值?最容易的方式是:在C#中,使用OpenVINO?工具套件集成AI
    的頭像 發(fā)表于 02-07 14:05 ?847次閱讀
    C#中使用<b class='flag-5'>OpenVINO</b>?:輕松集成<b class='flag-5'>AI</b><b class='flag-5'>模型</b>!