tensorflow-onnx
tensorflow-onnx copied to clipboard
Failed to convert node 'StatefulPartitionedCall/TransNet/ColorHistograms/UnsortedSegmentSum'
Describe the bug
When I try to convert a tensorflow model to onnx, I get the following error:
2023-01-26 20:29:48,972 - WARNING - '--tag' not specified for saved_model. Using --tag serve
2023-01-26 20:29:54,080 - INFO - Signatures found in model: [serving_default].
2023-01-26 20:29:54,080 - WARNING - '--signature_def' not specified, using first signature: serving_default
2023-01-26 20:29:54,081 - INFO - Output names: ['output_1', 'output_2']
2023-01-26 20:29:57,747 - INFO - Using tensorflow=2.6.0, onnx=1.13.0, tf2onnx=1.13.0/2c1db5
2023-01-26 20:29:57,747 - INFO - Using opset <onnx, 17>
2023-01-26 20:29:59,695 - INFO - Computed 37 values for constant folding
2023-01-26 20:30:00,836 - INFO - folding node using tf type=Mul, name=StatefulPartitionedCall/TransNet/ColorHistograms/mul_1
2023-01-26 20:30:00,837 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_1/DDCNN_1/Conv3D_2/conv_temporal/strided_slice_1
2023-01-26 20:30:00,837 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_1/DDCNN_1/Conv3D_2/conv_temporal/strided_slice_2
2023-01-26 20:30:00,838 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_1/DDCNN_1/Conv3D_4/conv_temporal/strided_slice_1
2023-01-26 20:30:00,838 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_1/DDCNN_1/Conv3D_4/conv_temporal/strided_slice_2
2023-01-26 20:30:00,838 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_1/DDCNN_1/Conv3D_8/conv_temporal/strided_slice_1
2023-01-26 20:30:00,839 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_1/DDCNN_1/Conv3D_8/conv_temporal/strided_slice_2
2023-01-26 20:30:00,840 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_1/DDCNN_2/Conv3D_2/conv_temporal/strided_slice_1
2023-01-26 20:30:00,840 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_1/DDCNN_2/Conv3D_2/conv_temporal/strided_slice_2
2023-01-26 20:30:00,841 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_1/DDCNN_2/Conv3D_4/conv_temporal/strided_slice_1
2023-01-26 20:30:00,841 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_1/DDCNN_2/Conv3D_4/conv_temporal/strided_slice_2
2023-01-26 20:30:00,842 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_1/DDCNN_2/Conv3D_8/conv_temporal/strided_slice_1
2023-01-26 20:30:00,842 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_1/DDCNN_2/Conv3D_8/conv_temporal/strided_slice_2
2023-01-26 20:30:00,843 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_2/DDCNN_1/Conv3D_2/conv_temporal/strided_slice_1
2023-01-26 20:30:00,843 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_2/DDCNN_1/Conv3D_2/conv_temporal/strided_slice_2
2023-01-26 20:30:00,844 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_2/DDCNN_1/Conv3D_4/conv_temporal/strided_slice_1
2023-01-26 20:30:00,844 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_2/DDCNN_1/Conv3D_4/conv_temporal/strided_slice_2
2023-01-26 20:30:00,845 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_2/DDCNN_1/Conv3D_8/conv_temporal/strided_slice_1
2023-01-26 20:30:00,845 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_2/DDCNN_1/Conv3D_8/conv_temporal/strided_slice_2
2023-01-26 20:30:00,846 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_2/DDCNN_2/Conv3D_2/conv_temporal/strided_slice_1
2023-01-26 20:30:00,846 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_2/DDCNN_2/Conv3D_2/conv_temporal/strided_slice_2
2023-01-26 20:30:00,847 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_2/DDCNN_2/Conv3D_4/conv_temporal/strided_slice_1
2023-01-26 20:30:00,847 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_2/DDCNN_2/Conv3D_4/conv_temporal/strided_slice_2
2023-01-26 20:30:00,848 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_2/DDCNN_2/Conv3D_8/conv_temporal/strided_slice_1
2023-01-26 20:30:00,848 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_2/DDCNN_2/Conv3D_8/conv_temporal/strided_slice_2
2023-01-26 20:30:00,849 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_3/DDCNN_1/Conv3D_2/conv_temporal/strided_slice_1
2023-01-26 20:30:00,849 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_3/DDCNN_1/Conv3D_2/conv_temporal/strided_slice_2
2023-01-26 20:30:00,849 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_3/DDCNN_1/Conv3D_4/conv_temporal/strided_slice_1
2023-01-26 20:30:00,850 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_3/DDCNN_1/Conv3D_4/conv_temporal/strided_slice_2
2023-01-26 20:30:00,850 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_3/DDCNN_1/Conv3D_8/conv_temporal/strided_slice_1
2023-01-26 20:30:00,850 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_3/DDCNN_1/Conv3D_8/conv_temporal/strided_slice_2
2023-01-26 20:30:00,851 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_3/DDCNN_2/Conv3D_2/conv_temporal/strided_slice_1
2023-01-26 20:30:00,851 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_3/DDCNN_2/Conv3D_2/conv_temporal/strided_slice_2
2023-01-26 20:30:00,852 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_3/DDCNN_2/Conv3D_4/conv_temporal/strided_slice_1
2023-01-26 20:30:00,852 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_3/DDCNN_2/Conv3D_4/conv_temporal/strided_slice_2
2023-01-26 20:30:00,853 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_3/DDCNN_2/Conv3D_8/conv_temporal/strided_slice_1
2023-01-26 20:30:00,853 - INFO - folding node using tf type=StridedSlice, name=StatefulPartitionedCall/TransNet/SDDCNN_3/DDCNN_2/Conv3D_8/conv_temporal/strided_slice_2
2023-01-26 20:30:01,698 - ERROR - Failed to convert node 'StatefulPartitionedCall/TransNet/ColorHistograms/UnsortedSegmentSum' (fct=<bound method SegmentSum.version_13
of <class 'tf2onnx.onnx_opset.reduction.SegmentSum'>>)
'OP=SegmentSum\nName=StatefulPartitionedCall/TransNet/ColorHistograms/UnsortedSegmentSum\nInputs:\n\tStatefulPartitionedCall/TransNet/ColorHistograms/ones_like:0=Expand, [-1, -1], 6\n\tStatefulPartitionedCall/TransNet/ColorHistograms/add_2:0=Add, [-1,
-1], 6\n\tStatefulPartitionedCall/TransNet/ColorHistograms/mul_4:0=Mul, [], 6\nOutpus:\n\tStatefulPartitionedCall/TransNet/ColorHistograms/UnsortedSegmentSum:0=[-1], 6'Traceback (most recent call last):
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\tfonnx.py", line 292, in tensorflow_onnx_mapping
func(g, node, **kwargs, initialized_tables=initialized_tables, dequantize=dequantize)
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\onnx_opset\reduction.py", line 337, in version_13
cls.any_version(13, ctx, node, **kwargs)
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\onnx_opset\reduction.py", line 212, in any_version
utils.make_sure(seg_rank == 1, "Segment ops only supported for segments of rank
1, not %s", seg_rank)
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\utils.py", line 264, in make_sure
raise ValueError("make_sure failure: " + error_msg % args)
ValueError: make_sure failure: Segment ops only supported for segments of rank 1, not 2
Traceback (most recent call last):
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\convert.py", line 706, in <module>
main()
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\convert.py", line 269, in main
model_proto, _ = _convert_common(
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\convert.py", line 164, in _convert_common
g = process_tf_graph(tf_graph, const_node_values=const_node_values,
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\tfonnx.py", line 464, in process_tf_graph
g = process_graphs(main_g, subgraphs, custom_op_handlers, inputs_as_nchw, outputs_as_nchw, continue_on_error,
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\tfonnx.py", line 516, in process_graphs
g = process_parsed_graph(main_g, custom_op_handlers, inputs_as_nchw, outputs_as_nchw, continue_on_error,
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\tfonnx.py", line 627, in process_parsed_graph
raise exceptions[0]
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\tfonnx.py", line 292, in tensorflow_onnx_mapping
func(g, node, **kwargs, initialized_tables=initialized_tables, dequantize=dequantize)
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\onnx_opset\reduction.py", line 337, in version_13
cls.any_version(13, ctx, node, **kwargs)
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\onnx_opset\reduction.py", line 212, in any_version
utils.make_sure(seg_rank == 1, "Segment ops only supported for segments of rank
1, not %s", seg_rank)
File "C:\Users\islam\Anaconda3\envs\tf2-env-gpu\lib\site-packages\tf2onnx\utils.py", line 264, in make_sure
raise ValueError("make_sure failure: " + error_msg % args)
ValueError: make_sure failure: Segment ops only supported for segments of rank 1, not 2
Urgency Urgently needed for deployment of a model in onnxruntime.
System information
- OS Platform and Distribution (e.g., Linux Ubuntu 18.04*): Windows 10
- TensorFlow Version: 2.6.0
- Python version: 3.9.6
- ONNX version (if applicable, e.g. 1.11*): 1.13.0
- ONNXRuntime version (if applicable, e.g. 1.11*):
To Reproduce
Run the following command to convert the model:
python -m tf2onnx.convert --saved-model transnet_inference\transnetv2-weights --output onnx_model\TransNetV2.onnx --opset 17
Screenshots
Additional context
The model is used from this repository and you can also download my exact model from here.
Have you solved this problem? How did you solve it? I have encountered the same problem as you.
Unfortunately no