Closed Omar-AE closed 4 years ago
Hi @Omar-AE thanks for reaching out, before running the demo scripts, have you performed steps as described in Configuration Guide for the Intel® Distribution of OpenVINO™ toolkit and the Intel® Vision Accelerator Design with Intel® Movidius™ VPUs on Linux*? If not done, please take a look at the steps there and attempt running the demo script again. Let us know the outcome of doing that.
Thank you for your reply.
Yes I did do these steps.
@Omar-AE taking a closer look to the _hello_querydevice output provided, the VPU_HDDL_DEVICE_NUM: 0 which means the VPU devices are not being detected in your machine. What is the output of lsusb
? You should see an entry like Bus 005 Device 008: ID 03e7:2485
for each Myriad* VPU found in your system.
Were the HDDL dependencies installed successfully from running install_IVAD_VPU_dependencies.sh
script? Script outputs similar to:
Install HDDL dependencies successful
Please reboot
Check if _mydvsc and _mydion kernel modules are installed by running the following commands, if you do not see any output you may need to reinstall the modules:
lsmod | grep myd_vsc
lsmod | grep myd_ion
When I remove the mpcie and try to run _hello_querydevice.py, the HDDL device doesn't appear. the output of the lsusb doesn't contain the entry you mentioned. Are all mpcies usually detected in the lsusb
? Probably the motherboard I have doesn't have something that converts from mpcie to usb bus? I tried to run lspci
but it does not appear too.
Yes I have installed all the dependencies successfully.
nvr@nvr:~/inference_engine_samples_build/intel64/Release$ lsmod | grep myd_vsc
myd_vsc 20480 1
nvr@nvr:~/inference_engine_samples_build/intel64/Release$ lsmod | grep myd_ion
No output for the second command. I tried to find it in ${HDDL_INSTALL_DIR}/drivers/drv_ion
and didn't find it.
I have removed the previous versions and installed 2020.3 LTS.
I am also getting strange results when both the NCS2 and the mpcie are inserted:
nvr@nvr:~/inference_engine_samples_build/intel64/Release$ ./classification_sample_async -i /opt/intel/openvino/deployment_tools/demo/car.png -m ~/openvino_models/ir/public/squeezenet1.1/FP16/squeezenet1.1.xml -d MYRIAD
[ INFO ] InferenceEngine:
API version ............ 2.1
Build .................. 2020.3.0-3467-15f2c61a-releases/2020/3
Description ....... API
[ INFO ] Parsing input parameters
[ INFO ] Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ] /opt/intel/openvino/deployment_tools/demo/car.png
[ INFO ] Creating Inference Engine
MYRIAD
myriadPlugin version ......... 2.1
Build ........... 2020.3.0-3467-15f2c61a-releases/2020/3
[ INFO ] Loading network files
[ INFO ] Preparing input blobs
[ WARNING ] Image is resized from (787, 259) to (227, 227)
[ INFO ] Batch size is 1
[ INFO ] Loading model to the device
[ INFO ] Create infer request
[ INFO ] Start inference (10 asynchronous executions)
[ INFO ] Completed 1 async request execution
[ INFO ] Completed 2 async request execution
[ INFO ] Completed 3 async request execution
[ INFO ] Completed 4 async request execution
[ INFO ] Completed 5 async request execution
[ INFO ] Completed 6 async request execution
[ INFO ] Completed 7 async request execution
[ INFO ] Completed 8 async request execution
[ INFO ] Completed 9 async request execution
[ INFO ] Completed 10 async request execution
[ INFO ] Processing output blobs
Top 10 results:
Image /opt/intel/openvino/deployment_tools/demo/car.png
classid probability label
------- ----------- -----
817 0.6708984 sports car, sport car
479 0.1922607 car wheel
511 0.0936890 convertible
436 0.0216064 beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon
751 0.0075760 racer, race car, racing car
656 0.0049667 minivan
717 0.0027428 pickup, pickup truck
581 0.0019779 grille, radiator grille
468 0.0014219 cab, hack, taxi, taxicab
661 0.0008636 Model T
[ INFO ] Execution successful
[ INFO ] This sample is an API example, for any performance measurements please use the dedicated benchmark_app tool
nvr@nvr:~/inference_engine_samples_build/intel64/Release$ ./classification_sample_async -i /opt/intel/openvino/deployment_tools/demo/car.png -m ~/openvino_models/ir/public/squeezenet1.1/FP16/squeezenet1.1.xml -d HDDL
[ INFO ] InferenceEngine:
API version ............ 2.1
Build .................. 2020.3.0-3467-15f2c61a-releases/2020/3
Description ....... API
[ INFO ] Parsing input parameters
[ INFO ] Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ] /opt/intel/openvino/deployment_tools/demo/car.png
[ INFO ] Creating Inference Engine
HDDL
HDDLPlugin version ......... 2.1
Build ........... 2020.3.0-3467-15f2c61a-releases/2020/3
[ INFO ] Loading network files
[ INFO ] Preparing input blobs
[ WARNING ] Image is resized from (787, 259) to (227, 227)
[ INFO ] Batch size is 1
[ INFO ] Loading model to the device
[09:33:32.0661][2112]I[main.cpp:243] ## HDDL_INSTALL_DIR: /opt/intel/openvino_2020.3.194/deployment_tools/inference_engine/external/hddl
[09:33:32.0663][2112]I[main.cpp:245] Config file '/opt/intel/openvino_2020.3.194/deployment_tools/inference_engine/external/hddl/config/hddl_service.config' has been loaded
[09:33:32.0678][2112]I[FileHelper.cpp:272] Set file:/var/tmp/hddl_service_alive.mutex owner: user-'no_change', group-'users', mode-'0660'
[09:33:32.0680][2112]I[FileHelper.cpp:272] Set file:/var/tmp/hddl_service_ready.mutex owner: user-'no_change', group-'users', mode-'0660'
[09:33:32.0681][2112]I[FileHelper.cpp:272] Set file:/var/tmp/hddl_start_exit.mutex owner: user-'no_change', group-'users', mode-'0660'
[09:33:32.0705][2112]I[AutobootStarter.cpp:156] Info: No running autoboot process. Start autoboot daemon...
[09:33:32.1178][2114]I[FileHelper.cpp:272] Set file:/var/tmp/hddl_autoboot_alive.mutex owner: user-'no_change', group-'users', mode-'0660'
[09:33:32.1181][2114]I[FileHelper.cpp:272] Set file:/var/tmp/hddl_autoboot_ready.mutex owner: user-'no_change', group-'users', mode-'0660'
[09:33:32.1182][2114]I[FileHelper.cpp:272] Set file:/var/tmp/hddl_autoboot_start_exit.mutex owner: user-'no_change', group-'users', mode-'0660'
[09:33:32.1184][2114]I[FileHelper.cpp:272] Set file:/tmp/hddl_autoboot_device.map owner: user-'no_change', group-'users', mode-'0660'
[09:33:32.1188][2114]I[AutoBoot.cpp:308] [Firmware Config] deviceName=default deviceNum=0 firmwarePath=/opt/intel/openvino_2020.3.194/deployment_tools/inference_engine/external/hddl/lib/mvnc/usb-ma2x8x.mvcmd
[09:33:33.4278][2117]I[AutoBoot.cpp:197] Start boot device 1.1.1.3.1-ma2480
[09:33:33.6189][2117]I[AutoBoot.cpp:199] Device 1.1.1.3.1-ma2480 boot success, firmware=/opt/intel/openvino_2020.3.194/deployment_tools/inference_engine/external/hddl/lib/mvnc/usb-ma2x8x.mvcmd
[09:33:53.6220][2112]I[AutobootStarter.cpp:85] Info: Autoboot is running.
[09:33:53.6377][2112]W[ConfigParser.cpp:269] Warning: Cannot find key, path=scheduler_config.max_graph_per_device subclass=0, use default value: 1.
[09:33:53.6378][2112]W[ConfigParser.cpp:292] Warning: Cannot find key, path=scheduler_config.use_sgad_by_default subclass=0, use default value: false.
[09:33:53.6380][2112]I[DeviceSchedulerFactory.cpp:56] Info: ## DeviceSchedulerFacotry ## Created Squeeze Device-Scheduler2.
[09:33:53.6408][2112]I[DeviceManager.cpp:551] ## SqueezeScheduler created ##
[09:33:53.6409][2112]I[DeviceManager.cpp:649] times 0: try to create worker on device(1.1.1.3.1)
[09:33:55.6465][2112]I[DeviceManager.cpp:670] [SUCCESS] times 0: create worker on device(1.1.1.3.1)
[09:33:55.6466][2112]I[DeviceManager.cpp:719] worker(Wt1.1.1.3.1) created on device(1.1.1.3.1), type(0)
[09:33:55.6466][2112]I[DeviceManager.cpp:145] DEVICE FOUND : 1
[09:33:55.6467][2112]I[DeviceManager.cpp:146] DEVICE OPENED : 1
[09:33:55.6468][2112]I[DeviceManagerCreator.cpp:81] New device manager(DeviceManager0) created with subclass(0), deviceCount(1)
[09:33:55.6481][2112]I[TaskSchedulerFactory.cpp:45] Info: ## TaskSchedulerFactory ## Created Polling Task-Scheduler.
[09:33:55.6491][2112]I[FileHelper.cpp:272] Set file:/var/tmp/hddl_snapshot.sock owner: user-'no_change', group-'users', mode-'0660'
[09:33:55.6500][2112]I[FileHelper.cpp:272] Set file:/var/tmp/hddl_service.sock owner: user-'no_change', group-'users', mode-'0660'
[09:33:55.6504][2112]I[MessageDispatcher.cpp:87] Message Dispatcher initialization finished
[09:33:55.6507][2112]I[main.cpp:103] SERVICE IS READY ...
[09:33:55.7272][2258]I[ClientManager.cpp:159] client(id:1) registered: clientName=HDDLPlugin socket=2
[09:33:56.0986][2259]I[GraphManager.cpp:491] Load graph success, graphId=1 graphName=squeezenet1.1
[ INFO ] Create infer request
[ INFO ] Start inference (10 asynchronous executions)
[ INFO ] Completed 1 async request execution
[ INFO ] Completed 2 async request execution
[ INFO ] Completed 3 async request execution
[ INFO ] Completed 4 async request execution
[ INFO ] Completed 5 async request execution
[ INFO ] Completed 6 async request execution
[ INFO ] Completed 7 async request execution
[ INFO ] Completed 8 async request execution
[ INFO ] Completed 9 async request execution
[ INFO ] Completed 10 async request execution
[ INFO ] Processing output blobs
Top 10 results:
Image /opt/intel/openvino/deployment_tools/demo/car.png
classid probability label
------- ----------- -----
817 0.6708984 sports car, sport car
479 0.1922607 car wheel
511 0.0936890 convertible
436 0.0216064 beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon
751 0.0075760 racer, race car, racing car
656 0.0049667 minivan
717 0.0027428 pickup, pickup truck
581 0.0019779 grille, radiator grille
468 0.0014219 cab, hack, taxi, taxicab
661 0.0008636 Model T
[09:33:56.2579][2258]I[ClientManager.cpp:189] client(id:1) unregistered: clientName=HDDLPlugin socket=2
[09:33:56.2665][2259]I[GraphManager.cpp:539] graph(1) destroyed
[ INFO ] Execution successful
[ INFO ] This sample is an API example, for any performance measurements please use the dedicated benchmark_app tool
nvr@nvr:~/inference_engine_samples_build/intel64/Release$ ./classification_sample_async -i /opt/intel/openvino/deployment_tools/demo/car.png -m ~/openvino_models/ir/public/squeezenet1.1/FP16/squeezenet1.1.xml -d MYRIAD
[ INFO ] InferenceEngine:
API version ............ 2.1
Build .................. 2020.3.0-3467-15f2c61a-releases/2020/3
Description ....... API
[ INFO ] Parsing input parameters
[ INFO ] Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ] /opt/intel/openvino/deployment_tools/demo/car.png
[ INFO ] Creating Inference Engine
MYRIAD
myriadPlugin version ......... 2.1
Build ........... 2020.3.0-3467-15f2c61a-releases/2020/3
[ INFO ] Loading network files
[ INFO ] Preparing input blobs
[ WARNING ] Image is resized from (787, 259) to (227, 227)
[ INFO ] Batch size is 1
[ INFO ] Loading model to the device
[ ERROR ] Can not init Myriad device: NC_ERROR
And when I run _hello_querydevice.py, I get the following: (note the 'GNA' device appeard and VPU_HDDL_DEVICE_NUM is 1 now)
nvr@nvr:/opt/intel/openvino_2020.3.194/deployment_tools/inference_engine/samples/python/hello_query_device$ python3 hello_query_device.py
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) Celeron(R) CPU J1900 @ 1.99GHz
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: GNA
Metrics:
SUPPORTED_METRICS: SUPPORTED_METRICS, FULL_DEVICE_NAME, SUPPORTED_CONFIG_KEYS, AVAILABLE_DEVICES
FULL_DEVICE_NAME: GNA_SW
SUPPORTED_CONFIG_KEYS: EXCLUSIVE_ASYNC_REQUESTS, GNA_COMPACT_MODE, GNA_DEVICE_MODE, GNA_FIRMWARE_MODEL_IMAGE, GNA_FIRMWARE_MODEL_IMAGE_GENERATION, GNA_LIB_N_THREADS, GNA_PRECISION, GNA_PWL_UNIFORM_DESIGN, GNA_SCALE_FACTOR, PERF_COUNT, SINGLE_THREAD
AVAILABLE_DEVICES: GNA_SW
Default values for device configuration keys:
EXCLUSIVE_ASYNC_REQUESTS: NO
GNA_COMPACT_MODE: NO
GNA_DEVICE_MODE: GNA_AUTO
GNA_FIRMWARE_MODEL_IMAGE:
GNA_FIRMWARE_MODEL_IMAGE_GENERATION:
GNA_LIB_N_THREADS: 1
GNA_PRECISION: I8
GNA_PWL_UNIFORM_DESIGN: YES
GNA_SCALE_FACTOR: 1.0
PERF_COUNT: NO
SINGLE_THREAD: YES
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
RANGE_FOR_ASYNC_INFER_REQUESTS: 4, 150, 1
VPU_HDDL_DEVICE_NUM: 1
VPU_HDDL_DEVICE_NAME: 1.1.1.3.1
VPU_HDDL_DEVICE_THERMAL: 63.561153411865234
VPU_HDDL_DEVICE_ID: 0
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:
When I remove the NCS2, both MYRIAD and HDDL don't work. Is it detecting the NCS2 as an mpcie?! Could it be a hardware issue? @avitial
I tried installing everything from scratch (even the operating system) on another device with the same motherboard and everything worked perfectly. Most likely it is a hardware issue, probably something wrong with the mpcie slot, as the device could not be seen in the lsusb
output. I cannot be sure until I try reinstalling everything from scratch on the first device.
It is also very likely to be something related to the kernel module _mydion as I did not find it on the first device.
Thank you @avitial for your help.
It is indeed a hardware issue. I reinstalled everything on the first device and having the same issue.
I have been having this issue since around a week and still have no idea how to solve it.
Here is the last part of the output I get when I run any one of the demos by running
sudo -E ./demo_squeezenet_download_convert_run.sh -d HDDL
:I tried two mPCIe boards from two different vendors: vega-300 and EDL-mPCIe-MA2485 and there is no difference in the output.
when I run the python script hello_query_device.py, both the CPU and HDDL devices appear:
and the process 'hddldaemon' logs the following two lines:
When I run lsusb, the mpcie does not appear. I have the mpcie connected to the mpcie slot on the motherboard.
The demo runs successfully using the option -d CPU (intel J1900)
The demo also runs successfully using the option -d MYRIAD, as I have a neural compute stick 2 (NCS2)
I am using ubuntu 18.04 and openvino 2020.2.120
One last note: I was able to run the demo successfully on the HDDL only once, and immediately after that, I ran the same command and the same error above came back.