import numpy as np import input_quickdraw import matplotlib.pyplot as plt from vae import VAE from scipy.stats import kde single = input_quickdraw.Single(['diamond'], 5000) X = single.train_data Y = single.train_label vae = VAE(784, [500], 2) vae.train(X, batch_size=200, num_epochs=100, rerun=False, model_filename='diamond_only') print('Encoding...') latent_z = tuple() for i in range(3): latent_z = latent_z + (vae.encode(X), ) latent_z = np.concatenate(latent_z) print('Binning...') nbins = 100 x, y = latent_z.T k = kde.gaussian_kde(latent_z.T) xi, yi = np.mgrid[x.min():x.max():nbins * 1j, y.min():y.max():nbins * 1j]
import numpy as np import input_quickdraw import matplotlib.pyplot as plt from vae import VAE from scipy.stats import kde single = input_quickdraw.Single(['alarm_clock'], 5000) X = single.train_data Y = single.train_label vae = VAE(784, [500], 10) vae.train(X, batch_size=200, num_epochs=100, rerun=False, model_filename='alarm_clock_schematic') print('Encoding...') X = X[:1, :] plt.imshow(X[0].reshape(28,28), cmap='Greys') plt.tick_params(axis='both', which='both', bottom='off', top='off', labelbottom='off', right='off', left='off', labelleft='off') plt.show() latent_z = vae.encode(X) x_reconstructed = vae.decode(latent_z) plt.imshow(x_reconstructed[0].reshape(28,28), cmap='Greys') plt.tick_params(axis='both', which='both', bottom='off', top='off', labelbottom='off', right='off', left='off', labelleft='off') plt.show()
import sys import numpy as np import input_quickdraw import matplotlib.pyplot as plt from vae import VAE from scipy.stats import kde from sklearn.manifold import TSNE single = input_quickdraw.Single([ 'alarm_clock', 'aircraft_carrier', 'airplane', 'banana', 'broom', 'barn', 'diamond', 'fish', 'lollipop' ], 5000) X = single.train_data Y = single.train_label print single.color_scheme latent_dim = int(sys.argv[1]) vae = VAE(784, [500], latent_dim) vae.train(X, batch_size=1000, num_epochs=100, rerun=False, model_filename='nine_objects_l_%d' % latent_dim) if latent_dim == 2: latent_z = vae.encode(X) latent_y = [single.color_scheme[y] for y in Y] plt.clf() plt.scatter(latent_z[:, 0],
import sys import numpy as np import input_quickdraw import matplotlib.pyplot as plt from vae import VAE from scipy.stats import kde from sklearn.manifold import TSNE single = input_quickdraw.Single(['barn'], 5000) X = single.train_data Y = single.train_label latent_dim = int(sys.argv[1]) vae = VAE(784, [500], latent_dim) vae.train(X, batch_size=200, num_epochs=100, rerun=False, model_filename='barn_l_%d' % latent_dim) latent_z = vae.encode(X) x_reconstructed = vae.decode(latent_z) for n, i in enumerate( np.random.randint(low=0, high=x_reconstructed.shape[0], size=20)): print i plt.clf() plt.imshow(x_reconstructed[i].reshape(28, 28), cmap='Greys') plt.tick_params(axis='both', which='both',
import argparse import input_quickdraw from vae import VAE parser = argparse.ArgumentParser() parser.add_argument('--input_dim', type=int, action='store', dest='input_dim') parser.add_argument('--latent_dim', type=int, action='store', dest='latent_dim') parser.add_argument('--hidden_dim', type=int, nargs='+', action='store', dest='hidden_dim') parser.add_argument('--encoder_fn', default='sigmoid', action='store', dest='encoder_fn') parser.add_argument('--decoder_fn', default='relu', action='store', dest='decoder_fn') parser.add_argument('--squashing_fn', default='sigmoid', action='store', dest='squashing_fn') parameters = parser.parse_args() single = input_quickdraw.Single(['alarm_clock', 'broom', 'banana', 'lion', 'lollipop'], 5000) X = single.train_data Y = single.train_label vae = VAE(parameters.input_dim, parameters.hidden_dim, parameters.latent_dim, encoder_fn=parameters.encoder_fn, decoder_fn=parameters.decoder_fn) vae.train(X, batch_size=500, num_epochs=100, rerun=True)