loss_name = loss.__class__.__name__ print(f"Loss: {loss_name}\n") for noise_value in noise_values: # RUN Experiments name = f'CNN_{loss_name}_{tp_noise}_{noise_value}' print(f"Training {name} with noise of type {tp_noise} and probability {noise_value}...") # data preparation dataset = FashionMnistHandler(data_dir, False) dataset.load() train_loader, val_loader, test_loader = dataset.get_noisy_loaders(p_noise=noise_value, type_noise=tp_noise, val_size=1 / 6, train_batch_size=batch_size, val_batch_size=128, test_batch_size=128) # model, optimizer, summary model = CNNModel() optimizer = torch.optim.Adam(model.parameters(), lr=lr) summ = Summary(name, type_noise=tp_noise, noise_rate=noise_value) solver = Solver(name, PROJECT_DIR, batch_model_dir, batch_summaries_dir, model, optimizer, loss, summ, train_loader, val_loader, test_loader) solver.pretrain() solver.train(loss) print(f"Completed training...")