TensorFlow Lite Model Analyzer

View on TensorFlow.org Run in Google Colab View source on GitHub Download notebook

TensorFlow Lite Model Analyzer API helps you analyze models in TensorFlow Lite format by listing a model's structure.

Model Analyzer API

The following API is available for the TensorFlow Lite Model Analyzer.

tf.lite.experimental.Analyzer.analyze(model_path=None,
                                      model_content=None,
                                      gpu_compatibility=False)

You can find the API details from https://www.tensorflow.org/api_docs/python/tf/lite/experimental/Analyzer or run help(tf.lite.experimental.Analyzer.analyze) from a Python terminal.

Basic usage with simple Keras model

The following code shows basic usage of Model Analyzer. It shows contents of the converted Keras model in TFLite model content, formatted as a flatbuffer object.

import tensorflow as tf

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(128, 128)),
  tf.keras.layers.Dense(256, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10)
])

fb_model = tf.lite.TFLiteConverter.from_keras_model(model).convert()

tf.lite.experimental.Analyzer.analyze(model_content=fb_model)
2024-07-19 11:27:29.208422: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:485] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
2024-07-19 11:27:29.229966: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:8454] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
2024-07-19 11:27:29.236377: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1452] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
/tmpfs/src/tf_docs_env/lib/python3.9/site-packages/keras/src/layers/reshaping/flatten.py:37: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.
  super().__init__(**kwargs)
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
I0000 00:00:1721388451.839247   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388451.842671   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388451.846232   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388451.849870   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388451.861636   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388451.864671   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388451.868106   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388451.871497   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388451.875019   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388451.878047   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388451.881448   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388451.884898   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.110709   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.112668   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.115137   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.117199   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.119200   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.121017   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.122905   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.124906   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.126819   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.128633   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.130518   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.132591   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.169725   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.171619   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.173640   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.175665   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.177603   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.179458   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.181363   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.183332   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.185262   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.187577   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.189950   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388453.192326   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
INFO:tensorflow:Assets written to: /tmpfs/tmp/tmpyjg71hva/assets
INFO:tensorflow:Assets written to: /tmpfs/tmp/tmpyjg71hva/assets
Saved artifact at '/tmpfs/tmp/tmpyjg71hva'. The following endpoints are available:

* Endpoint 'serve'
  args_0 (POSITIONAL_ONLY): TensorSpec(shape=(None, 128, 128), dtype=tf.float32, name='keras_tensor')
Output Type:
  TensorSpec(shape=(None, 10), dtype=tf.float32, name=None)
Captures:
  140404369422112: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404369422288: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404360324896: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404360324720: TensorSpec(shape=(), dtype=tf.resource, name=None)
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
W0000 00:00:1721388453.946496   13762 tf_tfl_flatbuffer_helpers.cc:392] Ignored output_format.
W0000 00:00:1721388453.946540   13762 tf_tfl_flatbuffer_helpers.cc:395] Ignored drop_control_dependency.
=== TFLite ModelAnalyzer ===

Your TFLite model has '1' subgraph(s). In the subgraph description below,
T# represents the Tensor numbers. For example, in Subgraph#0, the RESHAPE op takes
tensor #0 and tensor #3 as input and produces tensor #4 as output.

Subgraph#0 main(T#0) -> [T#6]
  Op#0 RESHAPE(T#0, T#3[-1, 16384]) -> [T#4]
  Op#1 FULLY_CONNECTED(T#4, T#2, T#-1) -> [T#5]
  Op#2 FULLY_CONNECTED(T#5, T#1, T#-1) -> [T#6]

Tensors of Subgraph#0
  T#0(serving_default_keras_tensor:0) shape_signature:[-1, 128, 128], type:FLOAT32
  T#1(arith.constant) shape:[10, 256], type:FLOAT32 RO 10240 bytes, buffer: 2, data:[0.0467508, -0.0178563, -0.0864473, 0.0911474, 0.0558964, ...]
  T#2(arith.constant1) shape:[256, 16384], type:FLOAT32 RO 16777216 bytes, buffer: 3, data:[0.0183942, -0.0170649, -0.0162605, 0.0170177, -0.002608, ...]
  T#3(arith.constant2) shape:[2], type:INT32 RO 8 bytes, buffer: 4, data:[-1, 16384]
  T#4(sequential_1/flatten_1/Reshape) shape_signature:[-1, 16384], type:FLOAT32
  T#5(sequential_1/dense_1/MatMul;sequential_1/dense_1/Relu;sequential_1/dense_1/Add) shape_signature:[-1, 256], type:FLOAT32
  T#6(StatefulPartitionedCall_1:0) shape_signature:[-1, 10], type:FLOAT32

---------------------------------------------------------------
Your TFLite model has '1' signature_def(s).

Signature#0 key: 'serving_default'

- Subgraph: Subgraph#0
- Inputs: 
    'keras_tensor' : T#0
- Outputs: 
    'output_0' : T#6

---------------------------------------------------------------
              Model size:   16789032 bytes
    Non-data buffer size:       1456 bytes (00.01 %)
  Total data buffer size:   16787576 bytes (99.99 %)
    (Zero value buffers):          0 bytes (00.00 %)

* Buffers of TFLite model are mostly used for constant tensors.
  And zero value buffers are buffers filled with zeros.
  Non-data buffers area are used to store operators, subgraphs and etc.
  You can find more details from https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/schema/schema.fbs

Basic usage with MobileNetV3Large Keras model

This API works with large models such as MobileNetV3Large. Since the output is large, you might want to browse it with your favorite text editor.

model = tf.keras.applications.MobileNetV3Large()
fb_model = tf.lite.TFLiteConverter.from_keras_model(model).convert()

tf.lite.experimental.Analyzer.analyze(model_content=fb_model)
/tmpfs/src/tf_docs_env/lib/python3.9/site-packages/keras/src/applications/mobilenet_v3.py:517: UserWarning: `input_shape` is undefined or non-square, or `rows` is not 224. Weights for input shape (224, 224) will be loaded as the default.
  return MobileNetV3(
Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/mobilenet_v3/weights_mobilenet_v3_large_224_1.0_float.h5
22661472/22661472 ━━━━━━━━━━━━━━━━━━━━ 0s 0us/step
INFO:tensorflow:Assets written to: /tmpfs/tmp/tmpfncac30q/assets
INFO:tensorflow:Assets written to: /tmpfs/tmp/tmpfncac30q/assets
Saved artifact at '/tmpfs/tmp/tmpfncac30q'. The following endpoints are available:

* Endpoint 'serve'
  args_0 (POSITIONAL_ONLY): TensorSpec(shape=(None, None, None, 3), dtype=tf.float32, name='keras_tensor_5')
Output Type:
  TensorSpec(shape=(None, 1000), dtype=tf.float32, name=None)
Captures:
  140404092101728: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140406936371440: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092739824: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092661600: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092661424: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404091826944: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092569904: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092568320: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092824032: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092821744: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092175984: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092221216: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092222976: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092176864: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092174928: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092199680: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092243808: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092241696: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092201968: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404092243280: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140404091841872: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403155097904: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403155098960: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403155096672: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403155097728: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403155115168: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403155126224: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403155127280: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403155124992: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403155126048: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154618320: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154637392: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154638448: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154619728: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154637216: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154650560: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154669808: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154670864: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154652144: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154669632: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154703456: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154719488: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154719664: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154705040: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154706096: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154736048: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154760272: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154760448: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154737632: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154738688: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154789824: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154805328: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154806384: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154791760: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154805152: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154827568: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154827392: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154851968: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154852144: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154361680: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154385200: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154386256: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154383968: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154385024: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154405680: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154428848: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154429904: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154407088: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154428672: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154454304: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154477648: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154478704: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154455888: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154477472: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154495792: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154495968: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154512176: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154512352: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154550272: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154574320: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154587712: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154573088: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154574144: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154591584: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154611008: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154112752: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154609776: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154610832: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154116272: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154135520: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154136576: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154134288: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154135344: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154178288: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154178112: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154181984: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154206784: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154232592: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154256640: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154257696: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154234880: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154256464: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154282272: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154309712: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154310768: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154283856: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154309536: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154327856: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154339440: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154340496: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154338208: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154339264: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153844704: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153864128: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153865184: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153862896: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153863952: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153884608: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153907776: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153908832: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153886016: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153887072: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153937328: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153961728: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153961904: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153939088: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153940144: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153974016: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153994320: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153994496: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153975776: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153976832: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154023168: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154035104: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154035280: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154024752: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154025808: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154063776: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154079984: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154080160: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154065536: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403154066592: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153592560: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153608768: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153608944: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153594320: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153595376: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153633520: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153636336: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153641536: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153635104: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153636160: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153645408: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153689408: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153699056: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153688176: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153689232: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153702576: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153722000: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153743936: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153720768: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153721824: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153747632: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153766880: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153767936: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153765648: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153766704: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153796432: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153815856: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153816912: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153814624: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153815680: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153309536: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153330240: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153359088: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153358912: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153388992: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153408944: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153410000: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153391280: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153408768: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153421232: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153449376: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153449552: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153422640: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153423696: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153473952: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153490160: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153490336: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153475712: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153476768: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153519712: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153519536: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153540368: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153540192: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153045984: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153070032: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153071088: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153068800: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153069856: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153091568: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153114912: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153115968: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153113680: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153114736: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153141248: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153161024: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153182960: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153159792: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153160848: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153207888: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153207712: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153232640: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153232464: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153262544: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153290688: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153291744: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153289456: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153290512: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152782784: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152793664: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152794720: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152784192: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152785248: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152823216: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152843520: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152843696: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152824976: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152826032: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152864880: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152864704: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152889632: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152889456: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152919536: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152947680: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152948736: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152946448: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152947504: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152965120: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152992560: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152993616: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152991328: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152992384: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153018016: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153033344: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153034400: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153032112: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403153033168: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152535392: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152557856: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152559968: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152584768: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152614672: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152634624: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152635680: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152616960: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152634448: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152647968: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152671312: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152672368: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152649552: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152671136: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152697648: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152697824: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152733280: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140403152733104: TensorSpec(shape=(), dtype=tf.resource, name=None)
W0000 00:00:1721388464.327364   13762 tf_tfl_flatbuffer_helpers.cc:392] Ignored output_format.
W0000 00:00:1721388464.327393   13762 tf_tfl_flatbuffer_helpers.cc:395] Ignored drop_control_dependency.
=== TFLite ModelAnalyzer ===

Your TFLite model has '1' subgraph(s). In the subgraph description below,
T# represents the Tensor numbers. For example, in Subgraph#0, the MUL op takes
tensor #0 and tensor #134 as input and produces tensor #136 as output.

Subgraph#0 main(T#0) -> [T#263]
  Op#0 MUL(T#0, T#134) -> [T#136]
  Op#1 ADD(T#136, T#135) -> [T#137]
  Op#2 CONV_2D(T#137, T#128, T#79) -> [T#138]
  Op#3 HARD_SWISH(T#138) -> [T#139]
  Op#4 DEPTHWISE_CONV_2D(T#139, T#78, T#36) -> [T#140]
  Op#5 CONV_2D(T#140, T#127, T#77) -> [T#141]
  Op#6 ADD(T#139, T#141) -> [T#142]
  Op#7 CONV_2D(T#142, T#126, T#35) -> [T#143]
  Op#8 PAD(T#143, T#132[0, 0, 0, 1, 0, ...]) -> [T#144]
  Op#9 DEPTHWISE_CONV_2D(T#144, T#76, T#34) -> [T#145]
  Op#10 CONV_2D(T#145, T#125, T#75) -> [T#146]
  Op#11 CONV_2D(T#146, T#124, T#33) -> [T#147]
  Op#12 DEPTHWISE_CONV_2D(T#147, T#74, T#32) -> [T#148]
  Op#13 CONV_2D(T#148, T#123, T#73) -> [T#149]
  Op#14 ADD(T#146, T#149) -> [T#150]
  Op#15 CONV_2D(T#150, T#122, T#31) -> [T#151]
  Op#16 PAD(T#151, T#131[0, 0, 1, 2, 1, ...]) -> [T#152]
  Op#17 DEPTHWISE_CONV_2D(T#152, T#72, T#30) -> [T#153]
  Op#18 MEAN(T#153, T#130[1, 2]) -> [T#154]
  Op#19 CONV_2D(T#154, T#121, T#29) -> [T#155]
  Op#20 CONV_2D(T#155, T#120, T#28) -> [T#156]
  Op#21 MUL(T#156, T#129) -> [T#157]
  Op#22 MUL(T#153, T#157) -> [T#158]
  Op#23 CONV_2D(T#158, T#119, T#71) -> [T#159]
  Op#24 CONV_2D(T#159, T#118, T#27) -> [T#160]
  Op#25 DEPTHWISE_CONV_2D(T#160, T#70, T#26) -> [T#161]
  Op#26 MEAN(T#161, T#130[1, 2]) -> [T#162]
  Op#27 CONV_2D(T#162, T#117, T#25) -> [T#163]
  Op#28 CONV_2D(T#163, T#116, T#24) -> [T#164]
  Op#29 MUL(T#164, T#129) -> [T#165]
  Op#30 MUL(T#161, T#165) -> [T#166]
  Op#31 CONV_2D(T#166, T#115, T#69) -> [T#167]
  Op#32 ADD(T#159, T#167) -> [T#168]
  Op#33 CONV_2D(T#168, T#114, T#23) -> [T#169]
  Op#34 DEPTHWISE_CONV_2D(T#169, T#68, T#22) -> [T#170]
  Op#35 MEAN(T#170, T#130[1, 2]) -> [T#171]
  Op#36 CONV_2D(T#171, T#113, T#21) -> [T#172]
  Op#37 CONV_2D(T#172, T#112, T#20) -> [T#173]
  Op#38 MUL(T#173, T#129) -> [T#174]
  Op#39 MUL(T#170, T#174) -> [T#175]
  Op#40 CONV_2D(T#175, T#111, T#67) -> [T#176]
  Op#41 ADD(T#168, T#176) -> [T#177]
  Op#42 CONV_2D(T#177, T#110, T#66) -> [T#178]
  Op#43 HARD_SWISH(T#178) -> [T#179]
  Op#44 PAD(T#179, T#132[0, 0, 0, 1, 0, ...]) -> [T#180]
  Op#45 DEPTHWISE_CONV_2D(T#180, T#65, T#19) -> [T#181]
  Op#46 HARD_SWISH(T#181) -> [T#182]
  Op#47 CONV_2D(T#182, T#109, T#64) -> [T#183]
  Op#48 CONV_2D(T#183, T#108, T#63) -> [T#184]
  Op#49 HARD_SWISH(T#184) -> [T#185]
  Op#50 DEPTHWISE_CONV_2D(T#185, T#62, T#18) -> [T#186]
  Op#51 HARD_SWISH(T#186) -> [T#187]
  Op#52 CONV_2D(T#187, T#107, T#61) -> [T#188]
  Op#53 ADD(T#183, T#188) -> [T#189]
  Op#54 CONV_2D(T#189, T#106, T#60) -> [T#190]
  Op#55 HARD_SWISH(T#190) -> [T#191]
  Op#56 DEPTHWISE_CONV_2D(T#191, T#59, T#17) -> [T#192]
  Op#57 HARD_SWISH(T#192) -> [T#193]
  Op#58 CONV_2D(T#193, T#105, T#58) -> [T#194]
  Op#59 ADD(T#189, T#194) -> [T#195]
  Op#60 CONV_2D(T#195, T#104, T#57) -> [T#196]
  Op#61 HARD_SWISH(T#196) -> [T#197]
  Op#62 DEPTHWISE_CONV_2D(T#197, T#56, T#16) -> [T#198]
  Op#63 HARD_SWISH(T#198) -> [T#199]
  Op#64 CONV_2D(T#199, T#103, T#55) -> [T#200]
  Op#65 ADD(T#195, T#200) -> [T#201]
  Op#66 CONV_2D(T#201, T#102, T#54) -> [T#202]
  Op#67 HARD_SWISH(T#202) -> [T#203]
  Op#68 DEPTHWISE_CONV_2D(T#203, T#53, T#15) -> [T#204]
  Op#69 HARD_SWISH(T#204) -> [T#205]
  Op#70 MEAN(T#205, T#130[1, 2]) -> [T#206]
  Op#71 CONV_2D(T#206, T#101, T#14) -> [T#207]
  Op#72 CONV_2D(T#207, T#100, T#13) -> [T#208]
  Op#73 MUL(T#208, T#129) -> [T#209]
  Op#74 MUL(T#205, T#209) -> [T#210]
  Op#75 CONV_2D(T#210, T#99, T#52) -> [T#211]
  Op#76 CONV_2D(T#211, T#98, T#51) -> [T#212]
  Op#77 HARD_SWISH(T#212) -> [T#213]
  Op#78 DEPTHWISE_CONV_2D(T#213, T#50, T#12) -> [T#214]
  Op#79 HARD_SWISH(T#214) -> [T#215]
  Op#80 MEAN(T#215, T#130[1, 2]) -> [T#216]
  Op#81 CONV_2D(T#216, T#97, T#11) -> [T#217]
  Op#82 CONV_2D(T#217, T#96, T#10) -> [T#218]
  Op#83 MUL(T#218, T#129) -> [T#219]
  Op#84 MUL(T#215, T#219) -> [T#220]
  Op#85 CONV_2D(T#220, T#95, T#49) -> [T#221]
  Op#86 ADD(T#211, T#221) -> [T#222]
  Op#87 CONV_2D(T#222, T#94, T#48) -> [T#223]
  Op#88 HARD_SWISH(T#223) -> [T#224]
  Op#89 PAD(T#224, T#131[0, 0, 1, 2, 1, ...]) -> [T#225]
  Op#90 DEPTHWISE_CONV_2D(T#225, T#47, T#9) -> [T#226]
  Op#91 HARD_SWISH(T#226) -> [T#227]
  Op#92 MEAN(T#227, T#130[1, 2]) -> [T#228]
  Op#93 CONV_2D(T#228, T#93, T#8) -> [T#229]
  Op#94 CONV_2D(T#229, T#92, T#7) -> [T#230]
  Op#95 MUL(T#230, T#129) -> [T#231]
  Op#96 MUL(T#227, T#231) -> [T#232]
  Op#97 CONV_2D(T#232, T#91, T#46) -> [T#233]
  Op#98 CONV_2D(T#233, T#90, T#45) -> [T#234]
  Op#99 HARD_SWISH(T#234) -> [T#235]
  Op#100 DEPTHWISE_CONV_2D(T#235, T#44, T#6) -> [T#236]
  Op#101 HARD_SWISH(T#236) -> [T#237]
  Op#102 MEAN(T#237, T#130[1, 2]) -> [T#238]
  Op#103 CONV_2D(T#238, T#89, T#5) -> [T#239]
  Op#104 CONV_2D(T#239, T#88, T#4) -> [T#240]
  Op#105 MUL(T#240, T#129) -> [T#241]
  Op#106 MUL(T#237, T#241) -> [T#242]
  Op#107 CONV_2D(T#242, T#87, T#43) -> [T#243]
  Op#108 ADD(T#233, T#243) -> [T#244]
  Op#109 CONV_2D(T#244, T#86, T#42) -> [T#245]
  Op#110 HARD_SWISH(T#245) -> [T#246]
  Op#111 DEPTHWISE_CONV_2D(T#246, T#41, T#3) -> [T#247]
  Op#112 HARD_SWISH(T#247) -> [T#248]
  Op#113 MEAN(T#248, T#130[1, 2]) -> [T#249]
  Op#114 CONV_2D(T#249, T#85, T#2) -> [T#250]
  Op#115 CONV_2D(T#250, T#84, T#1) -> [T#251]
  Op#116 MUL(T#251, T#129) -> [T#252]
  Op#117 MUL(T#248, T#252) -> [T#253]
  Op#118 CONV_2D(T#253, T#83, T#40) -> [T#254]
  Op#119 ADD(T#244, T#254) -> [T#255]
  Op#120 CONV_2D(T#255, T#82, T#39) -> [T#256]
  Op#121 HARD_SWISH(T#256) -> [T#257]
  Op#122 MEAN(T#257, T#130[1, 2]) -> [T#258]
  Op#123 CONV_2D(T#258, T#81, T#38) -> [T#259]
  Op#124 HARD_SWISH(T#259) -> [T#260]
  Op#125 CONV_2D(T#260, T#80, T#37) -> [T#261]
  Op#126 RESHAPE(T#261, T#133[-1, 1000]) -> [T#262]
  Op#127 SOFTMAX(T#262) -> [T#263]

Tensors of Subgraph#0
  T#0(serving_default_keras_tensor_5:0) shape_signature:[-1, -1, -1, 3], type:FLOAT32
  T#1(arith.constant) shape:[960], type:FLOAT32 RO 3840 bytes, buffer: 2, data:[0.283771, 0.24407, 0.243922, 1.221, 0.460753, ...]
  T#2(arith.constant1) shape:[240], type:FLOAT32 RO 960 bytes, buffer: 3, data:[-0.275301, -0.0277678, -0.411228, -0.3586, -0.220745, ...]
  T#3(arith.constant2) shape:[960], type:FLOAT32 RO 3840 bytes, buffer: 4, data:[-1.81109, 1.68503, 1.58476, 1.70023, 0.342517, ...]
  T#4(arith.constant3) shape:[960], type:FLOAT32 RO 3840 bytes, buffer: 5, data:[0.195665, 0.217341, 0.114345, -0.0316076, 0.281505, ...]
  T#5(arith.constant4) shape:[240], type:FLOAT32 RO 960 bytes, buffer: 6, data:[-0.295283, -0.171183, -0.491539, -0.201764, -0.0582549, ...]
  T#6(arith.constant5) shape:[960], type:FLOAT32 RO 3840 bytes, buffer: 7, data:[-1.22443, -0.854031, 1.91604, -3.2009, 0.110498, ...]
  T#7(arith.constant6) shape:[672], type:FLOAT32 RO 2688 bytes, buffer: 8, data:[2.06113, 0.736983, 4.40858, 2.36386, 0.687798, ...]
  T#8(arith.constant7) shape:[168], type:FLOAT32 RO 672 bytes, buffer: 9, data:[-0.499907, 0.0375283, -0.0576132, -0.243811, -0.391691, ...]
  T#9(arith.constant8) shape:[672], type:FLOAT32 RO 2688 bytes, buffer: 10, data:[1.35255, 0.0874219, 0.716237, 0.865584, 1.82332, ...]
  T#10(arith.constant9) shape:[672], type:FLOAT32 RO 2688 bytes, buffer: 11, data:[0.291311, 1.62599, 0.179997, 0.249016, 2.76901, ...]
  T#11(arith.constant10) shape:[168], type:FLOAT32 RO 672 bytes, buffer: 12, data:[-0.0489284, 0.178251, -0.0412987, -0.205209, 0.0695921, ...]
  T#12(arith.constant11) shape:[672], type:FLOAT32 RO 2688 bytes, buffer: 13, data:[-2.30358, -1.0415, -1.02916, -2.42349, -0.143203, ...]
  T#13(arith.constant12) shape:[480], type:FLOAT32 RO 1920 bytes, buffer: 14, data:[0.765333, 0.628963, 5.4054, 4.91936, 2.86523, ...]
  T#14(arith.constant13) shape:[120], type:FLOAT32 RO 480 bytes, buffer: 15, data:[0.162616, 0.0211225, -0.00731861, 0.275613, 0.465336, ...]
  T#15(arith.constant14) shape:[480], type:FLOAT32 RO 1920 bytes, buffer: 16, data:[-1.14594, -1.2222, 0.493229, -0.806949, -0.123236, ...]
  T#16(arith.constant15) shape:[184], type:FLOAT32 RO 736 bytes, buffer: 17, data:[-1.82527, -1.90425, -0.864828, -1.20905, 1.78948, ...]
  T#17(arith.constant16) shape:[184], type:FLOAT32 RO 736 bytes, buffer: 18, data:[-2.47649, -2.20832, -1.40136, -0.623928, -1.61101, ...]
  T#18(arith.constant17) shape:[200], type:FLOAT32 RO 800 bytes, buffer: 19, data:[-1.90742, -1.52078, 4.21308, -1.51046, -1.52174, ...]
  T#19(arith.constant18) shape:[240], type:FLOAT32 RO 960 bytes, buffer: 20, data:[2.15248, 1.62511, 4.58976, 2.86807, 1.67084, ...]
  T#20(arith.constant19) shape:[120], type:FLOAT32 RO 480 bytes, buffer: 21, data:[1.03397, -0.18951, 3.24036, 1.176, 2.22316, ...]
  T#21(arith.constant20) shape:[32], type:FLOAT32 RO 128 bytes, buffer: 22, data:[0.920288, -0.00382053, -0.0567493, 1.97454, 3.35371, ...]
  T#22(arith.constant21) shape:[120], type:FLOAT32 RO 480 bytes, buffer: 23, data:[-2.55795, -2.85519, -0.168461, 3.99681, -2.29523, ...]
  T#23(arith.constant22) shape:[120], type:FLOAT32 RO 480 bytes, buffer: 24, data:[1.19221, -1.76372, 2.7938, 3.13965, -0.732204, ...]
  T#24(arith.constant23) shape:[120], type:FLOAT32 RO 480 bytes, buffer: 25, data:[3.12207, 4.98045, 2.80049, 2.3461, 3.47311, ...]
  T#25(arith.constant24) shape:[32], type:FLOAT32 RO 128 bytes, buffer: 26, data:[-0.0122205, 1.39665, 0.193353, 1.20499, -0.000705811, ...]
  T#26(arith.constant25) shape:[120], type:FLOAT32 RO 480 bytes, buffer: 27, data:[-0.219226, 0.464636, -0.288737, -2.38097, -0.334142, ...]
  T#27(arith.constant26) shape:[120], type:FLOAT32 RO 480 bytes, buffer: 28, data:[3.30378, 2.60396, 2.83121, -4.14912, 2.59554, ...]
  T#28(arith.constant27) shape:[72], type:FLOAT32 RO 288 bytes, buffer: 29, data:[5.06759, 6.06202, 5.33617, 6.0275, 4.7227, ...]
  T#29(arith.constant28) shape:[24], type:FLOAT32 RO 96 bytes, buffer: 30, data:[1.14102, -0.02167, -0.01928, -0.0118068, 0.218227, ...]
  T#30(arith.constant29) shape:[72], type:FLOAT32 RO 288 bytes, buffer: 31, data:[1.70499, 18.0012, 1.05503, 10.0129, -2.74094, ...]
  T#31(arith.constant30) shape:[72], type:FLOAT32 RO 288 bytes, buffer: 32, data:[-0.498766, -0.309574, 0.104518, 2.44678, 1.72927, ...]
  T#32(arith.constant31) shape:[72], type:FLOAT32 RO 288 bytes, buffer: 33, data:[0.586533, 0.863577, 0.484086, -8.43705, 7.50718, ...]
  T#33(arith.constant32) shape:[72], type:FLOAT32 RO 288 bytes, buffer: 34, data:[3.17699, 2.28101, 1.58534, 2.71796, 1.68366, ...]
  T#34(arith.constant33) shape:[64], type:FLOAT32 RO 256 bytes, buffer: 35, data:[6.24156, 0.981198, 2.53471, -0.0248699, 25.7691, ...]
  T#35(arith.constant34) shape:[64], type:FLOAT32 RO 256 bytes, buffer: 36, data:[5.83326, 7.79689, 5.9951, -0.769312, 8.54113, ...]
  T#36(arith.constant35) shape:[16], type:FLOAT32 RO 64 bytes, buffer: 37, data:[1.62813, 33.7453, 4.72859, 8.78206, 17.5393, ...]
  T#37(arith.constant36) shape:[1000], type:FLOAT32 RO 4000 bytes, buffer: 38, data:[-0.073695, -0.0658332, -0.00686596, 0.0479387, 0.0198878, ...]
  T#38(arith.constant37) shape:[1280], type:FLOAT32 RO 5120 bytes, buffer: 39, data:[0.144575, 0.590702, 0.13199, 0.725449, -0.299175, ...]
  T#39(arith.constant38) shape:[960], type:FLOAT32 RO 3840 bytes, buffer: 40, data:[-16.2774, -9.93764, -6.33422, -11.2148, -6.04787, ...]
  T#40(arith.constant39) shape:[160], type:FLOAT32 RO 640 bytes, buffer: 41, data:[-1.10576, -6.84556, -0.464385, 3.1173, -3.98359, ...]
  T#41(arith.constant40) shape:[1, 5, 5, 960], type:FLOAT32 RO 96000 bytes, buffer: 42, data:[-0.152749, -0.152966, 0.23392, 0.00429554, -0.286706, ...]
  T#42(arith.constant41) shape:[960], type:FLOAT32 RO 3840 bytes, buffer: 43, data:[-0.213042, -1.64993, -1.58605, 3.29836, -0.697594, ...]
  T#43(arith.constant42) shape:[160], type:FLOAT32 RO 640 bytes, buffer: 44, data:[1.56244, -9.28569, -6.53591, 2.84496, -5.46389, ...]
  T#44(arith.constant43) shape:[1, 5, 5, 960], type:FLOAT32 RO 96000 bytes, buffer: 45, data:[4.83438, -1.51938, -0.324659, -0.391306, -0.01447, ...]
  T#45(arith.constant44) shape:[960], type:FLOAT32 RO 3840 bytes, buffer: 46, data:[-0.0174746, 0.0162077, -1.22728, 0.279187, -0.554711, ...]
  T#46(arith.constant45) shape:[160], type:FLOAT32 RO 640 bytes, buffer: 47, data:[-3.44684, -0.768017, -0.969108, 1.23336, -2.86966, ...]
  T#47(arith.constant46) shape:[1, 5, 5, 672], type:FLOAT32 RO 67200 bytes, buffer: 48, data:[-0.00694154, 0.0356305, -0.195693, -0.0262144, 0.114805, ...]
  T#48(arith.constant47) shape:[672], type:FLOAT32 RO 2688 bytes, buffer: 49, data:[0.573135, -0.726054, 0.0182186, -0.206486, -1.48872, ...]
  T#49(arith.constant48) shape:[112], type:FLOAT32 RO 448 bytes, buffer: 50, data:[0.365523, 1.10257, -1.63187, 0.706468, 0.487061, ...]
  T#50(arith.constant49) shape:[1, 3, 3, 672], type:FLOAT32 RO 24192 bytes, buffer: 51, data:[0.0253853, 0.0641128, 1.57708, 0.0533236, -0.00350431, ...]
  T#51(arith.constant50) shape:[672], type:FLOAT32 RO 2688 bytes, buffer: 52, data:[2.41973, -1.5073, -0.00963159, -0.640254, 0.684952, ...]
  T#52(arith.constant51) shape:[112], type:FLOAT32 RO 448 bytes, buffer: 53, data:[-4.96088, -3.39939, 4.19718, 2.48631, -1.34157, ...]
  T#53(arith.constant52) shape:[1, 3, 3, 480], type:FLOAT32 RO 17280 bytes, buffer: 54, data:[-0.0212238, 6.44594, 0.0537825, 0.22657, -0.0316337, ...]
  T#54(arith.constant53) shape:[480], type:FLOAT32 RO 1920 bytes, buffer: 55, data:[2.50857, 0.0973693, -0.563608, -1.45203, 3.44066, ...]
  T#55(arith.constant54) shape:[80], type:FLOAT32 RO 320 bytes, buffer: 56, data:[-0.435609, -2.97176, 2.74412, -6.65204, 10.2386, ...]
  T#56(arith.constant55) shape:[1, 3, 3, 184], type:FLOAT32 RO 6624 bytes, buffer: 57, data:[4.97419, -6.57637, 0.814417, 1.46725, 0.457797, ...]
  T#57(arith.constant56) shape:[184], type:FLOAT32 RO 736 bytes, buffer: 58, data:[0.213268, 0.0483445, -0.11253, 0.0761342, -1.73988, ...]
  T#58(arith.constant57) shape:[80], type:FLOAT32 RO 320 bytes, buffer: 59, data:[-1.10751, -3.36157, 0.340627, 2.23085, -0.46187, ...]
  T#59(arith.constant58) shape:[1, 3, 3, 184], type:FLOAT32 RO 6624 bytes, buffer: 60, data:[0.186774, 0.198745, -0.694211, 0.182543, -0.045065, ...]
  T#60(arith.constant59) shape:[184], type:FLOAT32 RO 736 bytes, buffer: 61, data:[1.78543, 1.23138, -0.31343, -2.65884, 2.16531, ...]
  T#61(arith.constant60) shape:[80], type:FLOAT32 RO 320 bytes, buffer: 62, data:[2.75995, -0.155923, 2.06222, -4.97617, -12.3297, ...]
  T#62(arith.constant61) shape:[1, 3, 3, 200], type:FLOAT32 RO 7200 bytes, buffer: 63, data:[-0.0930532, 1.35916, 0.0699976, 2.08309, -0.714721, ...]
  T#63(arith.constant62) shape:[200], type:FLOAT32 RO 800 bytes, buffer: 64, data:[-0.0180047, 0.000351542, 2.84978, 0.00512768, -0.0474478, ...]
  T#64(arith.constant63) shape:[80], type:FLOAT32 RO 320 bytes, buffer: 65, data:[-15.6729, 13.1146, 9.85148, 15.7407, -16.4922, ...]
  T#65(arith.constant64) shape:[1, 3, 3, 240], type:FLOAT32 RO 8640 bytes, buffer: 66, data:[0.507291, 0.915944, 0.881445, 0.338672, -0.261484, ...]
  T#66(arith.constant65) shape:[240], type:FLOAT32 RO 960 bytes, buffer: 67, data:[-3.03785, -3.20833, -1.26339, -0.875435, -0.410649, ...]
  T#67(arith.constant66) shape:[40], type:FLOAT32 RO 160 bytes, buffer: 68, data:[-3.93807, 1.26509, -0.947863, 31.8655, 3.26632, ...]
  T#68(arith.constant67) shape:[1, 5, 5, 120], type:FLOAT32 RO 12000 bytes, buffer: 69, data:[-0.0563561, -0.887496, 0.0099917, 0.166615, 0.101625, ...]
  T#69(arith.constant68) shape:[40], type:FLOAT32 RO 160 bytes, buffer: 70, data:[-7.63688, 1.21586, -22.5861, 0.739685, -3.0402, ...]
  T#70(arith.constant69) shape:[1, 5, 5, 120], type:FLOAT32 RO 12000 bytes, buffer: 71, data:[0.0256352, 0.00875715, -0.00830248, 0.0426244, 0.00442088, ...]
  T#71(arith.constant70) shape:[40], type:FLOAT32 RO 160 bytes, buffer: 72, data:[-21.1494, -0.469508, 14.1144, -5.10523, -9.47186, ...]
  T#72(arith.constant71) shape:[1, 5, 5, 72], type:FLOAT32 RO 7200 bytes, buffer: 73, data:[0.0879386, -0.0954128, 0.0937833, -0.0427546, -0.253503, ...]
  T#73(arith.constant72) shape:[24], type:FLOAT32 RO 96 bytes, buffer: 74, data:[-35.7347, 31.8145, 7.77917, 11.8099, 10.6855, ...]
  T#74(arith.constant73) shape:[1, 3, 3, 72], type:FLOAT32 RO 2592 bytes, buffer: 75, data:[-0.196813, -0.0441104, -0.806084, 0.0801485, 0.182848, ...]
  T#75(arith.constant74) shape:[24], type:FLOAT32 RO 96 bytes, buffer: 76, data:[29.5271, -13.7881, -51.1199, 3.50073, -7.02167, ...]
  T#76(arith.constant75) shape:[1, 3, 3, 64], type:FLOAT32 RO 2304 bytes, buffer: 77, data:[-7.61981, 0.609866, -0.72154, 1.24176, -0.446165, ...]
  T#77(arith.constant76) shape:[16], type:FLOAT32 RO 64 bytes, buffer: 78, data:[-0.0141129, 49.9822, 9.52096, -9.69061, -4.32951, ...]
  T#78(arith.constant77) shape:[1, 3, 3, 16], type:FLOAT32 RO 576 bytes, buffer: 79, data:[1.22061, -0.810988, -0.595521, -0.12323, 0.128769, ...]
  T#79(arith.constant78) shape:[16], type:FLOAT32 RO 64 bytes, buffer: 80, data:[26.8229, 27.4359, 2.7004, 6.57344, 25.2757, ...]
  T#80(arith.constant79) shape:[1000, 1, 1, 1280], type:FLOAT32 RO 5120000 bytes, buffer: 81, data:[0.0232807, -0.0139387, -0.0507069, 0.0257928, -0.0243703, ...]
  T#81(arith.constant80) shape:[1280, 1, 1, 960], type:FLOAT32 RO 4915200 bytes, buffer: 82, data:[0.00633656, -0.0184516, -0.0124931, -0.0359429, 0.00918523, ...]
  T#82(arith.constant81) shape:[960, 1, 1, 160], type:FLOAT32 RO 614400 bytes, buffer: 83, data:[0.0500849, -0.0546926, 0.0198143, -0.0325645, -0.219457, ...]
  T#83(arith.constant82) shape:[160, 1, 1, 960], type:FLOAT32 RO 614400 bytes, buffer: 84, data:[-2.50493, -3.6528, -3.30272, 0.205339, -1.86695, ...]
  T#84(arith.constant83) shape:[960, 1, 1, 240], type:FLOAT32 RO 921600 bytes, buffer: 85, data:[-0.0611927, -0.0151269, -0.0345105, -0.0179798, 0.0131835, ...]
  T#85(arith.constant84) shape:[240, 1, 1, 960], type:FLOAT32 RO 921600 bytes, buffer: 86, data:[-0.0837548, -0.0823375, -0.0502755, 0.00375071, 0.0204295, ...]
  T#86(arith.constant85) shape:[960, 1, 1, 160], type:FLOAT32 RO 614400 bytes, buffer: 87, data:[-0.00653375, 0.00786634, -0.0076777, 0.00238527, 0.00558404, ...]
  T#87(arith.constant86) shape:[160, 1, 1, 960], type:FLOAT32 RO 614400 bytes, buffer: 88, data:[-0.549766, -6.35918, -2.60246, -5.68154, -1.48906, ...]
  T#88(arith.constant87) shape:[960, 1, 1, 240], type:FLOAT32 RO 921600 bytes, buffer: 89, data:[-0.000973725, -0.000458092, -0.0380375, -0.00309571, 0.0262516, ...]
  T#89(arith.constant88) shape:[240, 1, 1, 960], type:FLOAT32 RO 921600 bytes, buffer: 90, data:[0.0192977, -0.0183088, 0.168897, -0.0208883, -0.0152427, ...]
  T#90(arith.constant89) shape:[960, 1, 1, 160], type:FLOAT32 RO 614400 bytes, buffer: 91, data:[0.00076681, -0.000431589, -0.000944783, 0.00120458, 0.00134008, ...]
  T#91(arith.constant90) shape:[160, 1, 1, 672], type:FLOAT32 RO 430080 bytes, buffer: 92, data:[2.30253, -1.31009, 0.118996, 1.40242, 1.30476, ...]
  T#92(arith.constant91) shape:[672, 1, 1, 168], type:FLOAT32 RO 451584 bytes, buffer: 93, data:[-0.0652855, -0.19256, 0.0154229, -0.0401333, 0.0346401, ...]
  T#93(arith.constant92) shape:[168, 1, 1, 672], type:FLOAT32 RO 451584 bytes, buffer: 94, data:[0.0148519, -0.00466832, 0.00745004, 0.00458578, 0.0245794, ...]
  T#94(arith.constant93) shape:[672, 1, 1, 112], type:FLOAT32 RO 301056 bytes, buffer: 95, data:[0.0149865, 0.0068462, 0.0173924, -0.00532784, -0.00565932, ...]
  T#95(arith.constant94) shape:[112, 1, 1, 672], type:FLOAT32 RO 301056 bytes, buffer: 96, data:[-0.565866, -1.61402, -0.562591, 3.13697, -2.86662, ...]
  T#96(arith.constant95) shape:[672, 1, 1, 168], type:FLOAT32 RO 451584 bytes, buffer: 97, data:[0.312729, -0.0241425, 0.0155115, -0.0770605, 0.0287806, ...]
  T#97(arith.constant96) shape:[168, 1, 1, 672], type:FLOAT32 RO 451584 bytes, buffer: 98, data:[-0.0403199, 0.0110284, -3.64906e-05, 0.052037, 0.00120152, ...]
  T#98(arith.constant97) shape:[672, 1, 1, 112], type:FLOAT32 RO 301056 bytes, buffer: 99, data:[-0.00188285, -0.0111014, -0.044308, -0.0045087, 0.0132006, ...]
  T#99(arith.constant98) shape:[112, 1, 1, 480], type:FLOAT32 RO 215040 bytes, buffer: 100, data:[-3.1418, 0.424589, 1.22596, -0.396264, 4.54748, ...]
  T#100(arith.constant99) shape:[480, 1, 1, 120], type:FLOAT32 RO 230400 bytes, buffer: 101, data:[-0.120188, 0.0748747, -0.183427, 0.0475327, -0.00263915, ...]
  T#101(arith.constant100) shape:[120, 1, 1, 480], type:FLOAT32 RO 230400 bytes, buffer: 102, data:[0.0232848, -0.0156344, 0.0118119, 0.00698492, 0.0173483, ...]
  T#102(arith.constant101) shape:[480, 1, 1, 80], type:FLOAT32 RO 153600 bytes, buffer: 103, data:[-0.00826612, 0.0499581, 0.0647706, 0.0257538, -0.00146656, ...]
  T#103(arith.constant102) shape:[80, 1, 1, 184], type:FLOAT32 RO 58880 bytes, buffer: 104, data:[0.093478, -0.0599167, 0.0303901, 0.131994, 0.190089, ...]
  T#104(arith.constant103) shape:[184, 1, 1, 80], type:FLOAT32 RO 58880 bytes, buffer: 105, data:[-0.0015102, 0.000761898, -0.000109779, 0.000520086, -0.00139291, ...]
  T#105(arith.constant104) shape:[80, 1, 1, 184], type:FLOAT32 RO 58880 bytes, buffer: 106, data:[-0.155852, 0.237999, 0.816957, 0.13733, 0.384849, ...]
  T#106(arith.constant105) shape:[184, 1, 1, 80], type:FLOAT32 RO 58880 bytes, buffer: 107, data:[-0.000389813, -0.0035757, -0.000356501, -0.00755378, 0.0180794, ...]
  T#107(arith.constant106) shape:[80, 1, 1, 200], type:FLOAT32 RO 64000 bytes, buffer: 108, data:[0.306236, -0.0031209, 0.0347371, -0.0932839, 0.142599, ...]
  T#108(arith.constant107) shape:[200, 1, 1, 80], type:FLOAT32 RO 64000 bytes, buffer: 109, data:[-0.00231777, -0.000986836, 4.6371e-05, -0.00405917, -0.00202406, ...]
  T#109(arith.constant108) shape:[80, 1, 1, 240], type:FLOAT32 RO 76800 bytes, buffer: 110, data:[0.219832, 0.0737946, 0.457842, 0.671469, -0.385924, ...]
  T#110(arith.constant109) shape:[240, 1, 1, 40], type:FLOAT32 RO 38400 bytes, buffer: 111, data:[-0.0238429, 0.00749496, 0.0132094, -0.0011158, 0.00737228, ...]
  T#111(arith.constant110) shape:[40, 1, 1, 120], type:FLOAT32 RO 19200 bytes, buffer: 112, data:[-0.437176, 0.171119, 0.225141, -0.0630487, 1.52885, ...]
  T#112(arith.constant111) shape:[120, 1, 1, 32], type:FLOAT32 RO 15360 bytes, buffer: 113, data:[0.0233749, 1.24947e-32, 1.26503e-32, 0.0765244, -0.00840057, ...]
  T#113(arith.constant112) shape:[32, 1, 1, 120], type:FLOAT32 RO 15360 bytes, buffer: 114, data:[0.0396201, 0.0105455, 0.0124103, 0.0153921, 0.0817555, ...]
  T#114(arith.constant113) shape:[120, 1, 1, 40], type:FLOAT32 RO 19200 bytes, buffer: 115, data:[0.00788043, -0.00202614, 0.0314182, 0.00642282, 0.0341095, ...]
  T#115(arith.constant114) shape:[40, 1, 1, 120], type:FLOAT32 RO 19200 bytes, buffer: 116, data:[-1.25906, 0.497161, -0.0669599, 0.622439, -0.657298, ...]
  T#116(arith.constant115) shape:[120, 1, 1, 32], type:FLOAT32 RO 15360 bytes, buffer: 117, data:[-1.24865e-32, 0.0671542, 0.0129759, 0.0901768, -1.7092e-28, ...]
  T#117(arith.constant116) shape:[32, 1, 1, 120], type:FLOAT32 RO 15360 bytes, buffer: 118, data:[-1.27762e-32, -1.26314e-32, -1.26755e-32, 1.25007e-32, -1.25637e-32, ...]
  T#118(arith.constant117) shape:[120, 1, 1, 40], type:FLOAT32 RO 19200 bytes, buffer: 119, data:[0.0915326, -0.0077282, 0.0208179, 0.013002, -0.0156502, ...]
  T#119(arith.constant118) shape:[40, 1, 1, 72], type:FLOAT32 RO 11520 bytes, buffer: 120, data:[0.00945878, -0.0363797, 0.0769495, 0.00295284, 0.0174633, ...]
  T#120(arith.constant119) shape:[72, 1, 1, 24], type:FLOAT32 RO 6912 bytes, buffer: 121, data:[0.00195266, 1.24883e-32, 1.24923e-32, 1.2486e-32, 0.000132618, ...]
  T#121(arith.constant120) shape:[24, 1, 1, 72], type:FLOAT32 RO 6912 bytes, buffer: 122, data:[-0.00278714, -0.00356496, -0.00289361, -0.00207177, -0.000909253, ...]
  T#122(arith.constant121) shape:[72, 1, 1, 24], type:FLOAT32 RO 6912 bytes, buffer: 123, data:[0.0293405, -0.0246265, 0.0406672, -0.019213, 0.0562144, ...]
  T#123(arith.constant122) shape:[24, 1, 1, 72], type:FLOAT32 RO 6912 bytes, buffer: 124, data:[-0.291106, 0.053235, 0.518672, -1.19898, 0.418507, ...]
  T#124(arith.constant123) shape:[72, 1, 1, 24], type:FLOAT32 RO 6912 bytes, buffer: 125, data:[-0.135531, 0.0593861, -0.00241981, 0.0486889, 0.00179526, ...]
  T#125(arith.constant124) shape:[24, 1, 1, 64], type:FLOAT32 RO 6144 bytes, buffer: 126, data:[-0.0101949, 0.105657, -0.0099966, -0.140536, 0.0846852, ...]
  T#126(arith.constant125) shape:[64, 1, 1, 16], type:FLOAT32 RO 4096 bytes, buffer: 127, data:[-0.000504434, 0.00025894, -0.000541954, 0.00443714, 0.00453425, ...]
  T#127(arith.constant126) shape:[16, 1, 1, 16], type:FLOAT32 RO 1024 bytes, buffer: 128, data:[1.92682e-06, -1.08435e-05, -4.07661e-05, 7.29718e-05, -4.40744e-07, ...]
  T#128(arith.constant127) shape:[16, 3, 3, 3], type:FLOAT32 RO 1728 bytes, buffer: 129, data:[2.35286, -1.02746, -1.03095, 3.50268, -1.58557, ...]
  T#129(arith.constant128) shape:[], type:FLOAT32 RO 4 bytes, buffer: 130, data:[0.166667]
  T#130(arith.constant129) shape:[2], type:INT32 RO 8 bytes, buffer: 131, data:[1, 2]
  T#131(arith.constant130) shape:[4, 2], type:INT32 RO 32 bytes, buffer: 132, data:[0, 0, 1, 2, 1, ...]
  T#132(arith.constant131) shape:[4, 2], type:INT32 RO 32 bytes, buffer: 133, data:[0, 0, 0, 1, 0, ...]
  T#133(arith.constant132) shape:[2], type:INT32 RO 8 bytes, buffer: 134, data:[-1, 1000]
  T#134(MobileNetV3Large_1/rescaling_1/Cast/x) shape:[], type:FLOAT32 RO 4 bytes, buffer: 135, data:[0.00784314]
  T#135(MobileNetV3Large_1/rescaling_1/Cast_1/x) shape:[], type:FLOAT32 RO 4 bytes, buffer: 136, data:[-1]
  T#136(MobileNetV3Large_1/rescaling_1/mul) shape_signature:[-1, -1, -1, 3], type:FLOAT32
  T#137(MobileNetV3Large_1/rescaling_1/add) shape_signature:[-1, -1, -1, 3], type:FLOAT32
  T#138(MobileNetV3Large_1/conv_bn_1/batchnorm/add_1;MobileNetV3Large_1/conv_1/convolution;) shape_signature:[-1, -1, -1, 16], type:FLOAT32
  T#139(MobileNetV3Large_1/activation_1/mul;;MobileNetV3Large_1/activation_1/Relu6;MobileNetV3Large_1/activation_1/add;MobileNetV3Large_1/activation_1/truediv) shape_signature:[-1, -1, -1, 16], type:FLOAT32
  T#140(MobileNetV3Large_1/re_lu_1/Relu;MobileNetV3Large_1/expanded_conv_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 16], type:FLOAT32
  T#141(MobileNetV3Large_1/expanded_conv_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_project_1/convolution;) shape_signature:[-1, -1, -1, 16], type:FLOAT32
  T#142(MobileNetV3Large_1/expanded_conv_add_1/Add) shape_signature:[-1, -1, -1, 16], type:FLOAT32
  T#143(MobileNetV3Large_1/re_lu_1_2/Relu;MobileNetV3Large_1/expanded_conv_1_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_1_expand_1/convolution;) shape_signature:[-1, -1, -1, 64], type:FLOAT32
  T#144(MobileNetV3Large_1/expanded_conv_1_depthwise_pad_1/Pad) shape_signature:[-1, -1, -1, 64], type:FLOAT32
  T#145(MobileNetV3Large_1/re_lu_2_1/Relu;MobileNetV3Large_1/expanded_conv_1_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_1_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_1_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 64], type:FLOAT32
  T#146(MobileNetV3Large_1/expanded_conv_1_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_1_project_1/convolution;) shape_signature:[-1, -1, -1, 24], type:FLOAT32
  T#147(MobileNetV3Large_1/re_lu_3_1/Relu;MobileNetV3Large_1/expanded_conv_2_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_2_expand_1/convolution;) shape_signature:[-1, -1, -1, 72], type:FLOAT32
  T#148(MobileNetV3Large_1/re_lu_4_1/Relu;MobileNetV3Large_1/expanded_conv_2_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_2_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_2_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 72], type:FLOAT32
  T#149(MobileNetV3Large_1/expanded_conv_2_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_2_project_1/convolution;) shape_signature:[-1, -1, -1, 24], type:FLOAT32
  T#150(MobileNetV3Large_1/expanded_conv_2_add_1/Add) shape_signature:[-1, -1, -1, 24], type:FLOAT32
  T#151(MobileNetV3Large_1/re_lu_5_1/Relu;MobileNetV3Large_1/expanded_conv_3_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_3_expand_1/convolution;) shape_signature:[-1, -1, -1, 72], type:FLOAT32
  T#152(MobileNetV3Large_1/expanded_conv_3_depthwise_pad_1/Pad) shape_signature:[-1, -1, -1, 72], type:FLOAT32
  T#153(MobileNetV3Large_1/re_lu_6_1/Relu;MobileNetV3Large_1/expanded_conv_3_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_3_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_3_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 72], type:FLOAT32
  T#154(MobileNetV3Large_1/expanded_conv_3_squeeze_excite_avg_pool_1/Mean) shape_signature:[-1, 1, 1, 72], type:FLOAT32
  T#155(MobileNetV3Large_1/expanded_conv_3_squeeze_excite_relu_1/Relu;MobileNetV3Large_1/expanded_conv_3_squeeze_excite_conv_1/add;MobileNetV3Large_1/expanded_conv_3_squeeze_excite_conv_1/convolution;) shape_signature:[-1, 1, 1, 24], type:FLOAT32
  T#156(MobileNetV3Large_1/re_lu_7_1/Relu6;MobileNetV3Large_1/Add;MobileNetV3Large_1/expanded_conv_3_squeeze_excite_conv_1_2/add;MobileNetV3Large_1/expanded_conv_3_squeeze_excite_conv_1_2/convolution;) shape_signature:[-1, 1, 1, 72], type:FLOAT32
  T#157(MobileNetV3Large_1/Mul) shape_signature:[-1, 1, 1, 72], type:FLOAT32
  T#158(MobileNetV3Large_1/expanded_conv_3_squeeze_excite_mul_1/Mul) shape_signature:[-1, -1, -1, 72], type:FLOAT32
  T#159(MobileNetV3Large_1/expanded_conv_3_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_3_project_1/convolution;) shape_signature:[-1, -1, -1, 40], type:FLOAT32
  T#160(MobileNetV3Large_1/re_lu_8_1/Relu;MobileNetV3Large_1/expanded_conv_4_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_4_expand_1/convolution;) shape_signature:[-1, -1, -1, 120], type:FLOAT32
  T#161(MobileNetV3Large_1/re_lu_9_1/Relu;MobileNetV3Large_1/expanded_conv_4_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_4_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_4_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 120], type:FLOAT32
  T#162(MobileNetV3Large_1/expanded_conv_4_squeeze_excite_avg_pool_1/Mean) shape_signature:[-1, 1, 1, 120], type:FLOAT32
  T#163(MobileNetV3Large_1/expanded_conv_4_squeeze_excite_relu_1/Relu;MobileNetV3Large_1/expanded_conv_4_squeeze_excite_conv_1/add;MobileNetV3Large_1/expanded_conv_4_squeeze_excite_conv_1/convolution;) shape_signature:[-1, 1, 1, 32], type:FLOAT32
  T#164(MobileNetV3Large_1/re_lu_10_1/Relu6;MobileNetV3Large_1/Add_1;MobileNetV3Large_1/expanded_conv_4_squeeze_excite_conv_1_2/add;MobileNetV3Large_1/expanded_conv_4_squeeze_excite_conv_1_2/convolution;) shape_signature:[-1, 1, 1, 120], type:FLOAT32
  T#165(MobileNetV3Large_1/Mul_1) shape_signature:[-1, 1, 1, 120], type:FLOAT32
  T#166(MobileNetV3Large_1/expanded_conv_4_squeeze_excite_mul_1/Mul) shape_signature:[-1, -1, -1, 120], type:FLOAT32
  T#167(MobileNetV3Large_1/expanded_conv_4_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_4_project_1/convolution;) shape_signature:[-1, -1, -1, 40], type:FLOAT32
  T#168(MobileNetV3Large_1/expanded_conv_4_add_1/Add) shape_signature:[-1, -1, -1, 40], type:FLOAT32
  T#169(MobileNetV3Large_1/re_lu_11_1/Relu;MobileNetV3Large_1/expanded_conv_5_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_5_expand_1/convolution;) shape_signature:[-1, -1, -1, 120], type:FLOAT32
  T#170(MobileNetV3Large_1/re_lu_12_1/Relu;MobileNetV3Large_1/expanded_conv_5_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_5_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_5_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 120], type:FLOAT32
  T#171(MobileNetV3Large_1/expanded_conv_5_squeeze_excite_avg_pool_1/Mean) shape_signature:[-1, 1, 1, 120], type:FLOAT32
  T#172(MobileNetV3Large_1/expanded_conv_5_squeeze_excite_relu_1/Relu;MobileNetV3Large_1/expanded_conv_5_squeeze_excite_conv_1/add;MobileNetV3Large_1/expanded_conv_5_squeeze_excite_conv_1/convolution;) shape_signature:[-1, 1, 1, 32], type:FLOAT32
  T#173(MobileNetV3Large_1/re_lu_13_1/Relu6;MobileNetV3Large_1/Add_2;MobileNetV3Large_1/expanded_conv_5_squeeze_excite_conv_1_2/add;MobileNetV3Large_1/expanded_conv_5_squeeze_excite_conv_1_2/convolution;) shape_signature:[-1, 1, 1, 120], type:FLOAT32
  T#174(MobileNetV3Large_1/Mul_2) shape_signature:[-1, 1, 1, 120], type:FLOAT32
  T#175(MobileNetV3Large_1/expanded_conv_5_squeeze_excite_mul_1/Mul) shape_signature:[-1, -1, -1, 120], type:FLOAT32
  T#176(MobileNetV3Large_1/expanded_conv_5_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_5_project_1/convolution;) shape_signature:[-1, -1, -1, 40], type:FLOAT32
  T#177(MobileNetV3Large_1/expanded_conv_5_add_1/Add) shape_signature:[-1, -1, -1, 40], type:FLOAT32
  T#178(MobileNetV3Large_1/expanded_conv_6_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_6_expand_1/convolution;) shape_signature:[-1, -1, -1, 240], type:FLOAT32
  T#179(MobileNetV3Large_1/activation_1_2/mul;;MobileNetV3Large_1/activation_1_2/Relu6;MobileNetV3Large_1/activation_1_2/add;MobileNetV3Large_1/activation_1_2/truediv) shape_signature:[-1, -1, -1, 240], type:FLOAT32
  T#180(MobileNetV3Large_1/expanded_conv_6_depthwise_pad_1/Pad) shape_signature:[-1, -1, -1, 240], type:FLOAT32
  T#181(MobileNetV3Large_1/expanded_conv_6_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_6_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_6_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 240], type:FLOAT32
  T#182(MobileNetV3Large_1/activation_2_1/mul;;MobileNetV3Large_1/activation_2_1/Relu6;MobileNetV3Large_1/activation_2_1/add;MobileNetV3Large_1/activation_2_1/truediv) shape_signature:[-1, -1, -1, 240], type:FLOAT32
  T#183(MobileNetV3Large_1/expanded_conv_6_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_6_project_1/convolution;) shape_signature:[-1, -1, -1, 80], type:FLOAT32
  T#184(MobileNetV3Large_1/expanded_conv_7_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_7_expand_1/convolution;) shape_signature:[-1, -1, -1, 200], type:FLOAT32
  T#185(MobileNetV3Large_1/activation_3_1/mul;;MobileNetV3Large_1/activation_3_1/Relu6;MobileNetV3Large_1/activation_3_1/add;MobileNetV3Large_1/activation_3_1/truediv) shape_signature:[-1, -1, -1, 200], type:FLOAT32
  T#186(MobileNetV3Large_1/expanded_conv_7_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_7_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_7_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 200], type:FLOAT32
  T#187(MobileNetV3Large_1/activation_4_1/mul;;MobileNetV3Large_1/activation_4_1/Relu6;MobileNetV3Large_1/activation_4_1/add;MobileNetV3Large_1/activation_4_1/truediv) shape_signature:[-1, -1, -1, 200], type:FLOAT32
  T#188(MobileNetV3Large_1/expanded_conv_7_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_7_project_1/convolution;) shape_signature:[-1, -1, -1, 80], type:FLOAT32
  T#189(MobileNetV3Large_1/expanded_conv_7_add_1/Add) shape_signature:[-1, -1, -1, 80], type:FLOAT32
  T#190(MobileNetV3Large_1/expanded_conv_8_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_8_expand_1/convolution;) shape_signature:[-1, -1, -1, 184], type:FLOAT32
  T#191(MobileNetV3Large_1/activation_5_1/mul;;MobileNetV3Large_1/activation_5_1/Relu6;MobileNetV3Large_1/activation_5_1/add;MobileNetV3Large_1/activation_5_1/truediv) shape_signature:[-1, -1, -1, 184], type:FLOAT32
  T#192(MobileNetV3Large_1/expanded_conv_8_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_8_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_8_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 184], type:FLOAT32
  T#193(MobileNetV3Large_1/activation_6_1/mul;;MobileNetV3Large_1/activation_6_1/Relu6;MobileNetV3Large_1/activation_6_1/add;MobileNetV3Large_1/activation_6_1/truediv) shape_signature:[-1, -1, -1, 184], type:FLOAT32
  T#194(MobileNetV3Large_1/expanded_conv_8_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_8_project_1/convolution;) shape_signature:[-1, -1, -1, 80], type:FLOAT32
  T#195(MobileNetV3Large_1/expanded_conv_8_add_1/Add) shape_signature:[-1, -1, -1, 80], type:FLOAT32
  T#196(MobileNetV3Large_1/expanded_conv_9_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_9_expand_1/convolution;) shape_signature:[-1, -1, -1, 184], type:FLOAT32
  T#197(MobileNetV3Large_1/activation_7_1/mul;;MobileNetV3Large_1/activation_7_1/Relu6;MobileNetV3Large_1/activation_7_1/add;MobileNetV3Large_1/activation_7_1/truediv) shape_signature:[-1, -1, -1, 184], type:FLOAT32
  T#198(MobileNetV3Large_1/expanded_conv_9_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_9_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_9_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 184], type:FLOAT32
  T#199(MobileNetV3Large_1/activation_8_1/mul;;MobileNetV3Large_1/activation_8_1/Relu6;MobileNetV3Large_1/activation_8_1/add;MobileNetV3Large_1/activation_8_1/truediv) shape_signature:[-1, -1, -1, 184], type:FLOAT32
  T#200(MobileNetV3Large_1/expanded_conv_9_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_9_project_1/convolution;) shape_signature:[-1, -1, -1, 80], type:FLOAT32
  T#201(MobileNetV3Large_1/expanded_conv_9_add_1/Add) shape_signature:[-1, -1, -1, 80], type:FLOAT32
  T#202(MobileNetV3Large_1/expanded_conv_10_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_10_expand_1/convolution;) shape_signature:[-1, -1, -1, 480], type:FLOAT32
  T#203(MobileNetV3Large_1/activation_9_1/mul;;MobileNetV3Large_1/activation_9_1/Relu6;MobileNetV3Large_1/activation_9_1/add;MobileNetV3Large_1/activation_9_1/truediv) shape_signature:[-1, -1, -1, 480], type:FLOAT32
  T#204(MobileNetV3Large_1/expanded_conv_10_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_10_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_10_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 480], type:FLOAT32
  T#205(MobileNetV3Large_1/activation_10_1/mul;;MobileNetV3Large_1/activation_10_1/Relu6;MobileNetV3Large_1/activation_10_1/add;MobileNetV3Large_1/activation_10_1/truediv) shape_signature:[-1, -1, -1, 480], type:FLOAT32
  T#206(MobileNetV3Large_1/expanded_conv_10_squeeze_excite_avg_pool_1/Mean) shape_signature:[-1, 1, 1, 480], type:FLOAT32
  T#207(MobileNetV3Large_1/expanded_conv_10_squeeze_excite_relu_1/Relu;MobileNetV3Large_1/expanded_conv_10_squeeze_excite_conv_1/add;MobileNetV3Large_1/expanded_conv_10_squeeze_excite_conv_1/convolution;) shape_signature:[-1, 1, 1, 120], type:FLOAT32
  T#208(MobileNetV3Large_1/re_lu_14_1/Relu6;MobileNetV3Large_1/Add_3;MobileNetV3Large_1/expanded_conv_10_squeeze_excite_conv_1_2/add;MobileNetV3Large_1/expanded_conv_10_squeeze_excite_conv_1_2/convolution;) shape_signature:[-1, 1, 1, 480], type:FLOAT32
  T#209(MobileNetV3Large_1/Mul_3) shape_signature:[-1, 1, 1, 480], type:FLOAT32
  T#210(MobileNetV3Large_1/expanded_conv_10_squeeze_excite_mul_1/Mul) shape_signature:[-1, -1, -1, 480], type:FLOAT32
  T#211(MobileNetV3Large_1/expanded_conv_10_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_10_project_1/convolution;) shape_signature:[-1, -1, -1, 112], type:FLOAT32
  T#212(MobileNetV3Large_1/expanded_conv_11_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_11_expand_1/convolution;) shape_signature:[-1, -1, -1, 672], type:FLOAT32
  T#213(MobileNetV3Large_1/activation_11_1/mul;;MobileNetV3Large_1/activation_11_1/Relu6;MobileNetV3Large_1/activation_11_1/add;MobileNetV3Large_1/activation_11_1/truediv) shape_signature:[-1, -1, -1, 672], type:FLOAT32
  T#214(MobileNetV3Large_1/expanded_conv_11_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_11_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_11_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 672], type:FLOAT32
  T#215(MobileNetV3Large_1/activation_12_1/mul;;MobileNetV3Large_1/activation_12_1/Relu6;MobileNetV3Large_1/activation_12_1/add;MobileNetV3Large_1/activation_12_1/truediv) shape_signature:[-1, -1, -1, 672], type:FLOAT32
  T#216(MobileNetV3Large_1/expanded_conv_11_squeeze_excite_avg_pool_1/Mean) shape_signature:[-1, 1, 1, 672], type:FLOAT32
  T#217(MobileNetV3Large_1/expanded_conv_11_squeeze_excite_relu_1/Relu;MobileNetV3Large_1/expanded_conv_11_squeeze_excite_conv_1/add;MobileNetV3Large_1/expanded_conv_11_squeeze_excite_conv_1/convolution;) shape_signature:[-1, 1, 1, 168], type:FLOAT32
  T#218(MobileNetV3Large_1/re_lu_15_1/Relu6;MobileNetV3Large_1/Add_4;MobileNetV3Large_1/expanded_conv_11_squeeze_excite_conv_1_2/add;MobileNetV3Large_1/expanded_conv_11_squeeze_excite_conv_1_2/convolution;) shape_signature:[-1, 1, 1, 672], type:FLOAT32
  T#219(MobileNetV3Large_1/Mul_4) shape_signature:[-1, 1, 1, 672], type:FLOAT32
  T#220(MobileNetV3Large_1/expanded_conv_11_squeeze_excite_mul_1/Mul) shape_signature:[-1, -1, -1, 672], type:FLOAT32
  T#221(MobileNetV3Large_1/expanded_conv_11_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_11_project_1/convolution;) shape_signature:[-1, -1, -1, 112], type:FLOAT32
  T#222(MobileNetV3Large_1/expanded_conv_11_add_1/Add) shape_signature:[-1, -1, -1, 112], type:FLOAT32
  T#223(MobileNetV3Large_1/expanded_conv_12_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_12_expand_1/convolution;) shape_signature:[-1, -1, -1, 672], type:FLOAT32
  T#224(MobileNetV3Large_1/activation_13_1/mul;;MobileNetV3Large_1/activation_13_1/Relu6;MobileNetV3Large_1/activation_13_1/add;MobileNetV3Large_1/activation_13_1/truediv) shape_signature:[-1, -1, -1, 672], type:FLOAT32
  T#225(MobileNetV3Large_1/expanded_conv_12_depthwise_pad_1/Pad) shape_signature:[-1, -1, -1, 672], type:FLOAT32
  T#226(MobileNetV3Large_1/expanded_conv_12_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_12_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_12_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 672], type:FLOAT32
  T#227(MobileNetV3Large_1/activation_14_1/mul;;MobileNetV3Large_1/activation_14_1/Relu6;MobileNetV3Large_1/activation_14_1/add;MobileNetV3Large_1/activation_14_1/truediv) shape_signature:[-1, -1, -1, 672], type:FLOAT32
  T#228(MobileNetV3Large_1/expanded_conv_12_squeeze_excite_avg_pool_1/Mean) shape_signature:[-1, 1, 1, 672], type:FLOAT32
  T#229(MobileNetV3Large_1/expanded_conv_12_squeeze_excite_relu_1/Relu;MobileNetV3Large_1/expanded_conv_12_squeeze_excite_conv_1/add;MobileNetV3Large_1/expanded_conv_12_squeeze_excite_conv_1/convolution;) shape_signature:[-1, 1, 1, 168], type:FLOAT32
  T#230(MobileNetV3Large_1/re_lu_16_1/Relu6;MobileNetV3Large_1/Add_5;MobileNetV3Large_1/expanded_conv_12_squeeze_excite_conv_1_2/add;MobileNetV3Large_1/expanded_conv_12_squeeze_excite_conv_1_2/convolution;) shape_signature:[-1, 1, 1, 672], type:FLOAT32
  T#231(MobileNetV3Large_1/Mul_5) shape_signature:[-1, 1, 1, 672], type:FLOAT32
  T#232(MobileNetV3Large_1/expanded_conv_12_squeeze_excite_mul_1/Mul) shape_signature:[-1, -1, -1, 672], type:FLOAT32
  T#233(MobileNetV3Large_1/expanded_conv_12_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_12_project_1/convolution;) shape_signature:[-1, -1, -1, 160], type:FLOAT32
  T#234(MobileNetV3Large_1/expanded_conv_13_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_13_expand_1/convolution;) shape_signature:[-1, -1, -1, 960], type:FLOAT32
  T#235(MobileNetV3Large_1/activation_15_1/mul;;MobileNetV3Large_1/activation_15_1/Relu6;MobileNetV3Large_1/activation_15_1/add;MobileNetV3Large_1/activation_15_1/truediv) shape_signature:[-1, -1, -1, 960], type:FLOAT32
  T#236(MobileNetV3Large_1/expanded_conv_13_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_13_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_13_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 960], type:FLOAT32
  T#237(MobileNetV3Large_1/activation_16_1/mul;;MobileNetV3Large_1/activation_16_1/Relu6;MobileNetV3Large_1/activation_16_1/add;MobileNetV3Large_1/activation_16_1/truediv) shape_signature:[-1, -1, -1, 960], type:FLOAT32
  T#238(MobileNetV3Large_1/expanded_conv_13_squeeze_excite_avg_pool_1/Mean) shape_signature:[-1, 1, 1, 960], type:FLOAT32
  T#239(MobileNetV3Large_1/expanded_conv_13_squeeze_excite_relu_1/Relu;MobileNetV3Large_1/expanded_conv_13_squeeze_excite_conv_1/add;MobileNetV3Large_1/expanded_conv_13_squeeze_excite_conv_1/convolution;) shape_signature:[-1, 1, 1, 240], type:FLOAT32
  T#240(MobileNetV3Large_1/re_lu_17_1/Relu6;MobileNetV3Large_1/Add_6;MobileNetV3Large_1/expanded_conv_13_squeeze_excite_conv_1_2/add;MobileNetV3Large_1/expanded_conv_13_squeeze_excite_conv_1_2/convolution;) shape_signature:[-1, 1, 1, 960], type:FLOAT32
  T#241(MobileNetV3Large_1/Mul_6) shape_signature:[-1, 1, 1, 960], type:FLOAT32
  T#242(MobileNetV3Large_1/expanded_conv_13_squeeze_excite_mul_1/Mul) shape_signature:[-1, -1, -1, 960], type:FLOAT32
  T#243(MobileNetV3Large_1/expanded_conv_13_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_13_project_1/convolution;) shape_signature:[-1, -1, -1, 160], type:FLOAT32
  T#244(MobileNetV3Large_1/expanded_conv_13_add_1/Add) shape_signature:[-1, -1, -1, 160], type:FLOAT32
  T#245(MobileNetV3Large_1/expanded_conv_14_expand_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_14_expand_1/convolution;) shape_signature:[-1, -1, -1, 960], type:FLOAT32
  T#246(MobileNetV3Large_1/activation_17_1/mul;;MobileNetV3Large_1/activation_17_1/Relu6;MobileNetV3Large_1/activation_17_1/add;MobileNetV3Large_1/activation_17_1/truediv) shape_signature:[-1, -1, -1, 960], type:FLOAT32
  T#247(MobileNetV3Large_1/expanded_conv_14_depthwise_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_14_depthwise_bn_1/batchnorm/mul_1;MobileNetV3Large_1/expanded_conv_14_depthwise_1/depthwise;) shape_signature:[-1, -1, -1, 960], type:FLOAT32
  T#248(MobileNetV3Large_1/activation_18_1/mul;;MobileNetV3Large_1/activation_18_1/Relu6;MobileNetV3Large_1/activation_18_1/add;MobileNetV3Large_1/activation_18_1/truediv) shape_signature:[-1, -1, -1, 960], type:FLOAT32
  T#249(MobileNetV3Large_1/expanded_conv_14_squeeze_excite_avg_pool_1/Mean) shape_signature:[-1, 1, 1, 960], type:FLOAT32
  T#250(MobileNetV3Large_1/expanded_conv_14_squeeze_excite_relu_1/Relu;MobileNetV3Large_1/expanded_conv_14_squeeze_excite_conv_1/add;MobileNetV3Large_1/expanded_conv_14_squeeze_excite_conv_1/convolution;) shape_signature:[-1, 1, 1, 240], type:FLOAT32
  T#251(MobileNetV3Large_1/re_lu_18_1/Relu6;MobileNetV3Large_1/Add_7;MobileNetV3Large_1/expanded_conv_14_squeeze_excite_conv_1_2/add;MobileNetV3Large_1/expanded_conv_14_squeeze_excite_conv_1_2/convolution;) shape_signature:[-1, 1, 1, 960], type:FLOAT32
  T#252(MobileNetV3Large_1/Mul_7) shape_signature:[-1, 1, 1, 960], type:FLOAT32
  T#253(MobileNetV3Large_1/expanded_conv_14_squeeze_excite_mul_1/Mul) shape_signature:[-1, -1, -1, 960], type:FLOAT32
  T#254(MobileNetV3Large_1/expanded_conv_14_project_bn_1/batchnorm/add_1;MobileNetV3Large_1/expanded_conv_14_project_1/convolution;) shape_signature:[-1, -1, -1, 160], type:FLOAT32
  T#255(MobileNetV3Large_1/expanded_conv_14_add_1/Add) shape_signature:[-1, -1, -1, 160], type:FLOAT32
  T#256(MobileNetV3Large_1/conv_1_bn_1/batchnorm/add_1;MobileNetV3Large_1/conv_1_2/convolution;) shape_signature:[-1, -1, -1, 960], type:FLOAT32
  T#257(MobileNetV3Large_1/activation_19_1/mul;;MobileNetV3Large_1/activation_19_1/Relu6;MobileNetV3Large_1/activation_19_1/add;MobileNetV3Large_1/activation_19_1/truediv) shape_signature:[-1, -1, -1, 960], type:FLOAT32
  T#258(MobileNetV3Large_1/global_average_pooling2d_1/Mean) shape_signature:[-1, 1, 1, 960], type:FLOAT32
  T#259(MobileNetV3Large_1/conv_2_1/add;MobileNetV3Large_1/conv_2_1/convolution;) shape_signature:[-1, 1, 1, 1280], type:FLOAT32
  T#260(MobileNetV3Large_1/activation_20_1/mul;;MobileNetV3Large_1/activation_20_1/Relu6;MobileNetV3Large_1/activation_20_1/add;MobileNetV3Large_1/activation_20_1/truediv) shape_signature:[-1, 1, 1, 1280], type:FLOAT32
  T#261(MobileNetV3Large_1/logits_1/add;MobileNetV3Large_1/logits_1/convolution;) shape_signature:[-1, 1, 1, 1000], type:FLOAT32
  T#262(MobileNetV3Large_1/flatten_1_1/Reshape) shape_signature:[-1, 1000], type:FLOAT32
  T#263(StatefulPartitionedCall_1:0) shape_signature:[-1, 1000], type:FLOAT32

---------------------------------------------------------------
Your TFLite model has '1' signature_def(s).

Signature#0 key: 'serving_default'

- Subgraph: Subgraph#0
- Inputs: 
    'keras_tensor_5' : T#0
- Outputs: 
    'output_0' : T#263

---------------------------------------------------------------
              Model size:   21930336 bytes
    Non-data buffer size:      46804 bytes (00.21 %)
  Total data buffer size:   21883532 bytes (99.79 %)
    (Zero value buffers):          0 bytes (00.00 %)

* Buffers of TFLite model are mostly used for constant tensors.
  And zero value buffers are buffers filled with zeros.
  Non-data buffers area are used to store operators, subgraphs and etc.
  You can find more details from https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/schema/schema.fbs

Check GPU delegate compatibility

The ModelAnalyzer API provides a way to check the GPU delegate compatibility of the given model by providing gpu_compatibility=True option.

Case 1: When model is incompatibile

The following code shows a way to use gpu_compatibility=True option for simple tf.function which uses tf.slice with a 2D tensor and tf.cosh which are not compatible with GPU delegate.

You will see GPU COMPATIBILITY WARNING per every node which has compatibility issue(s).

import tensorflow as tf

@tf.function(input_signature=[
    tf.TensorSpec(shape=[4, 4], dtype=tf.float32)
])
def func(x):
  return tf.cosh(x) + tf.slice(x, [1, 1], [1, 1])

converter = tf.lite.TFLiteConverter.from_concrete_functions(
    [func.get_concrete_function()], func)
converter.target_spec.supported_ops = [
    tf.lite.OpsSet.TFLITE_BUILTINS,
    tf.lite.OpsSet.SELECT_TF_OPS,
]
fb_model = converter.convert()

tf.lite.experimental.Analyzer.analyze(model_content=fb_model, gpu_compatibility=True)
=== TFLite ModelAnalyzer ===

Your TFLite model has '1' subgraph(s). In the subgraph description below,
T# represents the Tensor numbers. For example, in Subgraph#0, the FlexCosh op takes
tensor #0 as input and produces tensor #2 as output.

Subgraph#0 main(T#0) -> [T#4]
  Op#0 FlexCosh(T#0) -> [T#2]
GPU COMPATIBILITY WARNING: Not supported custom op FlexCosh
  Op#1 SLICE(T#0, T#1[1, 1], T#1[1, 1]) -> [T#3]
GPU COMPATIBILITY WARNING: SLICE supports for 3 or 4 dimensional tensors only, but node has 2 dimensional tensors.
  Op#2 ADD(T#2, T#3) -> [T#4]

GPU COMPATIBILITY WARNING: Subgraph#0 has GPU delegate compatibility issues at nodes 0, 1 on TFLite runtime version 2.17.0

Tensors of Subgraph#0
  T#0(x) shape:[4, 4], type:FLOAT32
  T#1(arith.constant) shape:[2], type:INT32 RO 8 bytes, buffer: 2, data:[1, 1]
  T#2(Cosh) shape:[4, 4], type:FLOAT32
  T#3(Slice) shape:[1, 1], type:FLOAT32
  T#4(Identity) shape:[4, 4], type:FLOAT32

---------------------------------------------------------------
              Model size:       1140 bytes
    Non-data buffer size:       1012 bytes (88.77 %)
  Total data buffer size:        128 bytes (11.23 %)
    (Zero value buffers):          0 bytes (00.00 %)

* Buffers of TFLite model are mostly used for constant tensors.
  And zero value buffers are buffers filled with zeros.
  Non-data buffers area are used to store operators, subgraphs and etc.
  You can find more details from https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/schema/schema.fbs
I0000 00:00:1721388466.730413   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.733070   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.735514   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.738015   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.740435   13762 devices.cc:67] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 4
I0000 00:00:1721388466.740882   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.742929   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.744821   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.746860   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.748802   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.750807   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.752686   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.754681   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.756641   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.758657   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.760555   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.762533   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.764618   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.766693   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.768614   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.770586   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.772545   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.774566   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.776509   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
I0000 00:00:1721388466.778530   13762 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
W0000 00:00:1721388466.804019   13762 tf_tfl_flatbuffer_helpers.cc:392] Ignored output_format.
W0000 00:00:1721388466.804047   13762 tf_tfl_flatbuffer_helpers.cc:395] Ignored drop_control_dependency.
2024-07-19 11:27:46.820385: W tensorflow/compiler/mlir/lite/flatbuffer_export.cc:3463] TFLite interpreter needs to link Flex delegate in order to run the model since it contains the following Select TFop(s):
Flex ops: FlexCosh
Details:
    tf.Cosh(tensor<4x4xf32>) -> (tensor<4x4xf32>) : {device = ""}
See instructions: https://www.tensorflow.org/lite/guide/ops_select

Case 2: When model is compatibile

In this example, the given model is compatbile with GPU delegate.

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(128, 128)),
  tf.keras.layers.Dense(256, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10)
])

fb_model = tf.lite.TFLiteConverter.from_keras_model(model).convert()

tf.lite.experimental.Analyzer.analyze(model_content=fb_model, gpu_compatibility=True)
/tmpfs/src/tf_docs_env/lib/python3.9/site-packages/keras/src/layers/reshaping/flatten.py:37: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.
  super().__init__(**kwargs)
INFO:tensorflow:Assets written to: /tmpfs/tmp/tmp62e94n92/assets
INFO:tensorflow:Assets written to: /tmpfs/tmp/tmp62e94n92/assets
Saved artifact at '/tmpfs/tmp/tmp62e94n92'. The following endpoints are available:

* Endpoint 'serve'
  args_0 (POSITIONAL_ONLY): TensorSpec(shape=(None, 128, 128), dtype=tf.float32, name='keras_tensor_215')
Output Type:
  TensorSpec(shape=(None, 10), dtype=tf.float32, name=None)
Captures:
  140401615778912: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140401615779616: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140401615780672: TensorSpec(shape=(), dtype=tf.resource, name=None)
  140406936389056: TensorSpec(shape=(), dtype=tf.resource, name=None)
W0000 00:00:1721388467.162677   13762 tf_tfl_flatbuffer_helpers.cc:392] Ignored output_format.
W0000 00:00:1721388467.162703   13762 tf_tfl_flatbuffer_helpers.cc:395] Ignored drop_control_dependency.
=== TFLite ModelAnalyzer ===

Your TFLite model has '1' subgraph(s). In the subgraph description below,
T# represents the Tensor numbers. For example, in Subgraph#0, the RESHAPE op takes
tensor #0 and tensor #3 as input and produces tensor #4 as output.

Subgraph#0 main(T#0) -> [T#6]
  Op#0 RESHAPE(T#0, T#3[-1, 16384]) -> [T#4]
  Op#1 FULLY_CONNECTED(T#4, T#2, T#-1) -> [T#5]
  Op#2 FULLY_CONNECTED(T#5, T#1, T#-1) -> [T#6]

Tensors of Subgraph#0
  T#0(serving_default_keras_tensor_215:0) shape_signature:[-1, 128, 128], type:FLOAT32
  T#1(arith.constant) shape:[10, 256], type:FLOAT32 RO 10240 bytes, buffer: 2, data:[0.0262714, -0.00773203, -0.0964963, -0.0102322, -0.0330515, ...]
  T#2(arith.constant1) shape:[256, 16384], type:FLOAT32 RO 16777216 bytes, buffer: 3, data:[-0.00830283, -0.000614734, 0.00744855, 0.00309602, -0.00465189, ...]
  T#3(arith.constant2) shape:[2], type:INT32 RO 8 bytes, buffer: 4, data:[-1, 16384]
  T#4(sequential_1_1/flatten_2_1/Reshape) shape_signature:[-1, 16384], type:FLOAT32
  T#5(sequential_1_1/dense_2_1/MatMul;sequential_1_1/dense_2_1/Relu;sequential_1_1/dense_2_1/Add) shape_signature:[-1, 256], type:FLOAT32
  T#6(StatefulPartitionedCall_1:0) shape_signature:[-1, 10], type:FLOAT32


Your model looks compatible with GPU delegate on TFLite runtime version 2.17.0.
This does not guarantee that your model will work well with GPU delegate because there could still be runtime incompatibililties.
---------------------------------------------------------------
Your TFLite model has '1' signature_def(s).

Signature#0 key: 'serving_default'

- Subgraph: Subgraph#0
- Inputs: 
    'keras_tensor_215' : T#0
- Outputs: 
    'output_0' : T#6

---------------------------------------------------------------
              Model size:   16789056 bytes
    Non-data buffer size:       1480 bytes (00.01 %)
  Total data buffer size:   16787576 bytes (99.99 %)
    (Zero value buffers):          0 bytes (00.00 %)

* Buffers of TFLite model are mostly used for constant tensors.
  And zero value buffers are buffers filled with zeros.
  Non-data buffers area are used to store operators, subgraphs and etc.
  You can find more details from https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/schema/schema.fbs