Keras model with Sparse Input failed to process symbolic Sparse Input after being saved and loaded again
@diwen 
This issue seems to be a keras issue.Please post this issue on [keras-team/keras repo.](https://github.com/keras-team/keras/issues)
To know more see;
[https://discuss.tensorflow.org/t/keras-project-moved-to-new-repository-in-https-github-com-keras-team-keras/1999](https://discuss.tensorflow.org/t/keras-project-moved-to-new-repository-in-https-github-com-keras-team-keras/1999).

Thank you! @diwen Thanks for reaching out regarding this issue! We recommend using the newer `.keras` format in TF 2.12. Please install TF 2.12 first and then try this format, as it is may solve many SavedModel related issues:

model_dir = "./test.keras"
model.save(model_dir, save_format="keras_v3")

Make sure to use the `.keras` extension when saving and pass the `save_format` flag. Please let me know if this works, thanks!
 I see. Thank you for the timely reply @nkovela1 and @tiruk007 ! Are you satisfied with the resolution of your issue?
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=Yes&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/60212">Yes</a>
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=No&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/60212">No</a>

<details><summary>Click to expand!</summary> 
 
 ### Issue Type

Bug

### Have you reproduced the bug with TF nightly?

Yes

### Source

binary

### Tensorflow Version

tf 2.4+

### Custom Code

Yes

### OS Platform and Distribution

CentOS 

### Mobile device

_No response_

### Python version

3.7

### Bazel version

_No response_

### GCC/Compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current Behaviour?

```shell
As shown in the test codes, we followed the official Google wiki to construct a Keras model with Sparse Input and validate that it can run infer on SparseTensor.

Then we save this model into SavedModel format and reload it. And we expect the loaded KerasLayer can be stitched into a new Keras model for finetuning.

However, we met with error when trying to run the KerasLayer with symbolic Sparse Input:
TypeError: signature_wrapper(*, args_0_1, args_0_2, args_0) missing required arguments: args_0, args_0_1, args_0_2

This error occurred in all TF versions from 2.4 to 2.11.
```


### Standalone code to reproduce the issue

```shell
import tensorflow as tf
import tensorflow_hub as hub

# Try Google official codes to construct a model
# https://www.tensorflow.org/guide/sparse_tensor#tfkeras
x = tf.keras.Input(shape=(1000,), sparse=True)
y = tf.keras.layers.Dense(4)(x)
model = tf.keras.Model(x, y)

sparse_data = tf.sparse.SparseTensor(
    indices = [(0,0),(0,1),(0,2),
               (4,3),(5,0),(5,1)],
    values = [1,1,1,1,1,1],
    dense_shape = (6,1000)
)
print(sparse_data)

print(model.predict(sparse_data))

model_dir = "./test"
model.save(model_dir)

model_1 = hub.KerasLayer(model_dir, trainable=False, signature="serving_default")

inputs = tf.keras.Input(shape=(1000,), sparse=True)
embs = model_1(inputs)
```


### Relevant log output

```shell
2023-04-03 11:56:06.381971: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
2023-04-03 11:56:09.089355: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set
2023-04-03 11:56:09.090767: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcuda.so.1
2023-04-03 11:56:09.100227: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1714] Found device 0 with properties: 
pciBusID: 0001:00:00.0 name: Tesla M60 computeCapability: 5.2
coreClock: 1.1775GHz coreCount: 16 deviceMemorySize: 7.94GiB deviceMemoryBandwidth: 149.31GiB/s
2023-04-03 11:56:09.100265: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
2023-04-03 11:56:09.106741: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcublas.so.11
2023-04-03 11:56:09.106802: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcublasLt.so.11
2023-04-03 11:56:09.110060: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcufft.so.10
2023-04-03 11:56:09.110473: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcurand.so.10
2023-04-03 11:56:09.113208: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcusolver.so.10
2023-04-03 11:56:09.114508: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcusparse.so.11
2023-04-03 11:56:09.114656: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcudnn.so.8'; dlerror: libcudnn.so.8: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /export/apps/xtools/oracle-instantclient
2023-04-03 11:56:09.114678: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1751] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
2023-04-03 11:56:09.115066: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-04-03 11:56:09.116084: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set
2023-04-03 11:56:09.116154: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1255] Device interconnect StreamExecutor with strength 1 edge matrix:
2023-04-03 11:56:09.116169: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261]      
SparseTensor(indices=tf.Tensor(
[[0 0]
 [0 1]
 [0 2]
 [4 3]
 [5 0]
 [5 1]], shape=(6, 2), dtype=int64), values=tf.Tensor([1 1 1 1 1 1], shape=(6,), dtype=int32), dense_shape=tf.Tensor([   6 1000], shape=(2,), dtype=int64))
2023-04-03 11:56:09.209265: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:116] None of the MLIR optimization passes are enabled (registered 2)
2023-04-03 11:56:09.209956: I tensorflow/core/platform/profile_utils/cpu_utils.cc:112] CPU Frequency: 2596985000 Hz
[[-0.01467296 -0.01330906  0.08810526 -0.08027062]
 [ 0.          0.          0.          0.        ]
 [ 0.          0.          0.          0.        ]
 [ 0.          0.          0.          0.        ]
 [-0.04658424  0.04584154 -0.06923811 -0.01754887]
 [-0.09175565 -0.05856525  0.04386244 -0.03397611]]
2023-04-03 11:56:09.322841: W tensorflow/python/util/util.cc:348] Sets are not currently considered sequences, but this may change in the future, so consider avoiding using them.
Traceback (most recent call last):
  File "test.py", line 30, in <module>
    embs = video_nhfc_model(inputs)
  File "/data/src/mmsearch-modeling/build/modeling-pcv2/environments/development-venv/lib/python3.7/site-packages/tensorflow/python/keras/engine/base_layer.py", line 952, in __call__
    input_list)
  File "/data/src/mmsearch-modeling/build/modeling-pcv2/environments/development-venv/lib/python3.7/site-packages/tensorflow/python/keras/engine/base_layer.py", line 1091, in _functional_construction_call
    inputs, input_masks, args, kwargs)
  File "/data/src/mmsearch-modeling/build/modeling-pcv2/environments/development-venv/lib/python3.7/site-packages/tensorflow/python/keras/engine/base_layer.py", line 822, in _keras_tensor_symbolic_call
    return self._infer_output_signature(inputs, args, kwargs, input_masks)
  File "/data/src/mmsearch-modeling/build/modeling-pcv2/environments/development-venv/lib/python3.7/site-packages/tensorflow/python/keras/engine/base_layer.py", line 863, in _infer_output_signature
    outputs = call_fn(inputs, *args, **kwargs)
  File "/data/src/mmsearch-modeling/build/modeling-pcv2/environments/development-venv/lib/python3.7/site-packages/tensorflow/python/autograph/impl/api.py", line 670, in wrapper
    raise e.ag_error_metadata.to_exception(e)
TypeError: in user code:

    /data/src/mmsearch-modeling/build/modeling-pcv2/environments/development-venv/lib/python3.7/site-packages/tensorflow_hub/keras_layer.py:237 call  *
        result = smart_cond.smart_cond(training,
    /data/src/mmsearch-modeling/build/modeling-pcv2/environments/development-venv/lib/python3.7/site-packages/tensorflow/python/eager/function.py:1669 __call__  **
        return self._call_impl(args, kwargs)
    /data/src/mmsearch-modeling/build/modeling-pcv2/environments/development-venv/lib/python3.7/site-packages/tensorflow/python/eager/function.py:1685 _call_impl
        raise structured_err
    /data/src/mmsearch-modeling/build/modeling-pcv2/environments/development-venv/lib/python3.7/site-packages/tensorflow/python/eager/function.py:1679 _call_impl
        cancellation_manager)
    /data/src/mmsearch-modeling/build/modeling-pcv2/environments/development-venv/lib/python3.7/site-packages/tensorflow/python/eager/function.py:1756 _call_with_structured_signature
        self._structured_signature_check_missing_args(args, kwargs)
    /data/src/mmsearch-modeling/build/modeling-pcv2/environments/development-venv/lib/python3.7/site-packages/tensorflow/python/eager/function.py:1780 _structured_signature_check_missing_args
        ", ".join(sorted(missing_arguments))))

    TypeError: signature_wrapper(*, args_0_1, args_0_2, args_0) missing required arguments: args_0, args_0_1, args_0_2
```
</details>