OpenVINO工具包是一個免費的工具包,可通過使用推理引擎將深度學習模型從框架和部署優化到英特爾硬件。(wiki)
ONNX、PaddlePaddle - 直接支持的格式,這意味著它們無需任何事先轉換即可與 OpenVINO Runtime 一起使用。
TensorFlow、PyTorch、MXNet、Caffe、Kaldi - 間接支持的格式,這意味著它們需要在運行推理之前以mo轉換為 OpenVINO IR。
sudo apt update
sudo apt install python3-dev python3-pip python3-venv
python3 -m venv --system-site-packages ./vvino
source ./vvino/bin/activate
deactive
python -m pip install --upgrade pip
pip install 'openvino-dev[onnx,tensorflow2]==2022.3.0' "注意⚠️ OpenVINO改成新版了2022.3.0"
mo -h
正常印出help說明
本例採用Intel合作廠商ADLINK之MDS-510型號無風扇邊緣系統,處理器11th Gen Intel Core [email protected] x8,繪圖Intel Xe Graphics(TGL GT2),16GB RAM,120GB SSD,作業系統Ubuntu 20.04 LTS,開發環境Intel® OpenVINO™ toolkit v2022.2、Tensorflow-21.11。 將原始TensorFlow模型經過MO最佳化精煉為IR中繼表示格式。最後由Edge AI執行推論。
#!/bin/bash
# Check device
echo ''
echo '***************************** [1] Check device ***************************'
echo ''
python /opt/intel/openvino_2022/samples/python/hello_query_device/hello_query_device.py
# Check xml model
echo ''
echo '***************************** [2] Check XML ******************************'
echo ''
benchmark_app -m ./model/saved_model.xml -data_shape "[1,640,640,1]" -niter 1 -d CPU
$ mo --saved_model_dir tf-savedmodel-dir/ --output_dir "./model_v1"
給予資料夾即可
from openvino.runtime import Core
from pathlib import Path
img_size=640
model_path_v1 = Path("model_v1/saved_model.xml")
ir_path_v1 = Path(model_path_v1).with_suffix(".xml")
ie_v1 = Core()
model_v1 = ie_v1.read_model(model=ir_path_v1, weights=ir_path_v1.with_suffix(".bin"))
compiled_model_v1 = ie_v1.compile_model(model=model_v1, device_name="CPU")
input_key_v1 = compiled_model_v1.input(0)
output_key_v1 = compiled_model_v1.output(0)
img = get_bHWC_image_from_gardio_gray(img)
out = compiled_model_v1([img])[output_key_v1]
out = tf.squeeze(out, axis=0, name=None)
out = out.numpy()
out = out.reshape(img_size, img_size)