def main(): images, labels = dataset.load_test_images() num_scatter = len(images) _images, _, label_id = dataset.sample_labeled_data(images, labels, num_scatter) with tf.device(config.device): t = build_graph(is_test=True) with tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)) as sess: saver = tf.train.Saver() saver.restore(sess, tf.train.latest_checkpoint(config.ckpt_dir)) z, _x = sess.run( [t.z_r, t.x_r], feed_dict={ t.x: _images, t.z_prior: np.random.normal(size=(len(_images), config.ndim_noise)) }) plot.scatter_labeled_z(z, label_id, dir=config.ckpt_dir) plot.tile_images(_x[:100], dir=config.ckpt_dir) plot.plot_loss_tendency(config.ckpt_dir) hist_value, hist_head = plot.load_pickle_to_data(config.ckpt_dir) for loss_name in ['reconstruction']: plot.plot_loss_trace(hist_value[loss_name], loss_name, config.ckpt_dir) plot.plot_adversarial_trace(hist_value['discriminator'], hist_value['generator'], 'z', config.ckpt_dir)
def main(): # load MNIST images images, labels = dataset.load_test_images() # Settings num_scatter = len(images) _images, _, label_id = dataset.sample_labeled_data(images, labels, num_scatter) with tf.device(config.device): t = build_graph(is_test=True) with tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)) as sess: saver = tf.train.Saver() saver.restore(sess, tf.train.latest_checkpoint(config.ckpt_dir)) representation, x_reconstruction = sess.run([t.yz, t.x_r], feed_dict={t.x: _images}) plot.scatter_labeled_z(representation, label_id, dir=config.ckpt_dir) plot.tile_images(x_reconstruction[:100], dir=config.ckpt_dir) hist_value, hist_head = plot.load_pickle_to_data(config.ckpt_dir) for loss_name in ['reconstruction']: plot.plot_loss_trace(hist_value[loss_name], loss_name, config.ckpt_dir) plot.plot_adversarial_trace(hist_value['discriminator_y'], hist_value['generator_y'], 'y', config.ckpt_dir) plot.plot_adversarial_trace(hist_value['discriminator_z'], hist_value['generator_z'], 'z', config.ckpt_dir)
def main(): # load MNIST images images, labels = dataset.load_test_images() # Settings num_anologies = 10 pylab.gray() # generate style vector z x = dataset.sample_unlabeled_data(images, num_anologies) x = (x + 1) / 2 with tf.device(config.device): x_input, img_y, img_z, reconstruction = build_graph(is_test=True) with tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)) as sess: saver = tf.train.Saver() saver.restore(sess, tf.train.latest_checkpoint(config.ckpt_dir)) z = sess.run(img_z, feed_dict={x_input: x}) for m in range(num_anologies): pylab.subplot(num_anologies, config.ndim_y + 2, m * 12 + 1) pylab.imshow(x[m].reshape((28, 28)), interpolation='none') pylab.axis('off') all_y = np.identity(config.ndim_y, dtype=np.float32) for m in range(num_anologies): fixed_z = np.repeat(z[m].reshape(1, -1), config.ndim_y, axis=0) gen_x = sess.run(reconstruction, feed_dict={ img_z: fixed_z, img_y: all_y }) gen_x = (gen_x + 1) / 2 for n in range(config.ndim_y): pylab.subplot(num_anologies, config.ndim_y + 2, m * 12 + 3 + n) pylab.imshow(gen_x[n].reshape((28, 28)), interpolation='none') pylab.axis('off') fig = pylab.gcf() fig.set_size_inches(num_anologies, config.ndim_y) pylab.savefig('{}/analogy.png'.format(config.ckpt_dir)) hist_value, hist_head = plot.load_pickle_to_data(config.ckpt_dir) for loss_name in [ 'reconstruction', 'validation_accuracy', 'supervised' ]: plot.plot_loss_trace(hist_value[loss_name], loss_name, config.ckpt_dir) plot.plot_adversarial_trace(hist_value['discriminator_y'], hist_value['generator_y'], 'y', config.ckpt_dir) plot.plot_adversarial_trace(hist_value['discriminator_z'], hist_value['generator_z'], 'z', config.ckpt_dir)
def main(): # load MNIST images images, labels = dataset.load_test_images() # Settings num_scatter = len(images) _images, _, label_id = dataset.sample_labeled_data(images, labels, num_scatter) with tf.device(config.device): t = build_graph(is_test=True) with tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)) as sess: saver = tf.train.Saver() saver.restore(sess, tf.train.latest_checkpoint(config.ckpt_dir)) representation, x_reconstruction = sess.run([t.yz, t.x_r], feed_dict={t.x: _images}) plot.scatter_labeled_z(representation, label_id, dir=config.ckpt_dir) plot.tile_images(x_reconstruction[:100], dir=config.ckpt_dir) # z distributed plot num_segments = 20 limit = (-5, 5) x_values = np.linspace(limit[0], limit[1], num_segments) y_values = np.linspace(limit[0], limit[1], num_segments) vacant = np.zeros((28 * num_segments, 28 * num_segments)) for i, x_element in enumerate(x_values): for j, y_element in enumerate(y_values): x_reconstruction = sess.run( t.x_r, feed_dict={ t.yz: np.reshape([x_element, y_element], [1, 2]) }) vacant[(num_segments - 1 - i) * 28:(num_segments - i) * 28, j * 28:(j + 1) * 28] = x_reconstruction.reshape(28, 28) vacant = (vacant + 1) / 2 pylab.figure(figsize=(10, 10), dpi=400, facecolor='white') pylab.imshow(vacant, cmap='gray', origin='upper') pylab.tight_layout() pylab.axis('off') pylab.savefig("{}/clusters.png".format(config.ckpt_dir)) # loss part hist_value, hist_head = plot.load_pickle_to_data(config.ckpt_dir) for loss_name in ['reconstruction', 'supervised']: plot.plot_loss_trace(hist_value[loss_name], loss_name, config.ckpt_dir) plot.plot_adversarial_trace(hist_value['discriminator_y'], hist_value['generator_y'], 'y', config.ckpt_dir) plot.plot_adversarial_trace(hist_value['discriminator_z'], hist_value['generator_z'], 'z', config.ckpt_dir) plot.plot_adversarial_trace(hist_value['validation_accuracy'], hist_value['transform'], 'validation_accuracy', config.ckpt_dir)
location_num += 1 y_onehot = sess.run(t.y_r, feed_dict={t.x: x_batch}) y_labels = opt.argmax_label_from_distribution(y_onehot) for m in range(batch_size): cluster = int(y_labels[m]) counter_cluster[cluster] += 1 if counter_cluster[cluster] < num_plots_per_cluster: x = (x_batch[m] + 1.0) / 2 pylab.subplot( num_clusters, num_plots_per_cluster + 2, cluster * (num_plots_per_cluster + 2) + counter_cluster[cluster] + 2) pylab.imshow(x.reshape((image_width, image_height)), interpolation='none') pylab.axis('off') fig = pylab.gcf() fig.set_size_inches(num_plots_per_cluster, config.ndim_y) pylab.savefig('{}/analogy.png'.format(config.ckpt_dir)) print(counter_cluster) hist_value, hist_head = plot.load_pickle_to_data(config.ckpt_dir) for loss_name in ['reconstruction']: plot.plot_loss_trace(hist_value[loss_name], loss_name, config.ckpt_dir) plot.plot_adversarial_trace(hist_value['discriminator_y'], hist_value['generator_y'], 'y', config.ckpt_dir) plot.plot_adversarial_trace(hist_value['discriminator_z'], hist_value['generator_z'], 'z', config.ckpt_dir)