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 aberto em 27 de abr. de 2020

Ver no GitHub
 (6 comments) (0 reactions) (0 assignees)Python (302 forks)batch import
good first issue

Métricas do repositório

Stars
 (1.190 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

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

Guia do colaborador