gpt4 book ai didi

python - 无法将层添加到已保存的 Keras 模型。 'Model' 对象没有属性 'add'

转载 作者:太空狗 更新时间:2023-10-30 00:27:25 27 4
gpt4 key购买 nike

我使用 model.save() 保存了一个模型。我正在尝试重新加载模型并添加一些层并调整一些超参数,但是,它会抛出 AttributeError。

使用 load_model() 加载模型。

我想我不了解如何将图层添加到保存的图层。如果有人可以在这里指导我,那就太好了。我是深度学习和使用 keras 的新手,所以我的要求可能很愚蠢。

片段:

prev_model = load_model('final_model.h5') # loading the previously saved model.

prev_model.add(Dense(256,activation='relu'))
prev_model.add(Dropout(0.5))
prev_model.add(Dense(1,activation='sigmoid'))

model = Model(inputs=prev_model.input, outputs=prev_model(prev_model.output))

它抛出的错误:

Traceback (most recent call last):
File "image_classifier_3.py", line 39, in <module>
prev_model.add(Dense(256,activation='relu'))
AttributeError: 'Model' object has no attribute 'add'

我知道添加层适用于新的 Sequential() 模型,但我们如何添加到现有的已保存模型?

最佳答案

add 方法仅出现在 sequential models 中( Sequential class ),这是更强大但更复杂的 functional model 的更简单接口(interface)(Model class)。 load_model 将始终返回一个 Model 实例,这是最通用的类​​。

您可以查看示例以了解如何组合不同的模型,但其想法是,最终,Model 的行为与任何其他层非常相似。所以你应该能够做到:

prev_model = load_model('final_model.h5') # loading the previously saved model.

new_model = Sequential()
new_model.add(prev_model)
new_model.add(Dense(256,activation='relu'))
new_model.add(Dropout(0.5))
new_model.add(Dense(1,activation='sigmoid'))

new_model.compile(...)

关于python - 无法将层添加到已保存的 Keras 模型。 'Model' 对象没有属性 'add',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45755022/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com