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!

Alert: This site has migrating to our new home at Please visit us there!

mvNCCompile works only with Convolutional Layers

Hi there,

I'm currently trying to compile a tensorflow model (that I trained using keras) to run on the NCS Stick 1. This model will process raw data and no images or visual content of any type.

After days of trying, I have the feeling, that I can compile only those models with mvNCCompile that have a 3D-input and have a Convolutional layer as the first layer after the input. Otherwise, I get the following error log:

user@ubuntu:~/dirpath4$ mvNCCompile TF_Model/tf_model.meta -in=dense_1_input_1 -on=dense_2_1/Sigmoid
/usr/local/bin/ncsdk/Controllers/Parsers/TensorFlowParser/ SyntaxWarning: assertion is always true, perhaps remove parentheses?
  assert(False, "Layer type not supported by Convolution: " + obj.type)
mvNCCompile v02.00, Copyright @ Intel Corporation 2017

****** Info: No Weights provided. inferred path: TF_Model/******
2019-03-28 16:30:54.565036: I tensorflow/core/platform/] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
No Bias
No Bias
Fusing DeptwiseConv + Pointwise Convolution into plain Convolution
Fusing Add and Batch after Convolution
Eliminate layers that have been parsed as NoOp
Fusing Pad and Convolution2D
Fusing Scale after Convolution or FullyConnect
Fusing standalone postOps
Fusing Permute and Flatten
Fusing Eltwise and Relu
Fusing Concat of Concats
Evaluating input and weigths for each hw layer
# Network Input tensors ['dense_1_input_1:0#13']
# Network Output tensors ['dense_2_1/Sigmoid:0#25']
Traceback (most recent call last):
  File "/usr/local/bin/mvNCCompile", line 208, in <module>
    args.old_parser, args.cpp, args)
  File "/usr/local/bin/mvNCCompile", line 186, in create_graph
    load_ret = load_network(args, parser, myriad_config)
  File "/usr/local/bin/ncsdk/Controllers/", line 139, in load_network
    net, graphFile, finalLayers = phases.serializeNewFmt(parsedLayers, arguments, myriad_conf, input_data)
  File "/usr/local/bin/ncsdk/Controllers/Parsers/", line 502, in serializeNewFmt
    adp.transform(parsedLayers)     # TODO: DFS Transform?
  File "/usr/local/bin/ncsdk/Controllers/", line 215, in transform
  File "/usr/local/bin/ncsdk/Controllers/", line 340, in __init__
  File "/usr/local/bin/ncsdk/Controllers/", line 348, in specific_fields
    self.definition.adapt_fields(self, _or)
  File "/usr/local/bin/ncsdk/Models/StageDefinitions/", line 58, in adapt_fields
    w.reshape((1, o.shape[1], c, height * width))
  File "/usr/local/bin/ncsdk/Controllers/", line 284, in reshape =
ValueError: cannot reshape array of size 8 into shape (1,8,1,2)

In this example, the first layer after the input was a Dense layer with 8 units.

Can you please help me with getting this thing to run? :smile:


  • 1 Comment sorted by Votes Date Added
  • Hi @martin-online

    I replied on your other thread, but I'll post here too just in case (:
    You're right, the NCSDK is only designed to run on convolutional neural networks. So when you input only raw data and no images, the Tensorflow parser checks the dimensions of the input and tries to process the input data. Since it's expecting a 3D input, it throws an error.

    I hope this information was helpful. Please let us know if you have any further questions!

    Best Regards,

This discussion has been closed.