2023年03月23日 更新

OpenVINO API2.0の基礎コードを紹介

どうも、クラゲジュニアです。

OpenVINO 2022.1バージョンから新しいAPIであるAPI2.0が使用されることになりました。 以前のAPI(Inference Engine API)は、2023年3月時点で問題なく使用できますが、この先API2.0に移行するようです。

OpenVINOで推論を行うに当たって、基本的なAPIを以下に紹介します。

Inference Engine API (旧API)

# モジュール読み込み 
from openvino.inference_engine import IECore

# IEコアの初期化
ie = IECore()

#モデルの準備
model = {model_name} + '.xml'
weights = {model_name} + '.bin'

# モデルの読み込み
net = ie.read_network(model, weights)
exec_net = ie.load_network(network=net, device_name='CPU')

# 推論実行 
result = exec_net.infer({input_blob: img})

※ 前・後処理は割愛

API2.0 (新API)

# モジュール読み込み
import openvino.runtime as ov

# IEコアの初期化
core = ov.Core()

#モデルの準備
model = {model_name} + '.xml'

# モデルの読み込み
compiled_model = core.compile_model(model, device_name='CPU')
infer_request = compiled_model.create_infer_request()

# 推論実行
result = infer_request.infer(img)

以上です。