将经过训练的自动编码器与keras中的另一个训练数据集相匹配

时间:2018-04-08 09:45:39

标签: python deep-learning keras autoencoder

我在keras训练了一个带有训练集df_noised_noy_norm_y的去噪自动编码器。我有另一个数据集df_active,我让这个自动编码器预测它的编码表示。现在,我想用这个数据集df_active微调经过训练的自动编码器:换句话说,我想让经过训练的自动编码器适合这个数据集df_active

在keras中有一种简单有效的方法来实现这一目标吗?

以下是去噪自动编码器的脚本:

checkpointer = ModelCheckpoint(filepath="modelyes.h5",
                               verbose=0,
                               save_best_only=True,
                               save_weights_only=True)
tensorboard = TensorBoard(log_dir='/tmp/autoencoder',
                          histogram_freq=0,
                          write_graph=True,
                          write_images=True)
input_enc_yes = Input(shape=(input_size,))
hidden_1 = Dense(hidden_size1, activation='relu')(input_enc_yes)
hidden_11 = Dense(hidden_size2, activation='relu')(hidden_1)
code_yes = Dense(code_size, activation='relu')(hidden_11)
hidden_22 = Dense(hidden_size2, activation='relu')(code_yes)
hidden_2 = Dense(hidden_size1, activation='relu')(hidden_22)
output_enc_yes = Dense(input_size, activation='tanh')(hidden_2)
D_autoencoder_yes = Model(input_enc_yes, output_enc_yes)

D_autoencoder_yes.compile(optimizer='adam',
                         loss='mean_squared_error', 
                         metrics=['accuracy'])
history_D_yes = D_autoencoder_yes.fit(df_noised_noy_norm_y, df_noyau_norm_y,
                               epochs=200,
                                batch_size=batch_size,
                                shuffle = True,
                                validation_data=(df_noised_test_norm_y, df_test_norm_y),
                                verbose=1, 
                                callbacks=[checkpointer, tensorboard]).history
D_autoencoder_yes.save_weights("modelyes.h5")
D_autoencoder_yes.load_weights("modelyes.h5")

0 个答案:

没有答案