如何加载训练有素的自动编码器(Keras),获取编码器部分并冻结它?

How can I load a trained autoencoder (Keras), take the encoder part, and freeze it?

我训练了一个自动编码器,现在想将编码器部分(包括权重)用于其他目的。我可以加载完整模型,获取编码器部分,然后在这些层中设置 'trainable' 参数吗?或者我是否需要重新编译适配的编码器架构(即所有层都设置为不可训练),然后才加载权重?

您可以遍历模型层列表 (model.layers) 并修改编码器层,使 trainable 标志为 False

for layer in model.layers:
    layer.trainable = False