tensorflow-onnx icon indicating copy to clipboard operation
tensorflow-onnx copied to clipboard

Unsupported op: PartitionedCall

Open geiche735 opened this issue 1 year ago • 0 comments

New Operator

PartitionedCall

Describe the operator

This operator is needed for any ConvNeXt Keras implementation conversion to ONNX

Do you know this operator be constructed using existing ONNX operators?

Not sure.

Is this operator used by any model currently? Which one?

ConvNeXt Keras implementation all sizes (Large, XL, etc)

Are you willing to contribute it? (Y/N)

N

Notes

When converting the model to ONNX, I get the following errors:

Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_0_block_0_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_0_block_1_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_0_block_2_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_1_block_0_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_1_block_1_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_1_block_2_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_0_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_1_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_2_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_3_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_4_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_5_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_6_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_7_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_8_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_9_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_10_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_11_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_12_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_13_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_14_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_15_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_16_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_17_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_18_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_19_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_20_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_21_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_22_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_23_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_24_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_25_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_2_block_26_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_3_block_0_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_3_block_1_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Tensorflow op [sequential/convnext_xlarge/convnext_xlarge_stage_3_block_2_depthwise_conv/PartitionedCall: PartitionedCall] is not supported Unsupported ops: Counter({'PartitionedCall': 36})

This can be easily recreated with the following code:

import tensorflow as tf
import tf2onnx

pretrained_model= tf.keras.applications.ConvNeXtXLarge(include_top=False,
                   input_shape=(112,112,3),
                   pooling='avg',classes=3,
                   weights='imagenet')

onnx_model, _ = tf2onnx.convert.from_keras(pretrained_model)

I receive the same errors when using the command line interface with tf2onnx and using a saved ConvNeXt model.

Also, I have seen similar issues such as in #1864 requesting this op but that they have not been updated. Was a solution or workaround already created for this?

Thanks for any help.

geiche735 avatar Jul 03 '24 17:07 geiche735