サンプルを片っ端から実行していくシリーズ。今回はhello_query_deviceのサンプルを実行してみます。実行結果が長いので記事はOS別に記載します。
サンプルは以下のフォルダになります。openvino\inference_engine\samples\python\hello_query_device
実行の前に
サンプルを実行する前に、READMEファイルを確認しておきましょう。このサンプルはOpenVINOで使用出来るデバイスの情報を取得するものなので凄くシンプルです。
モデル
今回のサンプルはモデルは不要です。
環境
UP Squared AI Edge Computing with Intel ATOM で実行しました。
実行
環境変数の設定をしていない場合は、コマンドラインで以下を実行します。/opt/intel/openvino/bin/setupvars.sh
以下のコマンドでhello_query_deviceを実行します。
cd /opt/intel/openvino/deployment_tools/inference_engine/samples/python/hello_query_device
% python3 hello_query_device.py
実行例(NCS2無し)
Available devices: Device: CPU Metrics: AVAILABLE_DEVICES: SUPPORTED_METRICS: AVAILABLE_DEVICES, SUPPORTED_METRICS, FULL_DEVICE_NAME, OPTIMIZATION_CAPABILITIES, SUPPORTED_CONFIG_KEYS, RANGE_FOR_ASYNC_INFER_REQUESTS, RANGE_FOR_STREAMS FULL_DEVICE_NAME: Intel(R) Atom(TM) Processor E3950 @ 1.60GHz OPTIMIZATION_CAPABILITIES: FP32, INT8, BIN SUPPORTED_CONFIG_KEYS: CPU_BIND_THREAD, CPU_THREADS_NUM, CPU_THROUGHPUT_STREAMS, DUMP_EXEC_GRAPH_AS_DOT, DYN_BATCH_ENABLED, DYN_BATCH_LIMIT, EXCLUSIVE_ASYNC_REQUESTS, PERF_COUNT RANGE_FOR_ASYNC_INFER_REQUESTS: 1, 1, 1 RANGE_FOR_STREAMS: 1, 4 Default values for device configuration keys: CPU_BIND_THREAD: YES CPU_THREADS_NUM: 0 CPU_THROUGHPUT_STREAMS: 1 DUMP_EXEC_GRAPH_AS_DOT: DYN_BATCH_ENABLED: NO DYN_BATCH_LIMIT: 0 EXCLUSIVE_ASYNC_REQUESTS: NO PERF_COUNT: NO Device: GPU Metrics: AVAILABLE_DEVICES: 0 SUPPORTED_METRICS: AVAILABLE_DEVICES, SUPPORTED_METRICS, FULL_DEVICE_NAME, OPTIMIZATION_CAPABILITIES, SUPPORTED_CONFIG_KEYS, RANGE_FOR_ASYNC_INFER_REQUESTS, RANGE_FOR_STREAMS FULL_DEVICE_NAME: Intel(R) Gen9 HD Graphics OPTIMIZATION_CAPABILITIES: FP32, BIN, FP16, INT8 SUPPORTED_CONFIG_KEYS: CLDNN_MEM_POOL, CLDNN_NV12_TWO_INPUTS, CLDNN_PLUGIN_PRIORITY, CLDNN_PLUGIN_THROTTLE, DEVICE_ID, DUMP_KERNELS, DYN_BATCH_ENABLED, EXCLUSIVE_ASYNC_REQUESTS, GPU_THROUGHPUT_STREAMS, PERF_COUNT, TUNING_MODE RANGE_FOR_ASYNC_INFER_REQUESTS: 1, 2, 1 RANGE_FOR_STREAMS: 1, 2 Default values for device configuration keys: CLDNN_MEM_POOL: YES CLDNN_NV12_TWO_INPUTS: NO CLDNN_PLUGIN_PRIORITY: 0 CLDNN_PLUGIN_THROTTLE: 0 DEVICE_ID: DUMP_KERNELS: NO DYN_BATCH_ENABLED: NO EXCLUSIVE_ASYNC_REQUESTS: NO GPU_THROUGHPUT_STREAMS: 1 PERF_COUNT: NO TUNING_MODE: TUNING_DISABLED Device: HDDL Metrics: AVAILABLE_DEVICES: SUPPORTED_METRICS: AVAILABLE_DEVICES, SUPPORTED_METRICS, SUPPORTED_CONFIG_KEYS, FULL_DEVICE_NAME, OPTIMIZATION_CAPABILITIES, RANGE_FOR_ASYNC_INFER_REQUESTS, VPU_HDDL_DEVICE_NUM, VPU_HDDL_DEVICE_NAME, VPU_HDDL_DEVICE_THERMAL, VPU_HDDL_DEVICE_ID, VPU_HDDL_DEVICE_SUBCLASS, VPU_HDDL_DEVICE_MEMORY_TOTAL, VPU_HDDL_DEVICE_MEMORY_USED, VPU_HDDL_DEVICE_UTILIZATION, VPU_HDDL_DEVICE_TAG, VPU_HDDL_STREAM_ID SUPPORTED_CONFIG_KEYS: PERF_COUNT, VPU_INPUT_NORM, VPU_INPUT_BIAS, VPU_HDDL_GRAPH_TAG, VPU_HDDL_STREAM_ID, VPU_HDDL_DEVICE_TAG, VPU_HDDL_BIND_DEVICE, VPU_HDDL_RUNTIME_PRIORITY, VPU_HDDL_USE_SGAD, VPU_COPY_OPTIMIZATION, LOG_LEVEL, VPU_IGNORE_UNKNOWN_LAYERS, VPU_HW_STAGES_OPTIMIZATION, VPU_NONE_LAYERS, VPU_NUMBER_OF_SHAVES, VPU_NUMBER_OF_CMX_SLICES, VPU_HW_INJECT_STAGES, VPU_HW_POOL_CONV_MERGE, VPU_HW_STAGES_OPTIMIZATION, EXCLUSIVE_ASYNC_REQUESTS FULL_DEVICE_NAME: Intel Vision Accelerator Design with Intel Movidius VPUs OPTIMIZATION_CAPABILITIES: FP16 [10:05:10.6872][1939]I[ClientManager.cpp:159] client(id:2) registered: clientName=HDDLPluginForQuery socket=2 RANGE_FOR_ASYNC_INFER_REQUESTS: 4, 2000, 1 VPU_HDDL_DEVICE_NUM: 1 VPU_HDDL_DEVICE_NAME: 4.1 VPU_HDDL_DEVICE_THERMAL: 55.93877029418945 VPU_HDDL_DEVICE_ID: 228 VPU_HDDL_DEVICE_SUBCLASS: 0 VPU_HDDL_DEVICE_MEMORY_TOTAL: 483 VPU_HDDL_DEVICE_MEMORY_USED: 0 VPU_HDDL_DEVICE_UTILIZATION: 0.0 VPU_HDDL_DEVICE_TAG: VPU_HDDL_STREAM_ID: Default values for device configuration keys: PERF_COUNT: VPU_INPUT_NORM: VPU_INPUT_BIAS: VPU_HDDL_GRAPH_TAG: VPU_HDDL_STREAM_ID: VPU_HDDL_DEVICE_TAG: VPU_HDDL_BIND_DEVICE: VPU_HDDL_RUNTIME_PRIORITY: VPU_HDDL_USE_SGAD: VPU_COPY_OPTIMIZATION: LOG_LEVEL: VPU_IGNORE_UNKNOWN_LAYERS: VPU_HW_STAGES_OPTIMIZATION: VPU_NONE_LAYERS: VPU_NUMBER_OF_SHAVES: VPU_NUMBER_OF_CMX_SLICES: VPU_HW_INJECT_STAGES: VPU_HW_POOL_CONV_MERGE: VPU_HW_STAGES_OPTIMIZATION: EXCLUSIVE_ASYNC_REQUESTS: [10:05:10.7184][1939]I[ClientManager.cpp:189] client(id:2) unregistered: clientName=HDDLPluginForQuery socket=2
実行例(NCS2 1本)
Available devices: Device: CPU Metrics: AVAILABLE_DEVICES: SUPPORTED_METRICS: AVAILABLE_DEVICES, SUPPORTED_METRICS, FULL_DEVICE_NAME, OPTIMIZATION_CAPABILITIES, SUPPORTED_CONFIG_KEYS, RANGE_FOR_ASYNC_INFER_REQUESTS, RANGE_FOR_STREAMS FULL_DEVICE_NAME: Intel(R) Atom(TM) Processor E3950 @ 1.60GHz OPTIMIZATION_CAPABILITIES: FP32, INT8, BIN SUPPORTED_CONFIG_KEYS: CPU_BIND_THREAD, CPU_THREADS_NUM, CPU_THROUGHPUT_STREAMS, DUMP_EXEC_GRAPH_AS_DOT, DYN_BATCH_ENABLED, DYN_BATCH_LIMIT, EXCLUSIVE_ASYNC_REQUESTS, PERF_COUNT RANGE_FOR_ASYNC_INFER_REQUESTS: 1, 1, 1 RANGE_FOR_STREAMS: 1, 4 Default values for device configuration keys: CPU_BIND_THREAD: YES CPU_THREADS_NUM: 0 CPU_THROUGHPUT_STREAMS: 1 DUMP_EXEC_GRAPH_AS_DOT: DYN_BATCH_ENABLED: NO DYN_BATCH_LIMIT: 0 EXCLUSIVE_ASYNC_REQUESTS: NO PERF_COUNT: NO Device: GPU Metrics: AVAILABLE_DEVICES: 0 SUPPORTED_METRICS: AVAILABLE_DEVICES, SUPPORTED_METRICS, FULL_DEVICE_NAME, OPTIMIZATION_CAPABILITIES, SUPPORTED_CONFIG_KEYS, RANGE_FOR_ASYNC_INFER_REQUESTS, RANGE_FOR_STREAMS FULL_DEVICE_NAME: Intel(R) Gen9 HD Graphics OPTIMIZATION_CAPABILITIES: FP32, BIN, FP16, INT8 SUPPORTED_CONFIG_KEYS: CLDNN_MEM_POOL, CLDNN_NV12_TWO_INPUTS, CLDNN_PLUGIN_PRIORITY, CLDNN_PLUGIN_THROTTLE, DEVICE_ID, DUMP_KERNELS, DYN_BATCH_ENABLED, EXCLUSIVE_ASYNC_REQUESTS, GPU_THROUGHPUT_STREAMS, PERF_COUNT, TUNING_MODE RANGE_FOR_ASYNC_INFER_REQUESTS: 1, 2, 1 RANGE_FOR_STREAMS: 1, 2 Default values for device configuration keys: CLDNN_MEM_POOL: YES CLDNN_NV12_TWO_INPUTS: NO CLDNN_PLUGIN_PRIORITY: 0 CLDNN_PLUGIN_THROTTLE: 0 DEVICE_ID: DUMP_KERNELS: NO DYN_BATCH_ENABLED: NO EXCLUSIVE_ASYNC_REQUESTS: NO GPU_THROUGHPUT_STREAMS: 1 PERF_COUNT: NO TUNING_MODE: TUNING_DISABLED Device: HDDL Metrics: AVAILABLE_DEVICES: SUPPORTED_METRICS: AVAILABLE_DEVICES, SUPPORTED_METRICS, SUPPORTED_CONFIG_KEYS, FULL_DEVICE_NAME, OPTIMIZATION_CAPABILITIES, RANGE_FOR_ASYNC_INFER_REQUESTS, VPU_HDDL_DEVICE_NUM, VPU_HDDL_DEVICE_NAME, VPU_HDDL_DEVICE_THERMAL, VPU_HDDL_DEVICE_ID, VPU_HDDL_DEVICE_SUBCLASS, VPU_HDDL_DEVICE_MEMORY_TOTAL, VPU_HDDL_DEVICE_MEMORY_USED, VPU_HDDL_DEVICE_UTILIZATION, VPU_HDDL_DEVICE_TAG, VPU_HDDL_STREAM_ID SUPPORTED_CONFIG_KEYS: PERF_COUNT, VPU_INPUT_NORM, VPU_INPUT_BIAS, VPU_HDDL_GRAPH_TAG, VPU_HDDL_STREAM_ID, VPU_HDDL_DEVICE_TAG, VPU_HDDL_BIND_DEVICE, VPU_HDDL_RUNTIME_PRIORITY, VPU_HDDL_USE_SGAD, VPU_COPY_OPTIMIZATION, LOG_LEVEL, VPU_IGNORE_UNKNOWN_LAYERS, VPU_HW_STAGES_OPTIMIZATION, VPU_NONE_LAYERS, VPU_NUMBER_OF_SHAVES, VPU_NUMBER_OF_CMX_SLICES, VPU_HW_INJECT_STAGES, VPU_HW_POOL_CONV_MERGE, VPU_HW_STAGES_OPTIMIZATION, EXCLUSIVE_ASYNC_REQUESTS FULL_DEVICE_NAME: Intel Vision Accelerator Design with Intel Movidius VPUs OPTIMIZATION_CAPABILITIES: FP16 [10:23:02.9122][1916]I[ClientManager.cpp:159] client(id:3) registered: clientName=HDDLPluginForQuery socket=2 RANGE_FOR_ASYNC_INFER_REQUESTS: 8, 2000, 1 VPU_HDDL_DEVICE_NUM: 2 VPU_HDDL_DEVICE_NAME: 2.4.1, 4.1 VPU_HDDL_DEVICE_THERMAL: 53.33384704589844, 56.36977767944336 VPU_HDDL_DEVICE_ID: 3, 228 VPU_HDDL_DEVICE_SUBCLASS: 0, 0 VPU_HDDL_DEVICE_MEMORY_TOTAL: 483, 483 VPU_HDDL_DEVICE_MEMORY_USED: 0, 0 VPU_HDDL_DEVICE_UTILIZATION: 0.0, 0.0 VPU_HDDL_DEVICE_TAG: , VPU_HDDL_STREAM_ID: , Default values for device configuration keys: PERF_COUNT: VPU_INPUT_NORM: VPU_INPUT_BIAS: VPU_HDDL_GRAPH_TAG: VPU_HDDL_STREAM_ID: VPU_HDDL_DEVICE_TAG: VPU_HDDL_BIND_DEVICE: VPU_HDDL_RUNTIME_PRIORITY: VPU_HDDL_USE_SGAD: VPU_COPY_OPTIMIZATION: LOG_LEVEL: VPU_IGNORE_UNKNOWN_LAYERS: VPU_HW_STAGES_OPTIMIZATION: VPU_NONE_LAYERS: VPU_NUMBER_OF_SHAVES: VPU_NUMBER_OF_CMX_SLICES: VPU_HW_INJECT_STAGES: VPU_HW_POOL_CONV_MERGE: VPU_HW_STAGES_OPTIMIZATION: EXCLUSIVE_ASYNC_REQUESTS: [10:23:02.9443][1916]I[ClientManager.cpp:189] client(id:3) unregistered: clientName=HDDLPluginForQuery socket=2
実行例(NCS2 2本)
Available devices: Device: CPU Metrics: AVAILABLE_DEVICES: SUPPORTED_METRICS: AVAILABLE_DEVICES, SUPPORTED_METRICS, FULL_DEVICE_NAME, OPTIMIZATION_CAPABILITIES, SUPPORTED_CONFIG_KEYS, RANGE_FOR_ASYNC_INFER_REQUESTS, RANGE_FOR_STREAMS FULL_DEVICE_NAME: Intel(R) Atom(TM) Processor E3950 @ 1.60GHz OPTIMIZATION_CAPABILITIES: FP32, INT8, BIN SUPPORTED_CONFIG_KEYS: CPU_BIND_THREAD, CPU_THREADS_NUM, CPU_THROUGHPUT_STREAMS, DUMP_EXEC_GRAPH_AS_DOT, DYN_BATCH_ENABLED, DYN_BATCH_LIMIT, EXCLUSIVE_ASYNC_REQUESTS, PERF_COUNT RANGE_FOR_ASYNC_INFER_REQUESTS: 1, 1, 1 RANGE_FOR_STREAMS: 1, 4 Default values for device configuration keys: CPU_BIND_THREAD: YES CPU_THREADS_NUM: 0 CPU_THROUGHPUT_STREAMS: 1 DUMP_EXEC_GRAPH_AS_DOT: DYN_BATCH_ENABLED: NO DYN_BATCH_LIMIT: 0 EXCLUSIVE_ASYNC_REQUESTS: NO PERF_COUNT: NO Device: GPU Metrics: AVAILABLE_DEVICES: 0 SUPPORTED_METRICS: AVAILABLE_DEVICES, SUPPORTED_METRICS, FULL_DEVICE_NAME, OPTIMIZATION_CAPABILITIES, SUPPORTED_CONFIG_KEYS, RANGE_FOR_ASYNC_INFER_REQUESTS, RANGE_FOR_STREAMS FULL_DEVICE_NAME: Intel(R) Gen9 HD Graphics OPTIMIZATION_CAPABILITIES: FP32, BIN, FP16, INT8 SUPPORTED_CONFIG_KEYS: CLDNN_MEM_POOL, CLDNN_NV12_TWO_INPUTS, CLDNN_PLUGIN_PRIORITY, CLDNN_PLUGIN_THROTTLE, DEVICE_ID, DUMP_KERNELS, DYN_BATCH_ENABLED, EXCLUSIVE_ASYNC_REQUESTS, GPU_THROUGHPUT_STREAMS, PERF_COUNT, TUNING_MODE RANGE_FOR_ASYNC_INFER_REQUESTS: 1, 2, 1 RANGE_FOR_STREAMS: 1, 2 Default values for device configuration keys: CLDNN_MEM_POOL: YES CLDNN_NV12_TWO_INPUTS: NO CLDNN_PLUGIN_PRIORITY: 0 CLDNN_PLUGIN_THROTTLE: 0 DEVICE_ID: DUMP_KERNELS: NO DYN_BATCH_ENABLED: NO EXCLUSIVE_ASYNC_REQUESTS: NO GPU_THROUGHPUT_STREAMS: 1 PERF_COUNT: NO TUNING_MODE: TUNING_DISABLED Device: HDDL Metrics: AVAILABLE_DEVICES: SUPPORTED_METRICS: AVAILABLE_DEVICES, SUPPORTED_METRICS, SUPPORTED_CONFIG_KEYS, FULL_DEVICE_NAME, OPTIMIZATION_CAPABILITIES, RANGE_FOR_ASYNC_INFER_REQUESTS, VPU_HDDL_DEVICE_NUM, VPU_HDDL_DEVICE_NAME, VPU_HDDL_DEVICE_THERMAL, VPU_HDDL_DEVICE_ID, VPU_HDDL_DEVICE_SUBCLASS, VPU_HDDL_DEVICE_MEMORY_TOTAL, VPU_HDDL_DEVICE_MEMORY_USED, VPU_HDDL_DEVICE_UTILIZATION, VPU_HDDL_DEVICE_TAG, VPU_HDDL_STREAM_ID SUPPORTED_CONFIG_KEYS: PERF_COUNT, VPU_INPUT_NORM, VPU_INPUT_BIAS, VPU_HDDL_GRAPH_TAG, VPU_HDDL_STREAM_ID, VPU_HDDL_DEVICE_TAG, VPU_HDDL_BIND_DEVICE, VPU_HDDL_RUNTIME_PRIORITY, VPU_HDDL_USE_SGAD, VPU_COPY_OPTIMIZATION, LOG_LEVEL, VPU_IGNORE_UNKNOWN_LAYERS, VPU_HW_STAGES_OPTIMIZATION, VPU_NONE_LAYERS, VPU_NUMBER_OF_SHAVES, VPU_NUMBER_OF_CMX_SLICES, VPU_HW_INJECT_STAGES, VPU_HW_POOL_CONV_MERGE, VPU_HW_STAGES_OPTIMIZATION, EXCLUSIVE_ASYNC_REQUESTS FULL_DEVICE_NAME: Intel Vision Accelerator Design with Intel Movidius VPUs OPTIMIZATION_CAPABILITIES: FP16 [10:24:02.3869][1916]I[ClientManager.cpp:159] client(id:4) registered: clientName=HDDLPluginForQuery socket=2 RANGE_FOR_ASYNC_INFER_REQUESTS: 12, 2000, 1 VPU_HDDL_DEVICE_NUM: 3 VPU_HDDL_DEVICE_NAME: 2.4.1, 4.1, 2.4.3 VPU_HDDL_DEVICE_THERMAL: 53.988128662109375, 56.15438461303711, 37.24032211303711 VPU_HDDL_DEVICE_ID: 3, 228, 0 VPU_HDDL_DEVICE_SUBCLASS: 0, 0, 0 VPU_HDDL_DEVICE_MEMORY_TOTAL: 483, 483, 483 VPU_HDDL_DEVICE_MEMORY_USED: 0, 0, 0 VPU_HDDL_DEVICE_UTILIZATION: 0.0, 0.0, 0.0 VPU_HDDL_DEVICE_TAG: , , VPU_HDDL_STREAM_ID: , , Default values for device configuration keys: PERF_COUNT: VPU_INPUT_NORM: VPU_INPUT_BIAS: VPU_HDDL_GRAPH_TAG: VPU_HDDL_STREAM_ID: VPU_HDDL_DEVICE_TAG: VPU_HDDL_BIND_DEVICE: VPU_HDDL_RUNTIME_PRIORITY: VPU_HDDL_USE_SGAD: VPU_COPY_OPTIMIZATION: LOG_LEVEL: VPU_IGNORE_UNKNOWN_LAYERS: VPU_HW_STAGES_OPTIMIZATION: VPU_NONE_LAYERS: VPU_NUMBER_OF_SHAVES: VPU_NUMBER_OF_CMX_SLICES: VPU_HW_INJECT_STAGES: VPU_HW_POOL_CONV_MERGE: VPU_HW_STAGES_OPTIMIZATION: EXCLUSIVE_ASYNC_REQUESTS: [10:24:02.4262][1916]I[ClientManager.cpp:189] client(id:4) unregistered: clientName=HDDLPluginForQuery socket=2
VPU_HDDL_DEVICE_NUM: の箇所がNCS2の本数分だけ増えていることを確認しました。実行時に何らかのエラーが出る場合は、OpenVINOのサイトでLinuxのセットアップ関連を確認してください。
その他
NCS2を2本利用した時に、電力低下のメッセージが表示されました。セルフパワーのUSBハブの出番です。未だお持ちでない方はぜひ購入ください。USB3.0対応の方が良いですね。NCS2も試してみてくださいね。
フリーのITエンジニア(何でも屋さん)。趣味は渓流釣り、サッカー観戦、インラインホッケー、アイスホッケー、RaspberryPiを使った工作など。AI活用に興味があり試行錯誤中です。