keras

Keras loading the model: TypeError: too many positional arguments


When loading the model I am getting:

TypeError: too many positional arguments
    model = load_model(model_path)
                            ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/moo/code/xxx/.venv/lib/python3.11/site-packages/keras/src/saving/saving_api.py", line 196, in load_model
    return legacy_h5_format.load_model_from_hdf5(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/moo/code/xxx/.venv/lib/python3.11/site-packages/keras/src/legacy/saving/legacy_h5_format.py", line 133, in load_model_from_hdf5
    model = saving_utils.model_from_config(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/moo/code/xxx/.venv/lib/python3.11/site-packages/keras/src/legacy/saving/saving_utils.py", line 85, in model_from_config
    return serialization.deserialize_keras_object(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/moo/code/xxx/.venv/lib/python3.11/site-packages/keras/src/legacy/saving/serialization.py", line 495, in deserialize_keras_object
    deserialized_obj = cls.from_config(
                       ^^^^^^^^^^^^^^^^
  File "/Users/moo/code/xxx/.venv/lib/python3.11/site-packages/keras/src/models/model.py", line 582, in from_config
    return functional_from_config(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/moo/code/xxx/.venv/lib/python3.11/site-packages/keras/src/models/functional.py", line 570, in functional_from_config
    process_node(layer, node_data)
  File "/Users/moo/code/xxx/.venv/lib/python3.11/site-packages/keras/src/models/functional.py", line 505, in process_node
    layer(*args, **kwargs)
  File "/Users/moo/code/xxx/.venv/lib/python3.11/site-packages/keras/src/utils/traceback_utils.py", line 122, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "/Users/moo/.pyenv/versions/3.11.10/lib/python3.11/inspect.py", line 3195, in bind
    return self._bind(args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/moo/.pyenv/versions/3.11.10/lib/python3.11/inspect.py", line 3116, in _bind
    raise TypeError('too many positional arguments') from None

What could be wrong?


Solution

  • The legacy HD5 model format has issues.

    Switch saving the model using native .keras format.