Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Keras load_model returning Unexpected keyword argument passed to optimizer: amsgrad

I'm trying to load a model trained with keras by running:

model = load_model('model.h5')

but I get the following:

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

I'm using Keras 2.1.2 and tensorflow 1.4.1

like image 517
Alessandro Gaballo Avatar asked Jan 15 '18 18:01

Alessandro Gaballo


2 Answers

AMSgrad has been added on 11.12.2017 to Keras https://github.com/keras-team/keras/pull/8693 whereas Keras 2.1.2 has been built on 01.12.2017 https://github.com/keras-team/keras/releases/tag/2.1.2

So either you need to wait on the next release or install Keras from scratch if the model uses it.

like image 128
sladomic Avatar answered Oct 21 '22 06:10

sladomic


Keras version 2.1.3 is required so you could just go with

pip install keras==2.1.3
like image 41
AlexConfused Avatar answered Oct 21 '22 06:10

AlexConfused