Keras 1.2.2其他模块内部模型

2024-09-30 22:18:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一段Keras 2.3代码,它构建了一个编码器、一个解码器,并使用函数API和以下方法将它们合并为一个模型(自动编码器):

def merge_encoder_decoder(encoderModel, decoderModel):
    input_img = encoderModel.input
    output = decoderModel(encoderModel.output)
    return Model(input_img, output)

这样,当我训练合并模型时,编码器和解码器模型中的权重也会更新。我需要这种行为,因为我在以后的过程中单独使用编码器

现在我想尝试在Hadoop集群上分发这个模型的训练过程。为此,我选择了Analytics Zoo(0.6.0)框架,支持使用Spark进行分布式培训,并提供一些高级api来构建模型

我的问题是:Analytics Zoo最多支持Keras 1.2.2,在这个版本中,我找不到方法来重现merge\u encoder\u decoder函数的行为。更具体地说,在keras1.2.2中,函数模型似乎没有“.input”或“.output”属性(应该返回相应的张量),而且我在keras2.3的文档中也没有找到任何关于这些属性的文档

那么在keras1.2.2中有没有一种方法可以实现我想要的呢

谢谢


Tags: 方法函数模型encoderimginputoutput过程
1条回答
网友
1楼 · 发布于 2024-09-30 22:18:34

尝试使用自己的显式输入层:

def merge_encoder_decoder(encoderModel, decoderModel):
    input_img = layers.Input(image_shape)
    z = encoderModel(input_img)
    output = decoderModel(z)
    return models.Model(input_img, output)

相关问题 更多 >