from onnx2keras import onnx_to_keras
import keras
import onnx
onnx_model = onnx.load('linear.onnx')
k_model = onnx_to_keras(onnx_model, ['input'])
keras.models.save_model(k_model,'./kerasModel.h5',overwrite=True,include_optimizer=True)
And I have this error.
Traceback (most recent call last):
File "/home/kh/Documents/onnx2keras1.py", line 7, in <module>
k_model = onnx_to_keras(onnx_model, ['input'])
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/onnx2keras/converter.py", line 175, in onnx_to_keras
AVAILABLE_CONVERTERS[node_type](
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/onnx2keras/elementwise_layers.py", line 60, in convert_elementwise_add
input_0 = ensure_tf_type(layers[node.input[0]], layers[list(layers)[0]], name="%s_const1" % keras_name)
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/onnx2keras/utils.py", line 45, in ensure_tf_type
return lambda_layer(fake_input_layer)
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/keras/engine/base_layer.py", line 976, in __call__
return self._functional_construction_call(inputs, args, kwargs,
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/keras/engine/base_layer.py", line 1114, in _functional_construction_call
outputs = self._keras_tensor_symbolic_call(
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/keras/engine/base_layer.py", line 848, in _keras_tensor_symbolic_call
return self._infer_output_signature(inputs, args, kwargs, input_masks)
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/keras/engine/base_layer.py", line 888, in _infer_output_signature
outputs = call_fn(inputs, *args, **kwargs)
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/keras/layers/core.py", line 903, in call
result = self.function(inputs, **kwargs)
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/onnx2keras/utils.py", line 42, in target_layer
return tf.constant(inp, dtype=inp.dtype)
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/tensorflow/python/framework/constant_op.py", line 271, in constant
return _constant_impl(value, dtype, shape, name, verify_shape=False,
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/tensorflow/python/framework/constant_op.py", line 288, in _constant_impl
tensor_util.make_tensor_proto(
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/tensorflow/python/framework/tensor_util.py", line 564, in make_tensor_proto
append_fn(tensor_proto, proto_values)
File "tensorflow/python/framework/fast_tensor_util.pyx", line 127, in tensorflow.python.framework.fast_tensor_util.AppendObjectArrayToTensorProto
File "/home/kh/anaconda3/envs/3.8/lib/python3.8/site-packages/tensorflow/python/util/compat.py", line 86, in as_bytes
raise TypeError('Expected binary or unicode string, got %r' %
TypeError: Expected binary or unicode string, got 1536
This is the onnx model I get from pytorch
Then I tried to use onnx2keras to translate.
And I have this error.