def fit(self, train_X, val_X, nb_epoch=50, batch_size=100):
print 'Training variational autoencoder'
optimizer = Adadelta(lr=2.)
self.vae.compile(optimizer=optimizer, loss=self.vae_loss)
self.vae.fit(train_X[0], train_X[1],
shuffle=True,
epochs=nb_epoch,
batch_size=batch_size,
validation_data=(val_X[0], val_X[1]),
callbacks=[ReduceLROnPlateau(monitor='val_loss', factor=0.2, patience=3, min_lr=0.01),
EarlyStopping(monitor='val_loss', min_delta=1e-5, patience=5, verbose=1, mode='auto'),
CustomModelCheckpoint(self.encoder, self.save_model, monitor='val_loss', save_best_only=True, mode='auto')
]
)
return self
评论列表
文章目录