首页 > 解决方案 > 加载模型后如何将图形与 keras 连接?

问题描述

我正在 tensorflow-keras 中设置自定义训练环境,我想知道是否可以重新连接保存到不同文件中的模型的共享权重。

我有一个注意力编码器-解码器模型,众所周知,注意力的训练模型与预测模型有点不同,但这些模型共享相同的权重。首先,我使用 tf.keras.models.save_model 将未经训练的模型保存到 3 个文件中:

然后,我尝试使用 tf.keras.models.load_model 加载上述三个模型并像往常一样只训练完整模型。

full_model = tf.keras.models.load_model(
    'full_model.h5'), 
    custom_objects={'AttentionLayer': AttentionLayer}
)
encoder_model = tf.keras.models.load_model(
    os.path.join('encoder.h5'), 
    custom_objects={'AttentionLayer': AttentionLayer}
)
decoder_model = tf.keras.models.load_model(
    os.path.join('decoder.h5'), 
    custom_objects={'AttentionLayer': AttentionLayer}
)

full_model.train()...

因此,full_model 权重正在按预期更新......但是,编码器和解码器的权重仍然冻结。有什么方法可以重新连接这些模型的图形吗?

标签: pythontensorflowkeras

解决方案


推荐阅读