onnx/onnx-tensorflow

Tensors in list passed to 'values' of 'ConcatV2' Op have types [float64, int64, int64, int64, int64] that don't all match.

Open

#610 aperta il 27 apr 2020

Vedi su GitHub
 (6 commenti) (0 reazioni) (0 assegnatari)Python (302 fork)batch import
good first issue

Metriche repository

Star
 (1190 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

I am trying to convert a custom pytorch model to tensorflow, I am abe to convert pytorch to onnx but converting onnx to tensorflow gives issue.

The code snippets are as follows-

pytorch to onnx

net = custom pytorch model net.load_state_dict("pre-trained model") dummyInput = np.random.uniform(0,1,(1,8,3,256,256)) dummyInput = Variable(torch.FloatTensor(dummyInput)) torch.onnx.export(net, dummyInput, './modelONNX.onnx', input_names = ['test_input'], output_names = ['test_output'])

onnx to tensorflow

import onnx from onnx_tf.backend import prepare model = onnx.load('./modelONNX_Variable.onnx') tf_prep = prepare(model) tf_prep.export_graph('./modelTF.pb')

Error

Traceback (most recent call last): File "conversionToTF.py", line 9, in tf_prep = prepare(model) File "/onnx-tensorflow/onnx_tf/backend.py", line 65, in prepare return cls.onnx_model_to_tensorflow_rep(model, strict) File "/onnx-tensorflow/onnx_tf/backend.py", line 85, in onnx_model_to_tensorflow_rep return cls._onnx_graph_to_tensorflow_rep(model.graph, opset_import, strict) File "/onnx-tensorflow/onnx_tf/backend.py", line 143, in _onnx_graph_to_tensorflow_rep onnx_node, tensor_dict, handlers, opset=opset, strict=strict) File "/onnx-tensorflow/onnx_tf/backend.py", line 245, in _onnx_node_to_tensorflow_op return handler.handle(node, tensor_dict=tensor_dict, strict=strict) File "/onnx-tensorflow/onnx_tf/handlers/handler.py", line 61, in handle return ver_handle(node, **kwargs) File "/onnx-tensorflow/onnx_tf/handlers/backend/concat.py", line 23, in version_4 return cls._common(node, **kwargs) File "/onnx-tensorflow/onnx_tf/handlers/backend/concat.py", line 15, in _common return [cls.make_tensor_from_onnx_node(node, inputs=[inputs])] File "/onnx-tensorflow/onnx_tf/handlers/backend_handler.py", line 111, in make_tensor_from_onnx_node return cls._run_tf_func(tf_func, inputs, attrs) File "/gpfs-volume/onnx-tensorflow/onnx_tf/handlers/backend_handler.py", line 182, in _run_tf_func **dict([(p, attrs[p]) for p in params if p in attrs])) File "/home/user/.local/lib/python3.6/site-packages/tensorflow_core/python/util/dispatch.py", line 180, in wrapper return target(*args, **kwargs) File "/home/user/.local/lib/python3.6/site-packages/tensorflow_core/python/ops/array_ops.py", line 1431, in concat return gen_array_ops.concat_v2(values=values, axis=axis, name=name) File "/home/user/.local/lib/python3.6/site-packages/tensorflow_core/python/ops/gen_array_ops.py", line 1257, in concat_v2 "ConcatV2", values=values, axis=axis, name=name) File "/home/user/.local/lib/python3.6/site-packages/tensorflow_core/python/framework/op_def_library.py", line 499, in _apply_op_helper raise TypeError("%s that don't all match." % prefix) TypeError: Tensors in list passed to 'values' of 'ConcatV2' Op have types [float64, int64, int64, int64, int64] that don't all match.

Version - Tensorflow = 2.0.0 onnx = 1.6.0 tensorflow-addons = 0.6.0

Guida contributor