gpt4 book ai didi

python - 如何使用中间输出保存/加载模型

转载 作者:太空宇宙 更新时间:2023-11-04 00:22:50 25 4
gpt4 key购买 nike

我在 Keras 中编写自动编码器:

inputs = Input((n_channels,))
l1 = Dense(40, activation="relu")(inputs)
l2 = Dense(19)(l1)
l3 = Dense(40, activation="relu")(l2)
training_layer = Dense(n_channels)(l3)
unify_layer = Model(inputs=inputs, outputs=l2)
training_layer = Model(inputs=inputs, outputs=training_layer)

我使用 training_layer 进行训练,使用 unify_layer 进行预测,所以当我在保存后继续学习时,我希望能够访问两个端点。

[根据 Marcin 的评论进行编辑]Model.save 只允许我保存一个模型。当我打电话时:

unify_layer.save("unify")
training_layer.save("training")

然后

unify_layer = load_model("unify")
training_layer = load_model("training")

两层不再链接,即当我训练 training_layer 时,unify_layer 未训练。

最佳答案

哦,我实际上可以使用save_weightsload_weights 方法:

class Autoencoder():
def __init__(self):
inputs = Input((n_channels,))
l1 = Dense(40, activation="relu")(inputs)
l2 = Dense(19)(l1)
l3 = Dense(40, activation="relu")(l2)
training_layer = Dense(n_channels)(l3)
self.unify_layer = Model(inputs=inputs, outputs=l2)
self.training_layer = Model(inputs=inputs, outputs=training_layer)

def save(self, filename):
self.unify_layer.save_weights("unify_" + filename)
self.training_layer.save_weights("training_" + filename)

def load(self, filename):
self.unify_layer.load_weights("unify_" + filename)
self.training_layer.load_weights("training_" + filename)

关于python - 如何使用中间输出保存/加载模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48530232/

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