Deb*_*ury 11 python deep-learning keras tensorflow
我从这个链接克隆的人类姿态估计keras模型人体姿势估计keras
当我尝试在Google Colab上加载模型时,出现以下错误
码
from keras.models import load_model
model = load_model('model.h5')
Run Code Online (Sandbox Code Playgroud)
错误
ValueError Traceback (most recent call
last)
<ipython-input-29-bdcc7d8d338b> in <module>()
1 from keras.models import load_model
----> 2 model = load_model('model.h5')
/usr/local/lib/python3.6/dist-packages/keras/engine/saving.py in load_model(filepath, custom_objects, compile)
417 f = h5dict(filepath, 'r')
418 try:
--> 419 model = _deserialize_model(f, custom_objects, compile)
420 finally:
421 if opened_new_file:
/usr/local/lib/python3.6/dist-packages/keras/engine/saving.py in _deserialize_model(f, custom_objects, compile)
219 return obj
220
--> 221 model_config = f['model_config']
222 if model_config is None:
223 raise ValueError('No model found in config.')
/usr/local/lib/python3.6/dist-packages/keras/utils/io_utils.py in __getitem__(self, attr)
300 else:
301 if self.read_only:
--> 302 raise ValueError('Cannot create group in read only mode.')
303 val = H5Dict(self.data.create_group(attr))
304 return val
ValueError: Cannot create group in read only mode.
Run Code Online (Sandbox Code Playgroud)
有人可以帮我了解这种只读模式吗?如何加载此模型?
Kon*_*rov 11
这是在Google Collab上为您创建的Git gist示例:https : //gist.github.com/kolygri/835ccea6b87089fbfd64395c3895c01f
据我所理解:
您必须设置和定义模型的体系结构,然后使用model.load_weights('alexnet_weights.h5')。
这是一个有用的Github对话链接,希望可以帮助您更好地理解问题:https : //github.com/keras-team/keras/issues/6937
我有一个类似的问题,并以此方式解决了
存储的graph\architecture
在JSON
格式和weights
中h5
格式
import json
# lets assume `model` is main model
model_json = model.to_json()
with open("model_in_json.json", "w") as json_file:
json.dump(model_json, json_file)
model.save_weights("model_weights.h5")
Run Code Online (Sandbox Code Playgroud)
这时需要load model
先create
graph\architecture
和load_weights
模型
from keras.models import load_model
from keras.models import model_from_json
import json
with open('model_in_json.json','r') as f:
model_json = json.load(f)
model = model_from_json(model_json)
model.load_weights('model_weights.h5')
Run Code Online (Sandbox Code Playgroud)
我曾经callbacks.ModelCheckpoint
保存权重,我也有类似的错误。我发现有一个参数叫做save_weights_only
如果我设置了save_weights_only=True
,那么当我使用 load_model() 在另一个进程中加载模型时,它会引发“无法在只读模式下创建组”。错误。
如果我设置save_weights_only=False
(这是默认设置),那么我可以使用 load_model() 加载模型并使用它进行预测,而无需先编译模型。
归档时间: |
|
查看次数: |
21616 次 |
最近记录: |