Community
cancel
Showing results for 
Search instead for 
Did you mean: 
idata
Community Manager
403 Views

mvNCCompile returns wrong graph.

Hi all.

 

I am trying to run my CNN model on myriad, and have some problem with converting caffemodel.

 

My caffemodel has two output layer as follow.

 

-- fc2048 ---- fc2_a ---- softmax ---- output_a (244, 244, 2)

 

  └--------- fc2_b ---- softmax ---- output_b (244, 244, 2)

 

Sorry for not adding screenshots.

 

Anyway if I convert this caffemodel using mvNCCompile, it looks like there is no problem.

 

But in case of mvNCprofile, it returns a weird graph like this.

 

-- fc2048 ---- fc2_a --- softmax ----- output (244, 244, 4)

 

  └---------- fc2_b ---------------------------┛

 

Do you know why the second softmax is deleted? Is this a kind of bug?

 

Thanks for many helps.
0 Kudos
8 Replies
idata
Community Manager
77 Views

@hra.kim It looks like your model may have multiple outputs. If this is true, this model may not be compatible with the current version of the NCSDK (2.04.00.06) because we currently don't have support for multiple outputs.

idata
Community Manager
77 Views

Thanks Tome.

 

Then if I modify the model to have one output with multiple paths of layers,

 

-- fc2048 ---- fc2_a ---- softmax ----- output (244, 244, 4)

 

  └--------- fc2_b ---- softmax ---------┛

 

Would it be compatible with the current version of the NCSDK?

 

Heera
idata
Community Manager
77 Views

@hra.kim I haven't seen this before myself, but you can give it a shot. Concat the softmax results and make sure to use the -ec option (to specify explicit concat) when compiling the graph file. Let me know how it goes for you.

idata
Community Manager
77 Views

@Tome_at_Intel Hello! In this case, mvNCCompile makes an error as below.

 

mvNCCompile: error: unrecognized arguments: -ec

 

Which version of compiler is latest? I'm using mvNCCompile v02.00 and NCSDK 1.12

 

Without -ec options, the model makes an invalid results from concat layers.

 

(Outputs are always 0.5, 0.5, 0.5, 0.5)

 

Thanks in advance.

idata
Community Manager
77 Views

@hra.kim NCSDK 2.04.00.06 is the latest version, although NCSDK v 1.12 should have the -ec option also. An example of using the -ec option is: mvNCCompile deploy.prototxt -w bvlc_googlenet.caffemodel -s 12 -in input -on prob -is 224 224 -o GoogLeNet.graph -ec. More information on mvNCCompile can be found at https://movidius.github.io/ncsdk/tools/compile.html.

idata
Community Manager
77 Views

@Tome_at_Intel

 

Hello, Here is my error log.. :'(

 

I don't think I can use -ec option although the bash command string is exactly same as you've told me.

 

Should I upgrade NCSDK version?

 

[hra_kim@movidius 10:44:28] ~/Workspace/ncsdk/examples/caffe/GoogLeNet$ mvNCCompile deploy.prototxt -w bvlc_googlenet.caffemodel -s 12 -in input -on prob -is 224 224 -o GoogLeNet.graph -ec mvNCCompile v02.00, Copyright @ Movidius Ltd 2016 usage: mvNCCompile [-h] [-w WEIGHTS] [-in INPUTNODE] [-on OUTPUTNODE] [-o OUTFILE] [-s NSHAVES] [-is INPUTSIZE INPUTSIZE] network mvNCCompile: error: unrecognized arguments: -ec

idata
Community Manager
77 Views

@hra.kim Hi, How did you combine multiple output layers into a single one ? I'm trying to do something similar myself

idata
Community Manager
77 Views

@hra.kim I would recommend upgrading, however please make note that you will have to make some slight modifications in your code if you decide to upgrade to NCSDK 2. There is a shim app in NCSDK 2 that is a wrapper that will allow your app to use NCSDK 1 calls with NCSDK 2. More information about the shim app can be found at https://github.com/movidius/ncappzoo/tree/ncsdk2/ncapi2_shim and information about converting from API 1 to API 2 can be found at https://movidius.github.io/ncsdk/ncapi/python_api_migration.html.

 

I just double checked my NCSDK 1.12 installation and it seems like the -ec option was implemented for mvNCCheck, but not mvNCCompile.

Reply