Can't load model with tf-nightly if the model was saved with tf 2.15
Moved to keras github issues.  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/62836">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/62836">No</a>

### Issue type

Bug

### Have you reproduced the bug with TensorFlow Nightly?

Yes

### Source

binary

### TensorFlow version

2.15

### Custom code

No

### OS platform and distribution

_No response_

### Mobile device

_No response_

### Python version

_No response_

### Bazel version

_No response_

### GCC/compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current behavior?

Hello,

I have a model that I saved using tf 2.15 version.
When trying to load it using tf-nightly I'm getting the following error:

ImportError: cannot import name 'is_tensor_or_tensor_list' from 'keras.src.utils.tf_utils' (/usr/local/lib/python3.10/dist-packages/keras/src/utils/tf_utils.py)

### Standalone code to reproduce the issue
Save model with **TF2.15**:

```shell

import tensorflow as tf
import keras
_in = keras.layers.Input(shape=(8, 8, 3))
_out = keras.layers.Conv2D(3, 3)(_in)
model = keras.Model(inputs=_in, outputs=_out)

modelpath = f'model.keras'
model.save(modelpath)
```

Load model with **tf-nightly**:
```
import keras
import tensorflow as tf
modelpath = f'model.keras'
loaded_model = keras.models.load_model(modelpath)

```


### Relevant log output

```shell
----> 5 loaded_model = keras.models.load_model(modelpath)

/usr/local/lib/python3.10/dist-packages/keras/src/saving/saving_api.py in load_model(filepath, custom_objects, compile, safe_mode)
    174 
    175     if is_keras_zip:
--> 176         return saving_lib.load_model(
    177             filepath,
    178             custom_objects=custom_objects,

/usr/local/lib/python3.10/dist-packages/keras/src/saving/saving_lib.py in load_model(filepath, custom_objects, compile, safe_mode)
    151         # Construct the model from the configuration file in the archive.
    152         with ObjectSharingScope():
--> 153             model = deserialize_keras_object(
    154                 config_dict, custom_objects, safe_mode=safe_mode
    155             )

/usr/local/lib/python3.10/dist-packages/keras/src/saving/serialization_lib.py in deserialize_keras_object(config, custom_objects, safe_mode, **kwargs)
    681             return obj
    682 
--> 683     cls = _retrieve_class_or_fn(
    684         class_name,
    685         registered_name,

/usr/local/lib/python3.10/dist-packages/keras/src/saving/serialization_lib.py in _retrieve_class_or_fn(name, registered_name, module, obj_type, full_config, custom_objects)
    783         # and `class_name`. Import the module, find the class.
    784         try:
--> 785             mod = importlib.import_module(module)
    786         except ModuleNotFoundError:
    787             raise TypeError(

/usr/lib/python3.10/importlib/__init__.py in import_module(name, package)
    124                 break
    125             level += 1
--> 126     return _bootstrap._gcd_import(name[level:], package, level)
    127 
    128 

/usr/lib/python3.10/importlib/_bootstrap.py in _gcd_import(name, package, level)

/usr/lib/python3.10/importlib/_bootstrap.py in _find_and_load(name, import_)

/usr/lib/python3.10/importlib/_bootstrap.py in _find_and_load_unlocked(name, import_)

/usr/lib/python3.10/importlib/_bootstrap.py in _load_unlocked(spec)

/usr/lib/python3.10/importlib/_bootstrap_external.py in exec_module(self, module)

/usr/lib/python3.10/importlib/_bootstrap.py in _call_with_frames_removed(f, *args, **kwds)

/usr/local/lib/python3.10/dist-packages/keras/src/engine/functional.py in <module>
     24 
     25 from keras.src import backend
---> 26 from keras.src.dtensor import layout_map as layout_map_lib
     27 from keras.src.engine import base_layer
     28 from keras.src.engine import base_layer_utils

/usr/local/lib/python3.10/dist-packages/keras/src/dtensor/layout_map.py in <module>
     25 from keras.src.dtensor import lazy_variable
     26 from keras.src.dtensor import utils
---> 27 from keras.src.engine import base_layer
     28 
     29 # isort: off

/usr/local/lib/python3.10/dist-packages/keras/src/engine/base_layer.py in <module>
     52 # A module that only depends on `keras.layers` import these from here.
     53 from keras.src.utils.generic_utils import to_snake_case  # noqa: F401
---> 54 from keras.src.utils.tf_utils import is_tensor_or_tensor_list  # noqa: F401
     55 
     56 # isort: off

ImportError: cannot import name 'is_tensor_or_tensor_list' from 'keras.src.utils.tf_utils' (/usr/local/lib/python3.10/dist-packages/keras/src/utils/tf_utils.py)
```
