dataloader = load_images(True) netG = create_generator() netD = create_discriminator() optimizerD, optimizerG = create_optimizers(netD, netG) criterion = nn.BCELoss() fixed_noise = torch.randn( 64, nz, 1, 1, device=device ) # Latent vectors to visualize the progress of the generator real_label = 1 fake_label = 0 D_losses, G_losses, img_list = Minimizer.train(dataloader, netD, netG, optimizerD, optimizerG, criterion, num_epochs, device, nz, fixed_noise) plt.figure(figsize=(10, 5)) plt.title("Generator and Discriminator Loss During Training") plt.plot(G_losses, label="G") plt.plot(D_losses, label="D") plt.xlabel("iterations") plt.ylabel("Loss") plt.legend() plt.show() # %%capture fig = plt.figure(figsize=(8, 8)) plt.axis("off") ims = [[plt.imshow(np.transpose(i, (1, 2, 0)), animated=True)]