[英]Can't reload a trained resnet50 model from a h5 file
我是神經網絡的新手,我正在嘗試使用Keras來構建魚類分類器。 我得到了一個使用Keras和tensorflow-backend創建RESNET-50模型的python代碼,代碼使用model.save()來輸出h5文件。
我寫了另一個python文件來從h5文件重新加載RESNET-50模型。 我使用keras.models.load_model()來加載h5文件。 但python給我的錯誤信息如下,我不知道為什么。 請幫幫我,謝謝。
Traceback (most recent call last):
File "keras-cnn-predict.py", line 75, in <module>
model=keras.models.load_model(model_config_filename)
File "C:\Python\Python36\lib\site-packages\keras\engine\saving.py", line 419, in load_model
model = _deserialize_model(f, custom_objects, compile)
File "C:\Python\Python36\lib\site-packages\keras\engine\saving.py", line 225, in _deserialize_model
model = model_from_config(model_config, custom_objects=custom_objects)
File "C:\Python\Python36\lib\site-packages\keras\engine\saving.py", line 458, in model_from_config
return deserialize(config, custom_objects=custom_objects)
File "C:\Python\Python36\lib\site-packages\keras\layers\__init__.py", line 55, in deserialize
printable_module_name='layer')
File "C:\Python\Python36\lib\site-packages\keras\utils\generic_utils.py", line 145, in deserialize_keras_object
list(custom_objects.items())))
File "C:\Python\Python36\lib\site-packages\keras\engine\network.py", line 1022, in from_config
process_layer(layer_data)
File "C:\Python\Python36\lib\site-packages\keras\engine\network.py", line 1008, in process_layer
custom_objects=custom_objects)
File "C:\Python\Python36\lib\site-packages\keras\layers\__init__.py", line 55, in deserialize
printable_module_name='layer')
File "C:\Python\Python36\lib\site-packages\keras\utils\generic_utils.py", line 147, in deserialize_keras_object
return cls.from_config(config['config'])
File "C:\Python\Python36\lib\site-packages\keras\engine\base_layer.py", line 1109, in from_config
return cls(**config)
File "C:\Python\Python36\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "C:\Python\Python36\lib\site-packages\keras\layers\convolutional.py", line 490, in __init__
**kwargs)
File "C:\Python\Python36\lib\site-packages\keras\layers\convolutional.py", line 117, in __init__
self.kernel_initializer = initializers.get(kernel_initializer)
File "C:\Python\Python36\lib\site-packages\keras\initializers.py", line 508, in get
return deserialize(identifier)
File "C:\Python\Python36\lib\site-packages\keras\initializers.py", line 503, in deserialize
printable_module_name='initializer')
File "C:\Python\Python36\lib\site-packages\keras\utils\generic_utils.py", line 147, in deserialize_keras_object
return cls.from_config(config['config'])
File "C:\Python\Python36\lib\site-packages\keras\initializers.py", line 30, in from_config
return cls(**config)
File "C:\Python\Python36\lib\site-packages\keras\initializers.py", line 195, in __init__
'but got', distribution)
ValueError: ('Invalid `distribution` argument: expected one of {"normal", "uniform"} but got', 'truncated_normal')
D:\Anaconda3\lib\site-packages\keras\initializers.py in __init__(self, scale, mode, distribution, seed)
193 raise ValueError('Invalid `distribution` argument: '
194 'expected one of {"normal", "uniform"} '
--> 195 'but got', distribution)
196 self.scale = scale
197 self.mode = mode
ValueError: ('Invalid `distribution` argument: expected one of {"normal", "uniform"} but got', 'truncated_normal')
在import tensorflow.python.keras
替換keras
。 然后它成功了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.