frame

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Input fifo write queue size not correct since NCSDK 2.10

Hello,

I upgraded from 2.08 to 2.10 and now, a conv network that was working ok, now doesn't work anymore.

See the output below.

It seems that the input queue size is wrong now. The image i'm using is 640x320 with 3 channels, so the fifo element size should be 3686400 but it seems now only 2/3 of this is allocated per fifo element. I think this is a regression compared to 2.08.

ps: The ssd_mobilenet with tensorflow however works ok it seems(and which is why I upgraded), and the ssd_mobilenet with caffe also keeps working.

Best regards,
Tom,

Checking movidius device and loading graph and fifos
D: [         0] ncDeviceCreate:308  ncDeviceCreate index 0

D: [         0] ncDeviceCreate:308  ncDeviceCreate index 1

D: [         0] ncDeviceOpen:524    File path /usr/local/lib/mvnc/MvNCAPI-ma2450.mvcmd

I: [         0] ncDeviceOpen:530    ncDeviceOpen() XLinkBootRemote returned success 0

I: [         0] ncDeviceOpen:568    XLinkConnect done - link Id 0

D: [         0] ncDeviceOpen:582    done

I: [         0] ncDeviceOpen:584    Booted 3-ma2450 -> VSC

I: [         0] getDevAttributes:383    Device attributes

I: [         0] getDevAttributes:386    Device FW version: 2.a.2450.8a

I: [         0] getDevAttributes:388    mvTensorVersion 2.10 

I: [         0] getDevAttributes:389    Maximum graphs: 10

I: [         0] getDevAttributes:390    Maximum fifos: 20

I: [         0] getDevAttributes:392    Maximum graph option class: 1

I: [         0] getDevAttributes:394    Maximum device option class: 1

I: [         0] getDevAttributes:395    Device memory capacity: 522047856

I: [         0] ncGraphAllocate:960 Starting Graph allocation sequence

I: [         0] ncGraphAllocate:1026    Sent graph
D: [         0] ncGraphAllocate:1051    Graph Status 0 rc 0 

D: [         0] ncGraphAllocate:1097    Input tensor w 640 h 320 c 3 n 1 totalSize 1228800 wstide 6 hstride 3840 cstride 2 layout 0

D: [         0] ncGraphAllocate:1110    output tensor w 1 h 1 c 6912 n 1 totalSize 432 wstide 6 hstride 432 cstride 2 layout 0

I: [         0] ncGraphAllocate:1164    Graph allocation completed successfully

I: [         0] ncFifoCreate:2164   Init fifo
I: [         0] ncFifoAllocate:2359 Creating fifo
I: [         0] ncFifoCreate:2164   Init fifo
I: [         0] ncFifoAllocate:2359 Creating fifo
Preprocessing image in samples dir
E: [         0] ncFifoWriteElem:2608    input tensor length (3686400) doesnt match expected value (2457600)
I: [         0] ncDeviceClose:776   closing device

E: [         0] dispatcherEventReceive:247  dispatcherEventReceive() Read failed -2

E: [         0] eventReader:268 Failed to receive event, the device may have reset

All closed now
Traceback (most recent call last):
  File "desktop_movidius_stick_sm.py", line 122, in <module>
    graph.queue_inference_with_fifo_elem(fifoIn, fifoOut, img, 'user object')
  File "/usr/local/lib/python3.5/dist-packages/mvnc/mvncapi.py", line 767, in queue_inference_with_fifo_elem
    raise Exception(Status(status))
Exception: Status.INVALID_DATA_LENGTH

Comments

  • 3 Comments sorted by Votes Date Added
  • Ah ok, I got the wrong error, I gave indeed the wrong tensor input size, 2457600 is correct... I'm running in C++ but testing in python, so I thought I simulated the problem, but it is actually another problem I'm having, see this output:

    D: [         0] ncGraphAllocate:1051    Graph Status 0 rc 0 
    
    D: [         0] ncGraphAllocate:1097    Input tensor w 640 h 320 c 3 n 1 totalSize 1228800 wstide 6 hstride 3840 cstride 2 layout 0
    
    D: [         0] ncGraphAllocate:1110    output tensor w 1 h 1 c 6912 n 1 totalSize 432 wstide 6 hstride 432 cstride 2 layout 0
    
    I: [         0] ncGraphAllocate:1164    Graph allocation completed successfully
    
    I: [         0] ncFifoCreate:2164   Init fifo
    I: [         0] ncFifoAllocate:2359 Creating fifo
    I: [         0] ncFifoCreate:2164   Init fifo
    I: [         0] ncFifoAllocate:2359 Creating fifo
    Input descriptor of graph: [<mvnc.mvncapi.TensorDescriptor object at 0x7f4788eaa7b8>]
    In fifo size: 2457600
    Preprocessing image in samples dir
    D: [         0] ncFifoWriteElem:2630    No layout conversion  is needed 0
    
    D: [         0] convertDataTypeAndLayout:170    src data type 1 dst data type 0
    
    D: [         0] convertDataTypeAndLayout:172    SRC: w 640 h 320 c 3 w_s 12 h_s 7680 c_s 4
    
    D: [         0] convertDataTypeAndLayout:174    DST: w 640 h 320 c 3 w_s 6 h_s 3840 c_s 2
    
    D: [         0] ncFifoWriteElem:2655    write count 0 num_elements 2 userparam 0x7f4788eaa808
    
    I: [         0] ncGraphQueueInference:3090  trigger start
    
    I: [         0] ncGraphQueueInference:3187  trigger end
    
    E: [         0] dispatcherEventReceive:247  dispatcherEventReceive() Read failed -2
    
    E: [         0] eventReader:268 Failed to receive event, the device may have reset
    
    E: [         0] ncFifoReadElem:2736 Failed to read fifo element
    
    E: [         0] ncFifoDestroy:2526  Failed to write to fifo before deleting it!
    
    
  • Hi @metalMajor ,

    Thanks for contacting us. I'd like to reproduce this problem and help you find a solution, may I ask for your environment details (a.k.a Host OS, VirtualMachine?, NCS device connected to powered USB hub?, etc.) and if possible your network model or the code that showcases the error output.

    Regards,
    @Luis_at_Intel

  • Hi!
    Actally, I managed to get openvino r5 working on my platform, but had some problems there too, but there I don't get the same results as with NCSDK2. So in this post of mine, you can find the basic FCN keras network i'm using, where I want to segment for 3 classes: https://software.intel.com/en-us/forums/computer-vision/topic/805847
    I'm working on a virtualbox with ubuntu 16.04, and the movidius stick 1 attached using USB, on my macbook 2017 laptop.

Sign In or Register to comment.