【问题标题】:TypeError('Keyword argument not understood:', 'groups') in keras.models load_modelkeras.models load_model中的TypeError('关键字参数不理解:','组')
【发布时间】:2020-11-28 04:19:21
【问题描述】:

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

model.save('model.h5')
from google.colab import files
files.download('model.h5')

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

[输入]

from keras.models import load_model
model = load_model(model.h5)

[输出]

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')

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

提前谢谢大家!

【问题讨论】:

  • 你在 colab 中使用 tf.keras 吗?
  • 我试过在 colab 中使用 tf.keras 和只有 keras 并且遇到了同样的问题
  • 您需要在 colab 和您的本地系统中同时使用 kerastf.keras,因为它们不能相互使用。因此,如果您将 colab 与 tf.keras 一起使用,则仅将本地与 tf.keras 一起使用,反之亦然。
  • 我刚刚下载了两个模型(一个使用keras,一个使用tensorflow.keras)并尝试使用from keras.models import load_modelfrom tensorflow.keras.models import load_model 将其加载到我的本地计算机上,并得到相同的错误消息.
  • 我在做同样的事情时得到了同样的错误(在 Colab 中构建和下载,然后尝试在我的本地机器上加载它)。我对两个笔记本都使用了 tensorflow.keras。

标签: python tensorflow keras google-colaboratory


【解决方案1】:

我之前评论说我在做同样的事情时遇到了同样的错误。我刚刚通过升级本地机器上的 tensorflow 和 keras 解决了这个问题

pip install --upgrade tensorflow
pip install --upgrade keras

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

【讨论】:

【解决方案2】:

我遇到了同样的问题,因为我使用不同版本的 tensorflow 保存和加载模型。我用 tf 2.3.0 保存了一个模型,然后用 tf 2.1.0 加载它。

我确保保存和加载都使用相同的 venv,这为我解决了问题。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,所以我在 google-colaboratory 中检查了 tensorflow 和 keras 的版本,发现如下:

    我通过在我的 anaconda 环境中使用以下命令安装 tensorflow 和 keras 解决了这个问题:

    pip install tensorflow-gpu==2.4.1
    pip install Keras==2.4.3
    

    【讨论】:

      猜你喜欢
      • 2020-12-09
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      • 2021-08-17
      • 2018-12-29
      • 2021-01-28
      • 1970-01-01
      相关资源
      最近更新 更多