web-dev-qa-db-fra.com

Keras load_model retournant un argument de mot clé inattendu transmis à l'optimiseur: amsgrad

J'essaie de charger un modèle formé avec des keras en exécutant:

model = load_model('model.h5')

mais je reçois ce qui suit:

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

J'utilise Keras 2.1.2 et tensorflow 1.4.1

6
Alessandro Gaballo

AMSgrad a été ajouté le 11.12.2017 à Keras https://github.com/keras-team/keras/pull/869 tandis que Keras 2.1.2 a été construit le 01.12.2017 https://github.com/keras-team/keras/releases/tag/2.1.2

Vous devez donc attendre la prochaine version ou installer Keras à partir de zéro si le modèle l'utilise.

11
sladomic

Keras version 2.1.3 est requis pour que vous puissiez simplement utiliser

pip install keras==2.1.3
8
AlexConfused