Exemplo n.º 1
0
    # for the SSGAN we need to feed the labels, L, when initializing
    gan = GAN(
        'mini_imagenet',
        image_shape=shape,
        latent_dim=latent_dim,
        database=mini_imagenet_database,
        parser=mini_imagenet_parser,
        generator=mini_imagenet_generator,
        discriminator=mini_imagenet_discriminator,
        visualization_freq=1,
        d_learning_rate=0.0003,
        g_learning_rate=0.0003,
    )
    gan.perform_training(epochs=GAN_EPOCHS, checkpoint_freq=50)
    gan.load_latest_checkpoint()

    print("training GAN is done")
    time.sleep(1)

    # Split labeled and not labeled
    train_folders = mini_imagenet_database.train_folders
    keys = list(train_folders.keys())
    labeled_keys = np.random.choice(keys, int(len(train_folders.keys())*labeled_percentage), replace=False)
    train_folders_labeled = {k: v for (k, v) in train_folders.items() if k in labeled_keys}
    train_folders_unlabeled = {k: v for (k, v) in train_folders.items() if k not in labeled_keys}
    mini_imagenet_database.train_folders = train_folders_labeled

    L = None
    ssml_maml = SSMLMAML(
        
Exemplo n.º 2
0
    omniglot_parser = OmniglotParser(shape=shape)

    gan = GAN(
        'omniglot',
        image_shape=shape,
        latent_dim=latent_dim,
        database=omniglot_database,
        parser=omniglot_parser,
        generator=omniglot_generator,
        discriminator=omniglot_discriminator,
        visualization_freq=50,
        d_learning_rate=0.0003,
        g_learning_rate=0.0003,
    )
    # gan.perform_training(epochs=49, checkpoint_freq=1)
    gan.load_latest_checkpoint(epoch_to_load_from='500')

    maml_gan = MAMLGAN(gan=gan,
                       latent_dim=latent_dim,
                       generated_image_shape=shape,
                       database=omniglot_database,
                       network_cls=SimpleModel,
                       n=5,
                       k_ml=1,
                       k_val_ml=5,
                       k_val=1,
                       k_val_val=15,
                       k_val_test=15,
                       k_test=1,
                       meta_batch_size=4,
                       num_steps_ml=5,