It looks like you're new here. If you want to get involved, click one of these buttons!
Sign InIt looks like you're new here. If you want to get involved, click one of these buttons!
Hello,
I wish to compile MTCNN graphs from the ncappzoo (sdk v1) for sdk v2. However, when compiling, I get the following error:
making compile
Compiling to create p2838.graph
/usr/local/bin/ncsdk/Controllers/Parsers/TensorFlowParser/Convolution.py:44: 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
/usr/local/lib/python3.5/dist-packages/tensorflow/python/util/tf_inspect.py:45: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
shape: (1, 28, 38, 3)
Traceback (most recent call last):
File "/usr/local/bin/mvNCCompile", line 169, in <module>
create_graph(args.network, args.image, args.inputnode, args.outputnode, args.outfile, args.nshaves, args.inputsize, args.weights, args.explicit_concat, args.ma2480, args.scheduler, args.new_parser, args)
File "/usr/local/bin/mvNCCompile", line 148, in create_graph
load_ret = load_network(args, parser, myriad_config)
File "/usr/local/bin/ncsdk/Controllers/Scheduler.py", line 100, in load_network
parse_ret = parse_tensor(arguments, myriad_conf)
File "/usr/local/bin/ncsdk/Controllers/TensorFlowParser.py", line 1168, in parse_tensor
xyz = (1, 1, int(input_shape[1]))
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/tensor_shape.py", line 521, in __getitem__
return self._dims[key]
IndexError: list index out of range
***
Error - Could not compile, not able to create p2838.graph
***
Makefile:112: recipe for target 'compile' failed
make: *** [compile] Error 1
I can run and compile other examples fine and I could compile it using sdk v1, so I don't know what the problem is.
Regards,
Matt
Comments
@mdsimmo
https://ncsforum.movidius.com/discussion/1095/informal-supported-unsupported-tensorflow-layer-cause-etc-of-out-of-range-exception
@PINTO
But why can it be compiled in sdk v1? Was support for some layers dropped?
@mdsimmo
Probably it is.
Intel seems to be changing the specifications significantly when upgrading from v1 to v2.
Many engineers confirmed that MTCNN operates on v1, but also confirmed that v2 does not work.
https://ncsforum.movidius.com/discussion/comment/3720/
https://ncsforum.movidius.com/discussion/1093/how-to-assign-multiple-graph-files-to-one-stick
So the code is breaking in a known layer type, so it cannot be unsupported layers. In "/usr/local/bin/ncsdk/Controllers/TensorFlowParser.py" (where the code is breaking) there have been a few changes between sdk v1 and sdk v2. By comparing the runtime between the two files, I've managed to get it to compile
but don't know if it actually works yet (I'll test soon - I first have to make the program use only one NCS). Before I forget, here are the changes I had to make:
All changes are in "/usr/local/bin/ncsdk/Controllers/TensorFlowParser.py" (from sdk 2 install). Note: I have no clue what I'm doing and take no responsibility for screwing up your install.
line ~1146:
was:
should be:
line ~1126:
was:
should be:
Well, it didn't work. Trying to run the graph produces a mighty error when calling output_pgraph.read_elem(). I can make zero sense of what is wrong, so I don't know where to go from here.
So it seems OOM problem?Can you test it on two sticks?