Tony Teng
Tony Teng

Reputation: 125

openvino crashes after running inference some seconds in raspberry pi 4

I tried to use Intel Neural Compute Stick 2 as an inference engine for my smart car.

I installed l_openvino_toolkit_runtime_raspbian_p_2019.2.242.tgz followed by this link, and run the code for testing.

Everything was fine at the beginning of 10 - 20 seconds(sometimes less, sometimes longer), Then crashed with the following errors:

E: [xLink] [ 327401] [EventRead00Thr] dispatcherEventReceive:336 dispatcherEventReceive() Read failed (err -4) | event 0xaf1fdddc XLINK_READ_REL_REQ

E: [xLink] [ 327401] [EventRead00Thr] eventReader:223 eventReader thread stopped (err -4) E: [xLink] [ 327402] [python3] XLinkReadDataWithTimeOut:1323 Event data is invalid

E: [ncAPI] [ 327402] [python3] ncFifoReadElem:3445 Packet reading is failed. terminate called after throwing an instance of 'InferenceEngine::details::InferenceEngineException'

what(): Failed to read output from FIFO: NC_ERROR

Aborted

I tried to insert it into the USB hub with a self-power adapter, but it still got the same errors. I also tried to insert it into the USB2.0, but still not working.

I checked out the dmesg, I found the Intel Neural Compute Stick 2 will be auto-mounted when I called net.forward() at some point.

I got dmesg information by following steps:

  1. check the ncs2 device is ok(I can find the device) before running the code.
  2. clear dmesg
  3. running the code
  4. waiting for it crashed. then, check out the dmesg.

the dmesg showing:

[87255.685160] usb 1-1.1: USB disconnect, device number 25

[87255.831256] usb 2-1: new SuperSpeed Gen 1 USB device number 18 using xhci_hcd

[87255.861963] usb 2-1: New USB device found, idVendor=03e7, idProduct=f63b, bcdDevice= 1.00

[87255.861970] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[87255.861975] usb 2-1: Product: VSC Loopback Device

[87255.861980] usb 2-1: Manufacturer: Intel Corporation

[87255.861985] usb 2-1: SerialNumber: 41440410119541BC00

[87280.181479] usb 1-1.1: new high-speed USB device number 26 using xhci_hcd

[87280.312042] usb 1-1.1: New USB device found, idVendor=03e7, idProduct=2485, bcdDevice= 0.01

[87280.312048] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[87280.312053] usb 1-1.1: Product: Movidius MyriadX

[87280.312058] usb 1-1.1: Manufacturer: Movidius Ltd.

[87280.312063] usb 1-1.1: SerialNumber: 03e72485

[87280.691784] usb 2-1: USB disconnect, device number 18

My environment is: Raspberry Pi 4 (4GB) Raspbian Buster

I have debugged it serval days, but have no idea to solve this problem. Is there anything I missed?

Thanks!

Upvotes: 2

Views: 784

Answers (1)

avitial
avitial

Reputation: 186

The error seems to be related to the NCS2 device being reset for inference and fail to initialize during runtime. Verify you have added the USB Rules for the Intel® Neural Compute Stick 2 device by performing the following steps.

  1. Add the current Linux user to the users group:

    $ sudo usermod -a -G users "$(whoami)"

    Log out and log in for it to take effect.

  2. Run setupvars.sh again after logging in:

    $ source /opt/intel/openvino/bin/setupvars.sh

  3. Install the USB rules running the install_NCS_udev_rules.sh script:

    $ sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh

  4. Proceed to run the demo application:

    $ python3 SingleStickSSDwithUSBCamera_OpenVINO_NCS2.py

Note the l_openvino_toolkit_runtime_raspbian_p_2019.2.242 is now quite outdated, and there have been newer software packages released. Checkout the OpenVINO™ Toolkit packages storage for the most recent release available (at the time of this post, 2021.4.1 - l_openvino_toolkit_runtime_raspbian_p_2021.4.689.tgz).

I've executed the demo application you listed with OpenVINO 2021.4.1 for longer than 10 minutes and the error can't reproduce:

demo application running

Upvotes: 2

Related Questions