Ejemplo n.º 1
0
print('[Initial evaluation]')
# learn.test(model, args, epoch=0)  # First test on randomly initialized data
print('[Starting main training]')
# Set losses
losses = torch.zeros(args.epochs + 1, 3)
recon_losses = torch.zeros(args.epochs + 1, 3)
# Set minimum to infinity
cur_best_valid = np.inf
cur_best_valid_recons = np.inf
# Set early stop
early_stop = 0
# Through the epochs
for epoch in range(1, args.epochs + 1, 1):
    print(f"Epoch: {epoch}")
    # Training epoch
    loss_mean, kl_div_mean, recon_loss_mean = learn.train(
        model, optimizer, criterion, args, epoch)
    # Validate epoch
    loss_mean_validate, kl_div_mean_validate, recon_loss_mean_validate = learn.validate(
        model, criterion, args, epoch)
    # Step for learning rate
    scheduler.step(loss_mean_validate)
    # Test model
    loss_mean_test, kl_div_mean_test, recon_loss_mean_test = learn.test(
        model, criterion, args, epoch)
    # Compare input data and reconstruction
    if (epoch % 25 == 0):
        reconstruction(args, model, epoch, test_set)
    # Gather losses
    loss_list = [loss_mean, loss_mean_validate, loss_mean_test]
    for counter, loss in enumerate(loss_list):
        losses[epoch - 1, counter] = loss
Ejemplo n.º 2
0
def train_function(mode):
    learner = Learn(mode)
    learner.train()
    learner.saveToFile()
    return server()