LoginSignup
2
0

More than 1 year has passed since last update.

【OpenVINO】MYRIAD X 複数接続 & 使用方法

Posted at

はじめに

OpenVINO をラズパイなどの低スペックPCにて使用する際に、処理速度がネックになることが多いかと思います。
その対策として、MYRIAD を複数本使用する方法があります。

C++ で MYRIAD を複数本使用する方法はまとまっているのを見つけたことがありますが、
python で MYRIAD を複数本使用する方法がなかったので、この記事にてまとめたいと思います。

利用可能プロセッサ確認方法

以下のコードで、利用可能なプロセッサの確認ができます。

from openvino.inference_engine import IECore

ie = IECore()
available_processor = ie.available_devices
print(available_processor)  
# ['CPU', 'MYRIAD.1.1-ma2480', 'MYRIAD.1.2-ma2480', 'MYRIAD.1.3-ma2480', 'MYRIAD.1.4-ma2480']

共有部分

基本は以下のコードで、device_nameを変えていくことで複数本の MYRIAD を使用することができます。

from openvino.inference_engine import IECore

ie = IECore()
# パスは各自のものに変更をお願いします。
model_path =   '~/intel/face-detection-retail-0004/FP16/face-detection-retail-0004.xml'
weights_path = '~/intel/face-detection-retail-0004/FP16/face-detection-retail-0004.bin'
net = iecore.read_network(model=model_path, weights=weights_path)

# device_name を変えることによって、MYRIAD の使用本数などを変更できる
exec_net = iecore.load_network(network=net, device_name=device_name)

1本使用

device_name = 'MYRIAD'
# プロセッサによっては以下のような形で指定する必要があります。
# device_name = 'MYRIAD.1.1-ma2480'

# 1本使用
exec_net = iecore.load_network(network=net, device_name=device_name)

4本一括使用

device_name = 'MULTI:MYRIAD.1.1-ma2480, MYRIAD.1.2-ma2480, MYRIAD.1.3-ma2480, MYRIAD.1.4-ma2480'

# 4本一括使用
exec_net = iecore.load_network(network=net, device_name=device_name)

まとめ

これだけで段違いに高速化することは難しいのですが、多少は改善することができますので、参考にしてみてください。

非同期処理・マルチスレッドを導入することによって高速化することができるので、それはまた別の機会に書きたいと思います。

参考

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0