-
Notifications
You must be signed in to change notification settings - Fork 106
ValueError: tensorflow op Switch is not supported #60
Description
Hello,
I tried converting keras model to onnx using the following script
keras_model = load_model(filepath="yolov2-tiny-voc.h5")
model = load_model(filepath="new_model.h5", custom_objects={'prev_model': keras_model})
onnx_model = keras2onnx.convert_keras(model=model, channel_first_inputs= 'input_1')
onnx.save_model(onnx_model, "onnx_tiny_voc.onnx")
yolov2-tiny-voc.h5 ----> https://drive.google.com/file/d/1yQSOAXJ65RMf7OmYZJBL-035JOqZ-ib3/view?usp=sharing
new_model.h5 ----> https://drive.google.com/file/d/1h0ISKluzqV3HUaJyUieQxS3WviNK5oGh/view?usp=sharing
The reason I had to load two models is because I wrote a Lambda Layer to add a Transpose layer (TPose) at the end. So i had to give old model's output as input for the K.permute_dimensions(x, pattern).
Because of this, I get the following error:
File "new_keras_onnx.py", line 11, in
onnx_model = keras2onnx.convert_keras(model=model, channel_first_inputs= 'input_1')
File "C:\Users\Shriram\Master_Project\env\lib\site-packages\keras2onnx\main.py", line 93, in convert_keras
parse_graph(topology, sess.graph, target_opset, output_names)
File "C:\Users\Shriram\Master_Project\env\lib\site-packages\keras2onnx\parser.py", line 440, in parse_graph
return _parse_graph_scope(graph, keras_op_table, topo, top_level, output_names)
File "C:\Users\Shriram\Master_Project\env\lib\site-packages\keras2onnx\parser.py", line 426, in _parse_graph_scope
_infer_graph_shape(topology, top_scope, varset)
File "C:\Users\Shriram\Master_Project\env\lib\site-packages\keras2onnx\parser.py", line 230, in _infer_graph_shape
_finalize_tf2onnx_op(topology, oop, varset)
File "C:\Users\Shriram\Master_Project\env\lib\site-packages\keras2onnx\parser.py", line 200, in _finalize_tf2onnx_op
g = tf2onnx_wrap(topo, subgraph, outputs, varset.target_opset)
File "C:\Users\Shriram\Master_Project\env\lib\site-packages\keras2onnx\wrapper.py", line 31, in tf2onnx_wrap
raise e
File "C:\Users\Shriram\Master_Project\env\lib\site-packages\keras2onnx\wrapper.py", line 25, in tf2onnx_wrap
output_names=outputs)
File "C:\Users\Shriram\Master_Project\env\lib\site-packages\tf2onnx\tfonnx.py", line 2441, in process_tf_graph
mapped_op, unmapped_op = tensorflow_onnx_mapping(g, continue_on_error, custom_op_handlers)
File "C:\Users\Shriram\Master_Project\env\lib\site-packages\tf2onnx\tfonnx.py", line 2290, in tensorflow_onnx_mapping
raise ValueError("tensorflow op " + op + " is not supported")
ValueError: tensorflow op Switch is not supported
Could someone pls help on this?