Keras load_model返回传递给优化器的意外关键字参数:amsgrad

Ale*_*llo 5 python keras tensorflow

我正在尝试通过运行来加载使用keras训练的模型:

model = load_model('model.h5')
Run Code Online (Sandbox Code Playgroud)

但我得到以下内容:

File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/dist-packages/keras/models.py", line 258, in load_model
custom_objects=custom_objects)
File "/usr/local/lib/python3.5/dist-packages/keras/optimizers.py", line 689, in deserialize
printable_module_name='optimizer')
File "/usr/local/lib/python3.5/dist-packages/keras/utils/generic_utils.py", line 142, in deserialize_keras_object
return cls.from_config(config['config'])
File "/usr/local/lib/python3.5/dist-packages/keras/optimizers.py", line 127, in from_config
return cls(**config)
File "/usr/local/lib/python3.5/dist-packages/keras/optimizers.py", line 403, in __init__
super(Adam, self).__init__(**kwargs)
File "/usr/local/lib/python3.5/dist-packages/keras/optimizers.py", line 63, in __init__
'passed to optimizer: ' + str(k))
TypeError: Unexpected keyword argument passed to optimizer: amsgrad
Run Code Online (Sandbox Code Playgroud)

我正在使用Keras 2.1.2和tensorflow 1.4.1

sla*_*mic 11

AMSgrad已于2017年12月11日添加到Keras https://github.com/keras-team/keras/pull/8693,而Keras 2.1.2已于01.12.2017建立https://github.com/keras-team /keras/releases/tag/2.1.2

因此,如果模型使用它,您需要等待下一个版本或从头开始安装Keras.

  • 是的,它应该存在,因为Keras 2.1.3 https://github.com/keras-team/keras/releases/tag/2.1.3 (2认同)

Ale*_*sed 8

Keras版本2.1.3是必需的,所以你可以去

pip install keras==2.1.3
Run Code Online (Sandbox Code Playgroud)