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.
6405 Discussions

mvNCCompile fails on Tensorflow's meshgrid ops.

idata
Employee
668 Views

hello,

 

im deploying my yolov3 implementation (here is the link) onto the ncs1 and is getting this error:

 

anhminh@ubuntu-os:~/Workspace/YOLOw$ mvNCCompile -s 12 frozen_yolow.pb -in input -on detections/output mvNCCompile v02.00, Copyright @ Movidius Ltd 2016 /usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py:766: DeprecationWarning: builtin type EagerTensor has no __module__ attribute EagerTensor = c_api.TFE_Py_InitEagerTensor(_EagerTensorBase) /usr/local/lib/python3.5/dist-packages/tensorflow/python/util/tf_inspect.py:45: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead if d.decorator_argspec is not None), _inspect.getargspec(target)) 2019-02-20 02:35:15.605786: E tensorflow/core/common_runtime/executor.cc:643] Executor failed to create kernel. Invalid argument: NodeDef mentions attr 'index_type' not in Op<name=Fill; signature=dims:int32, value:T -> output:T; attr=T:type>; NodeDef: detections/yolov3/meshgrid_2/ones = Fill[T=DT_FLOAT, index_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detections/yolov3/meshgrid_2/ones/packed, detections/yolov3/meshgrid/ones/Const). (Check whether your GraphDef-interpreting binary is up to date with your GraphDef-generating binary.). [[Node: detections/yolov3/meshgrid_2/ones = Fill[T=DT_FLOAT, index_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detections/yolov3/meshgrid_2/ones/packed, detections/yolov3/meshgrid/ones/Const)]] 2019-02-20 02:35:15.725922: E tensorflow/core/common_runtime/executor.cc:643] Executor failed to create kernel. Invalid argument: NodeDef mentions attr 'index_type' not in Op<name=Fill; signature=dims:int32, value:T -> output:T; attr=T:type>; NodeDef: detections/yolov3/meshgrid/ones = Fill[T=DT_FLOAT, index_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detections/yolov3/meshgrid/ones/packed, detections/yolov3/meshgrid/ones/Const). (Check whether your GraphDef-interpreting binary is up to date with your GraphDef-generating binary.). [[Node: detections/yolov3/meshgrid/ones = Fill[T=DT_FLOAT, index_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detections/yolov3/meshgrid/ones/packed, detections/yolov3/meshgrid/ones/Const)]] Traceback (most recent call last): File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1323, in _do_call return fn(*args) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1302, in _run_fn status, run_metadata) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/errors_impl.py", line 473, in __exit__ c_api.TF_GetCode(self.status.status)) tensorflow.python.framework.errors_impl.InvalidArgumentError: NodeDef mentions attr 'index_type' not in Op<name=Fill; signature=dims:int32, value:T -> output:T; attr=T:type>; NodeDef: detections/yolov3/meshgrid/ones = Fill[T=DT_FLOAT, index_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detections/yolov3/meshgrid/ones/packed, detections/yolov3/meshgrid/ones/Const). (Check whether your GraphDef-interpreting binary is up to date with your GraphDef-generating binary.). [[Node: detections/yolov3/meshgrid/ones = Fill[T=DT_FLOAT, index_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detections/yolov3/meshgrid/ones/packed, detections/yolov3/meshgrid/ones/Const)]] During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/bin/mvNCCompile", line 118, in <module> create_graph(args.network, args.inputnode, args.outputnode, args.outfile, args.nshaves, args.inputsize, args.weights) File "/usr/local/bin/mvNCCompile", line 104, in create_graph net = parse_tensor(args, myriad_config) File "/usr/local/bin/ncsdk/Controllers/TensorFlowParser.py", line 276, in parse_tensor res = outputTensor.eval(feed_dict={inputnode + ':0' : input_data}) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 570, in eval return _eval_using_default_session(self, feed_dict, self.graph, session) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 4455, in _eval_using_default_session return session.run(tensors, feed_dict) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 889, in run run_metadata_ptr) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1120, in _run feed_dict_tensor, options, run_metadata) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1317, in _do_run options, run_metadata) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1336, in _do_call raise type(e)(node_def, op, message) tensorflow.python.framework.errors_impl.InvalidArgumentError: NodeDef mentions attr 'index_type' not in Op<name=Fill; signature=dims:int32, value:T -> output:T; attr=T:type>; NodeDef: detections/yolov3/meshgrid/ones = Fill[T=DT_FLOAT, index_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detections/yolov3/meshgrid/ones/packed, detections/yolov3/meshgrid/ones/Const). (Check whether your GraphDef-interpreting binary is up to date with your GraphDef-generating binary.). [[Node: detections/yolov3/meshgrid/ones = Fill[T=DT_FLOAT, index_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detections/yolov3/meshgrid/ones/packed, detections/yolov3/meshgrid/ones/Const)]] Caused by op 'detections/yolov3/meshgrid/ones', defined at: File "/usr/local/bin/mvNCCompile", line 118, in <module> create_graph(args.network, args.inputnode, args.outputnode, args.outfile, args.nshaves, args.inputsize, args.weights) File "/usr/local/bin/mvNCCompile", line 104, in create_graph net = parse_tensor(args, myriad_config) File "/usr/local/bin/ncsdk/Controllers/TensorFlowParser.py", line 211, in parse_tensor tf.import_graph_def(graph_def, name="") File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/importer.py", line 313, in import_graph_def op_def=op_def) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 2956, in create_op op_def=op_def) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 1470, in __init__ self._traceback = self._graph._extract_stack() # pylint: disable=protected-access InvalidArgumentError (see above for traceback): NodeDef mentions attr 'index_type' not in Op<name=Fill; signature=dims:int32, value:T -> output:T; attr=T:type>; NodeDef: detections/yolov3/meshgrid/ones = Fill[T=DT_FLOAT, index_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detections/yolov3/meshgrid/ones/packed, detections/yolov3/meshgrid/ones/Const). (Check whether your GraphDef-interpreting binary is up to date with your GraphDef-generating binary.). [[Node: detections/yolov3/meshgrid/ones = Fill[T=DT_FLOAT, index_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detections/yolov3/meshgrid/ones/packed, detections/yolov3/meshgrid/ones/Const)]]

 

searching hardly around the forum seems to hint me that ncsdk support for Tensorflow ops is still limited (because I used several meshgrid, split and concat ops etc.) nor it allowing for multiple output nodes in the compiled graph (as yolov3 architecture outputs at 3 different layers), could anyone help me get around this problem?

 

thanks in advance.

0 Kudos
1 Reply
idata
Employee
347 Views

Hi @anhminh3105

 

Yolov3 has not been validated on the NCSDK. However, the OpenVINO toolkit just added support for Yolo V3 in the R5 release. I recommend giving OpenVINO a try, you can find the release notes at the following link. https://software.intel.com/en-us/articles/OpenVINO-RelNotes

 

Hope this helps!

 

Regards,

 

Jesus
0 Kudos
Reply