示例#1
0
    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)]