keras.models load_model 中的 TypeError('关键字参数不理解:', 'groups')

Luc*_*chi 7 python keras tensorflow google-colaboratory

使用 Google Colab 训练模型后,我使用以下命令(在 Google Colab 中)下载了它:

model.save('model.h5')
from google.colab import files
files.download('model.h5')
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我尝试使用本地机器(在 Google Colab 之外)加载下载的model.h5 时,出现以下错误:

[输入]

from keras.models import load_model
model = load_model(model.h5)
Run Code Online (Sandbox Code Playgroud)

[输出]

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    model = load_model(filepath = 'saved_model/model2.h5',custom_objects=None,compile=True, )
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/saving/save.py", line 184, in load_model
    return hdf5_format.load_model_from_hdf5(filepath, custom_objects, compile)
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/saving/hdf5_format.py", line 177, in load_model_from_hdf5
    model = model_config_lib.model_from_config(model_config,
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/saving/model_config.py", line 55, in model_from_config
    return deserialize(config, custom_objects=custom_objects)
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/layers/serialization.py", line 105, in deserialize
    return deserialize_keras_object(
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/utils/generic_utils.py", line 369, in deserialize_keras_object
    return cls.from_config(
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/engine/sequential.py", line 397, in from_config
    layer = layer_module.deserialize(layer_config,
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/layers/serialization.py", line 105, in deserialize
    return deserialize_keras_object(
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/utils/generic_utils.py", line 375, in deserialize_keras_object
    return cls.from_config(cls_config)
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/engine/base_layer.py", line 655, in from_config
    return cls(**config)
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/layers/convolutional.py", line 582, in __init__
    super(Conv2D, self).__init__(
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/layers/convolutional.py", line 121, in __init__
    super(Conv, self).__init__(
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/training/tracking/base.py", line 456, in _method_wrapper
    result = method(self, *args, **kwargs)
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/engine/base_layer.py", line 294, in __init__
    generic_utils.validate_kwargs(kwargs, allowed_kwargs)
  File "/home/lucasmirachi/anaconda3/envs/myenviron/lib/python3.8/site-packages/tensorflow/python/keras/utils/generic_utils.py", line 792, in validate_kwargs
    raise TypeError(error_message, kwarg)
TypeError: ('Keyword argument not understood:', 'groups')
Run Code Online (Sandbox Code Playgroud)

有谁知道这个“组”关键字参数不被理解?而不是使用from keras.models我尝试使用from tensorflow.keras.models但我没有成功,我得到了同样的错误。在 Google Colab 和我的本地机器上,我都在运行 Keras '2.4.3'

谢谢大家!

Sam*_*ner 9

我之前评论过说我做同样的事情会犯同样的错误。我只是通过在本地机器上升级 tensorflow 和 keras 来解决它

pip install --upgrade tensorflow
pip install --upgrade keras
Run Code Online (Sandbox Code Playgroud)

该错误可能是由于 Colab 和本地机器之间的软件包版本不同。希望这对你也有用。