■やりたいこと
kerasの学習済データを保存し、読み込みをしたい
(が、エラー(ValueError: Unknown initializer: weight_variable)になる)
環境は、Ubuntu16,python3.6,keras2.1.3です。
■概要
ソースA.pyで学習済モデルを保存し、ソースB.pyで学習済モデルと読み込もうとしています。
ソースAで次のように記述しています。
python
1#パラメータ保存 2model.save('keras_model/FX_model.hdf5')
ソースBで次のように記述しています。
python
1model = load_model('keras_model/FX_model.hdf5')
ソースBを実行すると次のエラーが発生します。
ValueErrorTraceback (most recent call last) <ipython-input-3-5b6e6f5db31a> in <module>() ----> 1 model = load_model('keras_model/FX_model.hdf5') ~/anaconda3/lib/python3.6/site-packages/keras/models.py in load_model(filepath, custom_objects, compile) 241 raise ValueError('No model found in config file.') 242 model_config = json.loads(model_config.decode('utf-8')) --> 243 model = model_from_config(model_config, custom_objects=custom_objects) 244 245 # set weights ~/anaconda3/lib/python3.6/site-packages/keras/models.py in model_from_config(config, custom_objects) 315 'Maybe you meant to use ' 316 '`Sequential.from_config(config)`?') --> 317 return layer_module.deserialize(config, custom_objects=custom_objects) 318 319 ~/anaconda3/lib/python3.6/site-packages/keras/layers/__init__.py in deserialize(config, custom_objects) 53 module_objects=globs, 54 custom_objects=custom_objects, ---> 55 printable_module_name='layer') ~/anaconda3/lib/python3.6/site-packages/keras/utils/generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name) 141 return cls.from_config(config['config'], 142 custom_objects=dict(list(_GLOBAL_CUSTOM_OBJECTS.items()) + --> 143 list(custom_objects.items()))) 144 with CustomObjectScope(custom_objects): 145 return cls.from_config(config['config']) ~/anaconda3/lib/python3.6/site-packages/keras/models.py in from_config(cls, config, custom_objects) 1350 model = cls() 1351 for conf in config: -> 1352 layer = layer_module.deserialize(conf, custom_objects=custom_objects) 1353 model.add(layer) 1354 return model ~/anaconda3/lib/python3.6/site-packages/keras/layers/__init__.py in deserialize(config, custom_objects) 53 module_objects=globs, 54 custom_objects=custom_objects, ---> 55 printable_module_name='layer') ~/anaconda3/lib/python3.6/site-packages/keras/utils/generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name) 143 list(custom_objects.items()))) 144 with CustomObjectScope(custom_objects): --> 145 return cls.from_config(config['config']) 146 else: 147 # Then `cls` may be a function returning a class. ~/anaconda3/lib/python3.6/site-packages/keras/layers/recurrent.py in from_config(cls, config) 2127 if 'implementation' in config and config['implementation'] == 0: 2128 config['implementation'] = 1 -> 2129 return cls(**config) 2130 2131 ~/anaconda3/lib/python3.6/site-packages/keras/legacy/interfaces.py in wrapper(*args, **kwargs) 89 warnings.warn('Update your `' + object_name + 90 '` call to the Keras 2 API: ' + signature, stacklevel=2) ---> 91 return func(*args, **kwargs) 92 wrapper._original_function = func 93 return wrapper ~/anaconda3/lib/python3.6/site-packages/keras/layers/recurrent.py in __init__(self, units, activation, recurrent_activation, use_bias, kernel_initializer, recurrent_initializer, bias_initializer, unit_forget_bias, kernel_regularizer, recurrent_regularizer, bias_regularizer, activity_regularizer, kernel_constraint, recurrent_constraint, bias_constraint, dropout, recurrent_dropout, implementation, return_sequences, return_state, go_backwards, stateful, unroll, **kwargs) 2014 dropout=dropout, 2015 recurrent_dropout=recurrent_dropout, -> 2016 implementation=implementation) 2017 super(LSTM, self).__init__(cell, 2018 return_sequences=return_sequences, ~/anaconda3/lib/python3.6/site-packages/keras/layers/recurrent.py in __init__(self, units, activation, recurrent_activation, use_bias, kernel_initializer, recurrent_initializer, bias_initializer, unit_forget_bias, kernel_regularizer, recurrent_regularizer, bias_regularizer, kernel_constraint, recurrent_constraint, bias_constraint, dropout, recurrent_dropout, implementation, **kwargs) 1695 self.use_bias = use_bias 1696 -> 1697 self.kernel_initializer = initializers.get(kernel_initializer) 1698 self.recurrent_initializer = initializers.get(recurrent_initializer) 1699 self.bias_initializer = initializers.get(bias_initializer) ~/anaconda3/lib/python3.6/site-packages/keras/initializers.py in get(identifier) 496 elif isinstance(identifier, six.string_types): 497 config = {'class_name': str(identifier), 'config': {}} --> 498 return deserialize(config) 499 elif callable(identifier): 500 return identifier ~/anaconda3/lib/python3.6/site-packages/keras/initializers.py in deserialize(config, custom_objects) 488 module_objects=globals(), 489 custom_objects=custom_objects, --> 490 printable_module_name='initializer') 491 492 ~/anaconda3/lib/python3.6/site-packages/keras/utils/generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name) 135 if cls is None: 136 raise ValueError('Unknown ' + printable_module_name + --> 137 ': ' + class_name) 138 if hasattr(cls, 'from_config'): 139 custom_objects = custom_objects or {} ValueError: Unknown initializer: weight_variable
Keras modelを保存するには?を参考に書いてみたのですが、どのように解決すればよろしいでしょうか。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/05 16:48