onnx / onnx-tensorflow

Tensorflow Backend for ONNX
Other
1.27k stars 296 forks source link

Error : ONNX model to Tensorflow model conversion #1078

Closed hanyswana closed 2 months ago

hanyswana commented 2 months ago

Describe the bug

I have a Pytorch Tabnet model and it was successfully converted to ONNX model. However, I'm having a trouble to convert that ONNX model to Tensorflow model. The error raised as below:

TypeError: in user code:

File "/home/apc-3/anaconda3/envs/pythonProject/lib/python3.11/site-packages/onnx_tf/backend_tf_module.py", line 98, in __call__  *
    output_ops = self.backend._onnx_node_to_tensorflow_op(onnx_node,
File "/home/apc-3/anaconda3/envs/pythonProject/lib/python3.11/site-packages/onnx_tf/backend.py", line 328, in _onnx_node_to_tensorflow_op  *
    return handler.handle(node, tensor_dict=tensor_dict, strict=strict)
File "/home/apc-3/anaconda3/envs/pythonProject/lib/python3.11/site-packages/onnx_tf/handlers/handler.py", line 59, in handle  *
    return ver_handle(node, **kwargs)
File "/home/apc-3/anaconda3/envs/pythonProject/lib/python3.11/site-packages/onnx_tf/handlers/backend/gather_elements.py", line 65, in version_11  *
    return cls._common(node, **kwargs)
File "/home/apc-3/anaconda3/envs/pythonProject/lib/python3.11/site-packages/onnx_tf/handlers/backend/gather_elements.py", line 39, in _common  *
    axis_perm = tf.tensor_scatter_nd_update(tf.range(tf.rank(data)),

TypeError: Expected any non-tensor type, but got a tensor instead.

To Reproduce

Below is the code used to convert ONNX model to Tensorflow model:

import onnx import tensorflow as tf from onnx_tf.backend import prepare

onnx_model = onnx.load('/home/apc-3/PycharmProjects/pythonProjectTF/model-converted/model.onnx') tf_rep = prepare(onnx_model) output_path = "/home/apc-3/PycharmProjects/pythonProjectTF/model-converted/model" tf_rep.export_graph(output_path)

onnx.checker.check_model(onnx_model) print("ONNX model loaded and checked successfully.")

ONNX model file

Attached is the ONNX model file in zipped folder. model.zip

Python, ONNX, ONNX-TF, Tensorflow version

This section can be obtained by running get_version.py from util folder.

Additional context

It's urgent. Thank you!

andre20000131 commented 1 month ago

alueError: Arg specs do not match: original=FullArgSpec(args=['input', 'dtype', 'name', 'layout'], varargs=None, varkw=None, defaults=(None, None, None), kwonlyargs=[], kwonlydefaults=None, annotations={}), new=FullArgSpec(args=['input', 'dtype', 'name'], varargs=None, varkw=None, defaults=(None, None), kwonlyargs=[], kwonlydefaults=None, annotations={}), fn=<function ones_like_v2 at 0x7f6731b4a0d0> why????