Would love some pointers here. Had a look through Google but not sure what is happening.
New to ML so have used Google's AutoML Vision to generate an Edge Tensorflow pb file.
Have run the Movidius NCS 1 SDK 2 install on Ubuntu 16.04 and the stick successfully says it is there.
Took the pb file and tried to the use the mvNCCompile but it won't compile the graph.
Am I missing something obvious?
`~/ncsdk$ mvNCCompile ME3.pb -s 12 -o ME3.graph
/usr/lib/python3/dist-packages/scipy/stats/morestats.py:16: DeprecationWarning: Importing from numpy.testing.decorators is deprecated, import from numpy.testing instead.
from numpy.testing.decorators import setastest
/usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
return f(*args, **kwds)
/usr/local/bin/ncsdk/Controllers/Parsers/TensorFlowParser/Convolution.py:47: 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
2019-06-15 03:26:12.295145: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
File "/usr/local/bin/mvNCCompile", line 208, in
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/Scheduler.py", line 67, in load_network
File "/usr/local/bin/ncsdk/Controllers/Parsers/TensorFlow.py", line 561, in loadNetworkObjects
google.protobuf.message.DecodeError: Error parsing message
P.S. On the old Movidius forum, Sahira from Intel asked the following.
What model are you using? Can you please provide a link to the model?
Dear Sahira or Jesus,
The TensorFlow ME3.pb model file exported from Google AutoML Vision is attached to this post inside the ME3.zip.
For reference, AutoML Vision shows the possible Edge export options. I chose TensorFlow.
While you are using Tensorflow, it looks like this particular network is not supported on the NCSDK. Take a look at the list of supported Networks for Tensorflow (and others) here. Please let me know if you have any further questions.
So although the model is in Tensorflow format, the dialect of the model isn't one the NCSDK recognises?
Will the Google AutoML Vision network or the Microsoft Custom Vision network be added to the NCSDK?
You can think of it in that way. For Tensorflow, the NCSDK supports networks like Tiny Yolo V2, VGG 16, inception-VX, etc. So if you want to use a Tensorflow model, it has to be on one of the supported networks.
While the NCSDK will still be supported, there will be no software updates made to it. So there will not be any added support for networks.
Please let me know if you have any further questions!
Thanks for the clarification Sahira,
I'm sure I read that the NCS1 was only compatible with the NCSDK but reading about OpenVINO, it says that it will work with NCS1. Will Google AutoML Vision and Microsoft Custom Vision networks be added to OpenVINO?
Yes! The NCS1 can be used with OpenVINO too.
There are not currently any plans to support Google AutoML Vision and Microsoft Custom Vision networks on OpenVINO.
To finish this project then I had to purchase a Google Coral USB Accelerator that would accept the flavour of Tensorflow Lite model Google AutoML Vision exports. At least when I have the time to I will use one of the OpenVino recognised networks with the NCS1 for another project.
Thanks for your time and clarifications.