Beispiel #1
0
                                  class_loss_f, nb_classes)

    if train:
        resume = args['resume']
        num_epoch = int(args['epoch'])
        sampler = SampleImage(10, 10, code_size)
        if resume == 'model':
            gan_model.load_checkpoint(checkpoint_path, all=False)
        elif resume == 'checkpoint':
            gan_model.load_checkpoint(checkpoint_path, all=True)

        trainer = Trainer(trick_dict={
            'label_smooth': {
                'valid_range': 0.95,
                'fake_range': 0
            }
        })
        data_loader = get_mnist_data_loader(train=True)
        data_loader_label = get_mnist_subset_data_loader(train=True,
                                                         fraction=fraction)

        trainer.train(num_epoch, data_loader, data_loader_label, gan_model, 1,
                      checkpoint_path, 5, [sampler])

    else:
        # evaluate accuracy on test set
        gan_model.load_checkpoint(checkpoint_path, all=False)
        data_loader = get_mnist_data_loader(train=False)
        acc = compute_accuracy(data_loader, gan_model)
        print('The test accuracy of discriminator is {:.4f}'.format(acc))
Beispiel #2
0
    code_size = 10
    checkpoint_path = './checkpoint/vae_mnist.ckpt'
    learning_rate = 1e-3

    generator = Encoder(code_size)
    decoder = Decoder(code_size)
    prior = Normal(loc=torch.zeros(size=(code_size, )),
                   scale=torch.ones(size=(code_size, )))
    optimizer = torch.optim.Adam(
        chain(generator.parameters(), decoder.parameters()), learning_rate)

    model = VAE(generator, decoder, prior, optimizer)

    sampler = SampleImage(10, 10)
    data_loader = get_mnist_subset_data_loader(train=True,
                                               transform=transform,
                                               fraction=100)
    reconstruct = Reconstruction(next(iter(data_loader))[0])

    summary_writer = SummaryWriter('runs/vae_mnist')

    if train:
        visualize_data_loader = get_mnist_subset_data_loader(
            train=True, transform=transform, fraction=1000)
        visualize_callback = VisualizeLatent(visualize_data_loader,
                                             method='pca')
        resume = args['resume']
        num_epoch = int(args['epoch'])

        if resume == 'model':
            model.load_checkpoint(checkpoint_path, all=False)
    generator = Generator(code_size=code_size,
                          weight_init=weights_init_normal,
                          weight_norm=weight_norm)
    encoder = Encoder(code_size=code_size,
                      weight_init=weights_init_normal,
                      weight_norm=weight_norm)
    optimizer_G = torch.optim.Adam(chain(generator.parameters(),
                                         encoder.parameters()),
                                   lr_G,
                                   betas=(0.5, 0.999))

    gan_model = ALI(generator, encoder, discriminator, optimizer_G,
                    optimizer_D, code_size, validity_loss_f)

    mnist_subset = get_mnist_subset_data_loader(train=True, fraction=100)

    sampler = SampleImage(10, code_size)
    reconstruction = Reconstruction(mnist_subset)
    visualize_latent = VisualizeLatent(mnist_subset, method='pca')

    if train:

        if resume == 'model':
            gan_model.load_checkpoint(checkpoint_path, all=False)
        elif resume == 'checkpoint':
            gan_model.load_checkpoint(checkpoint_path, all=True)

        trainer = Trainer(trick_dict={
            'label_smooth': {
                'valid_range': 0.95,
Beispiel #4
0
                                   betas=(0.5, 0.999))

    gaussian_sampler = GaussianSampler()

    gan_model = AAE(generator,
                    decoder,
                    discriminator,
                    optimizer_G,
                    optimizer_D,
                    code_size,
                    validity_loss_f,
                    recon_loss_f,
                    gaussian_sampler,
                    alpha=alpha)

    recon_data_loader = get_mnist_subset_data_loader(train=True, fraction=100)
    recon_callback = Reconstruction(recon_data_loader)

    sampler = SampleImage(10, 10)

    if train:
        visualize_data_loader = get_mnist_subset_data_loader(train=True,
                                                             fraction=100)
        visualize_callback = VisualizeLatent(visualize_data_loader,
                                             method='pca')
        resume = args['resume']
        num_epoch = int(args['epoch'])

        if resume == 'model':
            gan_model.load_checkpoint(checkpoint_path, all=False)
        elif resume == 'checkpoint':