在keras中使用自动编码器的编码器部分

using the encoder part of an autoencoder in keras

我想要的是获取编码器的输出(压缩数据),然后对其执行 face_recognition。 训练完这个自动编码器后,我想使用训练好的编码器。

所以当我尝试 运行 代码时,我得到了这个错误: 我怎样才能解决这个问题并只提取这个自动编码器模型的训练编码器部分?

ValueError: Error when checking target: expected max_pooling2d_3 to have shape (8, 8, 64) but got array with shape (64, 64, 3)

发生的事情是您的模型输出是 encoded 部分,并且您提供了将编码为目标的图像,这对于自动编码器来说是正确的。你需要做的是定义

autoencoder = Model(input_img, decoded)

对其进行训练,然后使用单独的类似编码的模型来使用.predict方法来获得减少的输入。