文曄科技 Intel® AI Box 銷售工具

Read Time:5 Minute, 45 Second
Version 1.0  by Bryan Sung/Jacko Chiu

WT MICROELECTRONICS Co., Ltd.

All Rights Reserved. No part of this document may be photocopied, reproduced,
4F, No.738, Chuug Cheng Road.Chung Ho City, Taipei, 235 Taiwan Phone +886-2-82269088

Table of Contents

 目錄

INTEL AI Box Sales Kit 1

一、      Tiger Lake UP3.. 5

二、      AI Box.. 5

三、      OpenVINO.. 6

四、      Docker. 6

五、      YoloV3 YoloV4TF object detection model 7

六、      AI Box demo.. 7

七、      HW Benchmark test. 11

八、      How to build AI Box Docker image.. 13

九、      INTEL AI tool Accuracy checker. 17

十、      INTEL AI tool Post-training Optimization Tool (POT). 17

  • Tiger Lake UP3

 

TGL diagram

Tiger Lake 為第11代 Intel® Core™ 處理器採用第三代 10 奈米製程技術,在低功耗平台兼顧了效能與回應能力。該平台結合了高效能 CPU,單線性能速度提升了23%,多線性能速度提升了19%。這個平台採用全新的 Intel® Iris® Xe 顯示晶片,並且搭載 PCI Express* 4.0 與 Thunderbolt™ 4/USB4,顯示晶片效能速度加快達 2.95 倍。這款處理器是專為符合物聯網市場需求所打造,能夠支援低延遲的時效性應用,並且能在單一平台執行多重工作負載,包括 AI 與深度學習這類用途。

Tiger Lake最多可達 96 個執行單元,其繪圖效能將達到第 8 代 Intel® Core™ 處理器的 2.95 倍,雙視訊解碼盒(可在每秒 30 影格的速度下,同時處理最多達 40 道 1080p 串流)可驅動最多達四部獨立的 4K HDR 顯示器或兩個 8K SDR 輸出。該平台還同時透過 CPU 與整合式 GPU,透過 Intel® Deep Learning Boost 功能提供人工智慧。對於人工智慧與深度學習推斷可執行最多達 96 個繪圖執行單元(8 位元整數 = INT8),或使用向量神經網路指令(VNNI) 在 CPU 上執行,該指令將三個進階向量延伸 (AVX) 指令合而為一。處理器可透過最小的功耗處理以下三項:1.同步、確定性控制系統。2.具有人工智慧功能的視覺系統。3.互動式白板與數位招牌。

總括來說,Tiger Lake對於加速人工智慧與電腦視覺有以下特點:

  • Intel® Deep Learning Boost (Intel® DL Boost) 透過 CPU 上的全新向量神經網路指令提升推斷效能,該指令將三項指令合而為一。
  • 推斷應用程式還可利用 GPU 上高達 96EU 來執行 8 位元整數演算法。
  • 與 Intel® Movidius™ VPU 配對,以提升推斷能力。
  • AI Box

客戶依據各模型在HW上實測的數據,選擇適當的HW及AI模型,下載即可使用。客戶不需要再做任何的安裝與環境設定。

  • OpenVINO

OpenVINO™ 工具包是一個綜合工具包,用於快速開發解決各種任務的應用程序和解決方案,包括模擬人類視覺、自動語音識別、自然語言處理、推薦系統等。該工具包基於最新一代人工神經網絡,包括卷積神經網絡 (CNN)、循環網絡和基於注意力的網絡,可跨英特爾® 硬件擴展計算機視覺和非視覺工作負載,從而最大限度地提高性能。它通過從邊緣到雲部署的高性能、人工智能和深度學習推理來加速應用程序。

OpenVINO™ 工具包具有下面特點:

  • 在邊緣啟用基於 CNN 的深度學習推理
  • 支持跨英特爾® CPU、英特爾® 集成顯卡、英特爾® 神經計算棒 2 和英特爾® 視覺加速器設計與英特爾® Movidius™ VPU 的異構執行
  • 通過易於使用的計算機視覺功能庫和預先優化的內核加快上市時間
  • 包括對計算機視覺標準的優化調用,包括 OpenCV* 和 OpenCL™
  • Docker

Docker 是一種軟體平台,可讓您快速地建立、測試和部署應用程式。Docker 將軟體封裝到名為容器的標準化單位,其中包含程式庫、系統工具、程式碼和執行時間等執行軟體所需的所有項目。使用 Docker,您可以將應用程式快速地部署到各種環境並加以擴展,而且知道程式碼可以執行。

Docker 透過提供執行程式碼的標準方法進行運作。Docker 是容器的作業系統。與虛擬機器虛擬化 (免除直接管理的需要) 伺服器硬體的方法相似,容器可虛擬化伺服器的作業系統。Docker 安裝在每部伺服器上,並提供簡單的命令讓您使用以建立、啟動或停止容器。

AI Box 的AI service,建立在Docker container之上,方便客戶可快速選擇、建立適當的產品。

  • YoloV3 YoloV4TF object detection model

本AI Box使用的範例為 YoloV3及YoloV4。

YoloV3 model:

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

 

YoloV4 model:

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

 

關於YoloV3 及 YoloV4 training platform 請參考文曄技術文件:"How to build Darknet with cuda in VS2019.pdf"

關於如何training YoloV3 model,請參考文曄技術文件:"How To Train a YoloV3 and Transfer to OpenVINO.pdf"

關於如何training YoloV4 model,請參考文曄技術文件:"How To Train a YoloV4 in Darknet platform.pdf"

關於如何架設TF training 環境,請參考文曄技術文件:"How to set-up Tensorflow-GPU for training.pdf.pdf"

關於如何training TF model,請參考文曄技術文件:"How to Train a model Using TF and Convert to OpenVINO.pdf.pdf"

  • AI Box demo
  • 下載及安裝Ubuntu 20.04.2.0 LTS

https://ubuntu.com/download/desktop/thank-you?version=20.04.2.0&architecture=amd64

參考:

https://phoenixnap.com/kb/install-ubuntu-20-04

  • 安裝docker
    • Update apt

$ sudo apt update

  • Upgrade apt

$ sudo apt upgrade

  • Unstall old versions

$ sudo apt-get remove docker docker-engine docker.io containerd runc

  • Install curl

$ sudo apt install curl

  • Fetch get-docker.sh

$ curl -fsSL https://get.docker.com -o get-docker.sh

  • Run get-docker.sh

$ sudo sh get-docker.sh

$ sudo usermod -aG docker $USER

  • Reboot

$ reboot

  • Run demo

$ docker run hello-world

  • 下載測試影片mp4

https://drive.google.com/file/d/14RA7sLqrIE77E7NMY-6dF9Iuwh8E3uEx/view?usp=sharing

  • Docker pull openVINO AI Box docker image

$ docker pull bryanomg/openvino:2021.3_developer_models

  • 執行demo

$ docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -v ~/Downloads:/mnt –device /dev/dri:/dev/dri –group-add=$(stat -c “%g” /dev/dri/render*) –rm bryanomg/openvino:2021.3_developer_models /home/openvino/smartcity_demo.sh

  • YoloV4 demo

執行 $ docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -v ~/Downloads:/mnt –device /dev/dri:/dev/dri –group-add=$(stat -c “%g” /dev/dri/render*) –rm bryanomg/openvino:2021.3_developer_models

進入docker container

開啟另一個 terminal 執行docker ps 列出 container ID

以上圖為例:

把 container 裏的 /home/openvino/smartcity_demo.sh copy至host修改

$ docker cp 4b3fbf64045d:/home/openvino/smartcity_demo.sh /home/wt/smartcity_demo.sh

編輯smartcity_demo.sh

$ gedit ./smartcity_demo.sh

把 smartcity_demo.sh 裏的 yolov3改為yolov4

gst-launch-1.0 filesrc location=/mnt/NewVideo2.mp4 ! decodebin ! gvadetect model=/opt/intel/openvino_models/public/yolo-v4-tf/FP16-INT8/yolo-v4-tf.xml model-proc=/opt/intel/openvino/data_processing/dl_streamer/samples/model_proc/yolo-v4-tf.json device=GPU ! queue ! gvawatermark ! videoconvert ! fpsdisplaysink video-sink=xvimagesink sync=false

把smartcity_demo.sh copy 至 contrainer

$ docker cp /home/wt/smartcity_demo.sh 4b3fbf64045d:/home/openvino/smartcity_demo.sh

回到container terminal 可看出 smartcity_demo.sh已經變動

執行yolov4 demo

$ ./ smartcity_demo.sh

  • HW Benchmark test

執行 $ docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -v ~/Downloads:/mnt –device /dev/dri:/dev/dri –group-add=$(stat -c “%g” /dev/dri/render*) –rm bryanomg/openvino:2021.3_developer_models

進入docker container

執行run_command.py做benchmark test

$ cd /home/openvino

$ python3 run_command.py

  • How to build AI Box Docker image
  • Create docker hub account

連至https://hub.docker.com/註冊新帳號

在email 確認verify

  • 在自己的系統上使用docker指令 login

  • 準備好下列文件:

下面文件皆為範例,使用者在下載後,可依需求做客製化修改。

  • 3.394.tgz :

下載點: https://software.intel.com/content/www/us/en/develop/tools/openvino-toolkit/download.html

  • test video(NewVideo2.mp4):

下載點:

https://drive.google.com/file/d/14RA7sLqrIE77E7NMY-6dF9Iuwh8E3uEx/view?usp=sharing

  • 3.dockerfile:

下載點:

https://drive.google.com/file/d/1g8_vObf9ccuZDUB4vnmmvCOSPjrlXhhd/view?usp=sharing

  • sh

下載點:

https://drive.google.com/file/d/1OxQ0ZXUkvq927Cg1zhzMLo6xsxLtr7g5/view?usp=sharing

  • benchmark script :

下載點:

– run_command.py

https://drive.google.com/file/d/1DxAu6zWGaYUeYw1hn8Fqz33erX-vwX0e/view?usp=sharing

– benchmark_models_cmds.txt

https://docs.google.com/document/d/1Py_ttNxXAzcrvDYLrq9IqbS42CRMgEPiyuolE6HmwoE/edit?usp=sharing

  • FP32/FP16/FP16-INT8 model:

openvino_models.tgz下載點:

https://drive.google.com/file/d/1MiB5W-khMNRCSw6sB5tM5MvUQWyLiJe/view?usp=sharing

在” /home/個人帳號”  路徑下建立 ” /intelaigent/dockerfiles/” 資料夾,將openvino_cgvh_proprietary_2021.3.dockerfile文檔下載存放於” /home/個人帳號/intelaigent/dockerfiles/”  其餘檔案,存放於” /home/個人帳號/intelaigent/”。

例如: ubuntu開機帳號為oem,則路徑為

”/home/oem/intelaigent/dockerfiles/”

修改run_command.py , smartcity_demo.sh, benchmark_models_cmds.txt文件權限為 –rwxr-xr-x

執行:

$ chmod 755 run_command.py

$ chmod 755 smartcity_demo.py

$ chmod 755 benchmark_models_cmds.txt

Build docker image執行:

$ cd /home/oem/intelaigent/

$ docker build /home/oem/intelaigent/ -f dockerfiles/openvino_cgvh_proprietary_2021.3.dockerfile –build-arg product_name=”Intel® Distribution of OpenVINO™ toolkit 2021.3.394″ –build-arg package_url=l_openvino_toolkit_p_2021.3.394.tgz –build-arg build_id=2021.3.394 –build-arg year=2021 –build-arg distribution=proprietary –build-arg INTEL_OPENCL=20.35.17767 –build-arg models_url=openvino_models.tgz -t openvino_2021.3:developer_models

Push image to docker hub:

$ docker tag openvino_2021.3:developer_models —-AAAAA/openvino:2021.3_developer_models

$ docker push AAAAA/openvino:2021.3_developer_models

  • INTEL AI tool Accuracy checker

關於Accuracy checker 請參考文曄技術文件:"OpenVINO AI tool Accuracy checker.pdf"

  • INTEL AI tool Post-training Optimization Tool (POT)

關於POT 請參考文曄技術文件:"OpenVINO AI tool POT.pdf"

About Post Author

WTMEC

WT Microelectronics Co., Ltd.,
Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %
Previous post Intel® Edge Controls for Industrial 軟體
Next post 文曄科技 Intel® AI Box 建議硬體