Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.
6404 Discussions

Issues about [Error 25] Myriad Error: "3x3 Convolution outputChannels Dimension too small.". & PReLU

idata
Employee
779 Views

Hi, I'm trying to use a network that contains layers with output channels < 8, which is forbidden in NCS. Is there any workaround to solver this problem instead of changing the network?

 

Another problem is that any network contains the PReLU layer can't pass mvNCCheck, and seems produce wrong result.

 

Thanks!

0 Kudos
6 Replies
idata
Employee
454 Views

@ms2308 Can you provide a link to your files for testing and debugging purposes?

0 Kudos
idata
Employee
454 Views

@Tome_at_Intel Thanks for the reply. The models can be get from https://github.com/kpzhang93/MTCNN_face_detection_alignment/tree/master/code/codes/MTCNNv2/model .

 

The prototxt runs fine without the model, so my guess is the implementation might be correct but data order in NCS-PReLU is wrong.

0 Kudos
idata
Employee
454 Views

@Tome_at_Intel FYI:

 

WITH MODEL

 

mvNCCheck rnet.prototxt -on conv2

 

mvNCCheck v02.00, Copyright @ Movidius Ltd 2016

 

/usr/local/bin/ncsdk/Controllers/FileIO.py:52: UserWarning: You are using a large type. Consider reducing your data sizes for best performance

 

"Consider reducing your data sizes for best performance\033[0m")

 

USB: Transferring Data…

 

USB: Myriad Execution Finished

 

USB: Myriad Connection Closing.

 

USB: Myriad Connection Closed.

 

Result: (48, 9, 9)

 

1) 3085 2.834

 

2) 3084 2.5684

 

3) 3412 2.4023

 

4) 2183 2.334

 

5) 3094 2.3008

 

Expected: (48, 9, 9)

 

1) 2657 2.4727

 

2) 2649 2.3184

 

3) 861 2.3086

 

4) 3085 2.2715

 

5) 2669 2.2422

 

Obtained values

 

Obtained Min Pixel Accuracy: 16.109853982925415% (max allowed=2%), Fail

 

Obtained Average Pixel Accuracy: 1.488905493170023% (max allowed=1%), Fail

 

Obtained Percentage of wrong values: 26.080246913580247% (max allowed=0%), Fail

 

Obtained Pixel-wise L2 error: 2.0507845160736085% (max allowed=1%), Fail

 

Obtained Global Sum Difference: 412.45660400390625

 

WITH ZERO VALUE MODEL:

 

mvNCCheck rnet.prototxt -w zero_weights.caffemodel -on conv2

 

mvNCCheck v02.00, Copyright @ Movidius Ltd 2016

 

/usr/local/bin/ncsdk/Controllers/FileIO.py:52: UserWarning: You are using a large type. Consider reducing your data sizes for best performance

 

"Consider reducing your data sizes for best performance\033[0m")

 

USB: Transferring Data…

 

USB: Myriad Execution Finished

 

USB: Myriad Connection Closing.

 

USB: Myriad Connection Closed.

 

Result: (48, 9, 9)

 

1) 2592 2.7715

 

2) 2610 2.6523

 

3) 1133 2.5801

 

4) 2675 2.5762

 

5) 2674 2.5723

 

Expected: (48, 9, 9)

 

1) 2592 2.7754

 

2) 2610 2.6484

 

3) 2675 2.5742

 

4) 2674 2.5723

 

5) 1133 2.5449

 

Obtained values

 

Obtained Min Pixel Accuracy: 1.6977481544017792% (max allowed=2%), Pass

 

Obtained Average Pixel Accuracy: 0.13053794391453266% (max allowed=1%), Pass

 

Obtained Percentage of wrong values: 0.0% (max allowed=0%), Pass

 

Obtained Pixel-wise L2 error: 0.23660713157300328% (max allowed=1%), Pass

 

Obtained Global Sum Difference: 14.085982322692871
0 Kudos
idata
Employee
454 Views

@ms2308 Thanks for providing your model files. I'll check this out and get back to you.

0 Kudos
idata
Employee
454 Views

@Tome_at_Intel Thanks. There's another issue in the implementation of SSD's 'Normalize' layer. (This layer seems not appear in the Mobile-SSD). The pixel value error between Caffe and NCS in these layers are high enough to make impact on the final output. I couldn't provide the model for testing for now but please have a check.

 

Since the parameter for 'Normalize' and 'PReLU' layers are similar (one value per input channel), the bug could be same.

0 Kudos
idata
Employee
454 Views

@ms2308 Thank you very much for reporting this. We are investigating to confirm if there is a bug/error in the PReLu and Normalize layers.

0 Kudos
Reply