在Keras中打印/保存自动编码器生成的功能

2024-06-26 13:39:41 发布

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

我有一个自动编码器:

input_dim = Input(shape=(10,))
encoded1 = Dense(30, activation = 'relu')(input_dim)
encoded2 = Dense(20, activation = 'relu')(encoded1)
encoded3 = Dense(10, activation = 'relu')(encoded2)
encoded4 = Dense(6, activation = 'relu')(encoded3)
decoded1 = Dense(10, activation = 'relu')(encoded4)
decoded2 = Dense(20, activation = 'relu')(decoded1)
decoded3 = Dense(30, activation = 'relu')(decoded2)
decoded4 = Dense(ncol, activation = 'sigmoid')(decoded3)
autoencoder = Model(input = input_dim, output = decoded4) 
autoencoder.compile(-...)
autoencoder.fit(...)

现在我想打印或保存在encoded4生成的功能。 基本上,从一个巨大的数据集开始,我想提取由autoencoder生成的特征,在训练部分之后,获得我的数据集的受限表示。在

你能帮帮我吗?在


Tags: 数据inputactivationdensereludimautoencoderencoded1
2条回答

所以,基本上,通过创建这样的编码器:

 encoder = Model (input_dim,encoded4)
 encoded_input=Input(shape=(6,))

然后使用:

^{pr2}$

如果predict函数中的数据是数据集,则输出由

 print encoded_data

是我的数据集的受限表示。在

是吗?在

谢谢

您可以通过创建“编码器”模型来实现:

encoder = Model(input = input_dim, output = encoded4)

这将使用与您使用自动编码器训练的相同的层实例,并且如果您在“推断模式”中使用它,则应该生成该特性,如encoder.predict()

我希望这有帮助:)

相关问题 更多 >