losses[epoch - 1, counter] = loss # Gather reconstruction losses recon_loss_list = [ recon_loss_mean, recon_loss_mean_validate, recon_loss_mean_test ] for counter, loss in enumerate(recon_loss_list): recon_losses[epoch - 1, counter] = loss # Save losses torch.save({ 'loss': losses, 'recon_loss': recon_losses, }, args.losses_path + '_losses.pth') # Save best weights (mean validation loss) if recon_loss_mean_validate < cur_best_valid_recons: cur_best_valid_recons = recon_loss_mean_validate learn.save(model, args, 'reconstruction') # Save best weights (mean validation loss) if loss_mean_validate < cur_best_valid: cur_best_valid = loss_mean_validate learn.save(model, args, 'full') early_stop = 0 elif args.early_stop > 0: early_stop += 1 if early_stop > args.early_stop: print('[Model stopped early]') break # Track on stuffs print("*******" * 10) print('* Useful & incredible tracking:') t = Texttable() t.add_rows(