sorenbouma/keras-oneshot

LOAD ERROR

Closed this issue · 1 comments

Thanks for your implementation!!
When I load the saved model, it has always been wrong. It always says:Unknown initializer: W_init.....
Could you please help me to solve it? Thanks very much!

File "run.py", line 73, in
siamese_net = load_model('siamese.h5')
File "/home/qian/.local/lib/python2.7/site-packages/keras/models.py", line 240, in load_model
model = model_from_config(model_config, custom_objects=custom_objects)
File "/home/qian/.local/lib/python2.7/site-packages/keras/models.py", line 301, in model_from_config
return layer_module.deserialize(config, custom_objects=custom_objects)
File "/home/qian/.local/lib/python2.7/site-packages/keras/layers/init.py", line 46, in deserialize
printable_module_name='layer')
File "/home/qian/.local/lib/python2.7/site-packages/keras/utils/generic_utils.py", line 140, in deserialize_keras_object
list(custom_objects.items())))
File "/home/qian/.local/lib/python2.7/site-packages/keras/engine/topology.py", line 2400, in from_config
process_layer(layer_data)
File "/home/qian/.local/lib/python2.7/site-packages/keras/engine/topology.py", line 2369, in process_layer
custom_objects=custom_objects)
File "/home/qian/.local/lib/python2.7/site-packages/keras/layers/init.py", line 46, in deserialize
printable_module_name='layer')
File "/home/qian/.local/lib/python2.7/site-packages/keras/utils/generic_utils.py", line 140, in deserialize_keras_object
list(custom_objects.items())))
File "/home/qian/.local/lib/python2.7/site-packages/keras/models.py", line 1199, in from_config
layer = layer_module.deserialize(conf, custom_objects=custom_objects)
File "/home/qian/.local/lib/python2.7/site-packages/keras/layers/init.py", line 46, in deserialize
printable_module_name='layer')
File "/home/qian/.local/lib/python2.7/site-packages/keras/utils/generic_utils.py", line 141, in deserialize_keras_object
return cls.from_config(config['config'])
File "/home/qian/.local/lib/python2.7/site-packages/keras/engine/topology.py", line 1231, in from_config
return cls(**config)
File "/home/qian/.local/lib/python2.7/site-packages/keras/legacy/interfaces.py", line 88, in wrapper
return func(*args, **kwargs)
File "/home/qian/.local/lib/python2.7/site-packages/keras/layers/convolutional.py", line 455, in init
**kwargs)
File "/home/qian/.local/lib/python2.7/site-packages/keras/layers/convolutional.py", line 110, in init
self.kernel_initializer = initializers.get(kernel_initializer)
File "/home/qian/.local/lib/python2.7/site-packages/keras/initializers.py", line 466, in get
return deserialize(config)
File "/home/qian/.local/lib/python2.7/site-packages/keras/initializers.py", line 458, in deserialize
printable_module_name='initializer')
File "/home/qian/.local/lib/python2.7/site-packages/keras/utils/generic_utils.py", line 133, in deserialize_keras_object
': ' + class_name)
ValueError:Unknown initializer: W_init

It looks like you're trying to load a saved model in another script, but it's not finding W_init, (the custom initializer defined in the jupyter notebook). There are two solutions I would try first:

  1. copy and paste the definition of W_init and b_init into your script
  2. If that doesn't work, modify the jupyter notebook to use built in keras initializers instead of W_init and b_init and train again.

Please tell me if this works for you!