openvinotoolkit / open_model_zoo

Pre-trained Deep Learning models and demos (high quality and extremely fast)
https://docs.openvino.ai/latest/model_zoo.html
Apache License 2.0
4.1k stars 1.37k forks source link

Neural Compute Stick 1 Not Detected by Windows 10 #171

Closed jzhan299 closed 5 years ago

jzhan299 commented 5 years ago

Running the Security Barrier Camera Demo with -d MYRIAD leads to a "Cannot init USB device: NC_ERROR" error. Log below:

"C:\Users\JZHAN299\Documents\Intel\OpenVINO\inference_engine_samples_build\intel64\Release\security_barrier_camera_demo.exe" -i "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo\car_1.bmp" -m "C:\Users\JZHAN299\Documents\Intel\OpenVINO\openvino_models\ir\FP16\Security\object_detection\barrier\0106\dldt\vehicle-license-plate-detection-barrier-0106-fp16.xml" -m_va "C:\Users\JZHAN299\Documents\Intel\OpenVINO\openvino_models\ir\FP16\Security\object_attributes\vehicle\resnet10_update_1\dldt\vehicle-attributes-recognition-barrier-0039-fp16.xml" -m_lpr "C:\Users\JZHAN299\Documents\Intel\OpenVINO\openvino_models\ir\FP16\Security\optical_character_recognition\license_plate\dldt\license-plate-recognition-barrier-0001-fp16.xml" -d MYRIAD -d_va MYRIAD -d_lpr MYRIAD [ INFO ] InferenceEngine: API version ............ 1.6 Build .................. 23780 [ INFO ] Parsing input parameters [ INFO ] Capturing video streams from the video files or loading images [ INFO ] Files were added: 1 [ INFO ] C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo\car_1.bmp [ INFO ] Number of input image files: 1 [ INFO ] Number of input video files: 0 [ INFO ] Number of input channels: 1 [ INFO ] Display resolution: 1920x1080 [ INFO ] Loading plugin MYRIAD

    API version ............ 1.6
    Build .................. 23780
    Description ....... myriadPlugin

[ INFO ] Loading network files for VehicleDetection [ INFO ] Batch size is forced to 1 [ INFO ] Checking Vehicle Detection inputs [ INFO ] Checking Vehicle Detection outputs [ INFO ] Loading Vehicle Detection model to the MYRIAD plugin E: [ncAPI] [ 0] ncDeviceOpen:672 Failed to find suitable device, rc: X_LINK_DEVICE_NOT_FOUND [ ERROR ] Can not init USB device: NC_ERROR Error

Steps Taken: I've already uninstalled and reinstalled OpenVINO R1.1 (including dependencies and environment variables), hit "install" on the Movidius_VSC_Device.inf in the MovidiusDriver folder of OpenVino, and I do see Movidius MA2X5X as a "Universal Serial Bus device" in Device Manager until the error occurs, at which point it disappears from Device Manager.

alalek commented 5 years ago

it disappears from Device Manager

Stick is rebooted with firmware from OpenVINO package.

It should appear again under new USB ID (new device). This process may be broken if you using some virtualization (VirtualBox/etc). Do you see a new device?

Did you try to use your stick with other machines or platforms (Linux?)

jzhan299 commented 5 years ago

I am not using any virtualization. I restarted the computer and tried again; this time the device does disappear and reappear as a "Movidius MA2X5X." However, I still get the error:

[35mE: [ncAPI] [ 0] ncDeviceOpen:672 Failed to find suitable device, rc: X_LINK_DEVICE_NOT_FOUND

I will try using the stick on a different Windows platform (we are not using Linux for this project). One other potential issue could be the driver on the compute stick? Even after updating with the .inf, the driver date is very outdated:

Movidius MA2X5X

Driver Provider: Microsoft Driver Date: 6/21/2006 Driver Version: 10.0.17134.1 (WinBuild.160101.0800) Digital Signer: Microsoft Windows Driver files: C:\WINDOWS\system32\DRIVERS\winusb.sys

jzhan299 commented 5 years ago

Update:

Running on the human pose estimation demo (same computer) yields the following error:

.\human_pose_estimation_demo.exe -m "C:\Models\human-pose-estimation-0001-fp16.xml" -d MYRIAD

InferenceEngine: API version ............ 1.6 Build .................. 23780 [ INFO ] Parsing input parameters E: [ncAPI] [ 0] ncDeviceOpen:672 Failed to find suitable device, rc: X_LINK_DEVICE_NOT_FOUND To close the application, press 'CTRL+C' or any key with focus on the output window

The application then runs, but at 3 FPS (compared to ~12 FPS when running without the -d MYRIAD option). Also, the Movidius becomes this for a minute or two:

VSC Loopback Device (under Universal Serial Bus devices in Device Manager) Driver Provider: Intel Driver Date: 2/10/2017 Driver Version: 6.1.7600.16385 Digital Signer: Microsoft Windows Hardware Compatibility Publisher Driver Files: C:\WINDOWS\system32\DRIVERS\winusb.sys C:\WINDOWS\system32\WdfCoInstaller01011.dll C:\WINDOWS\system32\WinUSBCoInstaller2.dll File Version: 10.0.17134.1 (WinBuild 160101.0800)

It then switches back to Movidius or disappears from the Device Manager altogether.

jzhan299 commented 5 years ago

Bump:

I've tried installing this on another Windows 10 computer--same problem as above. I've also tried building OpenCV 4.1.0 myself with flags:

cmake -G"Visual Studio 14 2015 Win64" -DOPENCV_EXTRA_MODULES_PATH=C:\opencv_contrib\modules -DWITH_MSMF=OFF -DWITH_INF_ENGINE=ON -DENABLE_CXX11=ON

And replacing the prebuilt OpenCV in OpenVINO for both computers, but this also does not fix the problem.

Lastly, I've tried the steps in https://github.com/donnaware/movidius_windows. The device does show up correctly, and I can go through all the steps in their alexnet executable. But none of the inference engine demos work?

jzhan299 commented 5 years ago

Closed. Found that MYRIAD worked for face_detection_demo, but again found performance was very low (3-4 FPS vs 30-35 FPS on CPU). Switching back to CPU development unless Compute Stick performance is supposed to be much faster.