simplegan allows users to not only train generative models with few lines of code but also provdies some customizability options that let them train models on their own data or tweak the parameters of the default model. Have a look at the examples below that provides an overview of the functionality.
In this example, we will use the mnist dataset to train a vanilla autoencoder and save the model.
from simplegan.autoencoder import VanillaAutoencoder autoenc = VanillaAutoencoder() train_ds, test_ds = autoenc.load_data(use_mnist = True) autoenc.fit(train_ds, test_ds, epochs = 10, save_model = './')
Using just three lines of code, we can train an Autoencoder model.
In this example, let us build a DCGAN model with modified generator and discriminator architecture and train it on a custom local data directory.
from simplegan.gan import DCGAN gan = DCGAN(dropout_rate = 0.5, kernel_size = (4,4), gen_channels = [128, 64, 32]) data = gan.load_data(data_dir = './', batch_size = 64, img_shape = (200, 200)) gan.fit(data, epochs = 50, gen_optimizer = 'RMSprop', disc_learning_rate = 2e-3) generated_samples = gan.generate_samples(n_samples = 5)
In this example, let us build a Pix2Pix model which a U-Net generator and a patchGAN discriminator. We train the pix2pix network on facades dataset.
from simplegan.gan import Pix2Pix gan = Pix2Pix() train_ds, test_ds = gan.load_data(use_facades = True, batch_size = 32) gan.fit(train_ds, test_ds, epochs = 200)
Have a look at the examples directory which has notebooks to help you better understand on how to get started.