Keras incompatible with Tensorflow, because out of date
Description:
Additional info:
- package version(s):
tensorflow 2.16.1-6 python-tensorflow 2.16.1-6 python-keras 2.15.0-2
- config and/or log files:
Here I am trying out keras_cv which fails with that stack trace:
File "stable_diffusion.py", line 9, in generate
import keras_cv
File "/usr/lib/python3.12/site-packages/keras_cv/__init__.py", line 10, in <module>
from keras_cv.api import * # noqa: F403
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/keras_cv/api/__init__.py", line 7, in <module>
from keras_cv.api import bounding_box
File "/usr/lib/python3.12/site-packages/keras_cv/api/bounding_box/__init__.py", line 7, in <module>
from keras_cv.src.bounding_box.converters import convert_format
File "/usr/lib/python3.12/site-packages/keras_cv/src/__init__.py", line 30, in <module>
from keras_cv.src import bounding_box # noqa: E402
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/keras_cv/src/bounding_box/__init__.py", line 15, in <module>
from keras_cv.src.bounding_box.converters import _decode_deltas_to_boxes
File "/usr/lib/python3.12/site-packages/keras_cv/src/bounding_box/converters.py", line 19, in <module>
from keras_cv.src.api_export import keras_cv_export
File "/usr/lib/python3.12/site-packages/keras_cv/src/api_export.py", line 17, in <module>
from keras_cv.src.backend import keras
File "/usr/lib/python3.12/site-packages/keras_cv/src/backend/__init__.py", line 31, in <module>
import keras_cv.src.backend.keras2 as keras # noqa: E402
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/keras_cv/src/backend/keras2.py", line 18, in <module>
from tensorflow.keras import * # noqa: F403, F401
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/keras/api/_v2/keras/__init__.py", line 3, in <module>
from keras.api._v2.keras import __internal__
File "/usr/lib/python3.12/site-packages/keras/__init__.py", line 3, in <module>
from keras import __internal__
File "/usr/lib/python3.12/site-packages/keras/__internal__/__init__.py", line 6, in <module>
from keras.__internal__ import models
File "/usr/lib/python3.12/site-packages/keras/__internal__/models/__init__.py", line 3, in <module>
from keras.src.models.cloning import clone_and_build_model
File "/usr/lib/python3.12/site-packages/keras/src/__init__.py", line 21, in <module>
from keras.src import applications
File "/usr/lib/python3.12/site-packages/keras/src/applications/__init__.py", line 18, in <module>
from keras.src.applications.convnext import ConvNeXtBase
File "/usr/lib/python3.12/site-packages/keras/src/applications/convnext.py", line 33, in <module>
from keras.src.engine import sequential
File "/usr/lib/python3.12/site-packages/keras/src/engine/sequential.py", line 24, in <module>
from keras.src.engine import functional
File "/usr/lib/python3.12/site-packages/keras/src/engine/functional.py", line 33, in <module>
from keras.src.engine import training as training_lib
File "/usr/lib/python3.12/site-packages/keras/src/engine/training.py", line 48, in <module>
from keras.src.saving import saving_api
File "/usr/lib/python3.12/site-packages/keras/src/saving/saving_api.py", line 25, in <module>
from keras.src.saving.legacy import save as legacy_sm_saving_lib
File "/usr/lib/python3.12/site-packages/keras/src/saving/legacy/save.py", line 27, in <module>
from keras.src.saving.legacy.saved_model import load_context
File "/usr/lib/python3.12/site-packages/keras/src/saving/legacy/saved_model/load_context.py", line 68, in <module>
tf.__internal__.register_load_context_function(in_load_context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'tensorflow._api.v2.compat.v2.__internal__' has no attribute 'register_load_context_function'. Did you mean: 'register_call_context_function'?
If I install it in a venv everything works fine. It pulls in keras 3.3.3, though, which doesn't ask for register_load_context_function(). Tensorflow 2.16.1 from PyPI locks Keras to that version, so I suppose that is the correct one.