def view_latent_vary(identifier, epoch, n_steps=6): settings = json.load(open('./experiments/settings/' + identifier + '.txt', 'r')) Z_sample = model.sample_Z(1, settings['seq_length'], settings['latent_dim'], settings['use_time'])[0] samples_dim = [] for dim in range(settings['latent_dim']): Z_samples_dim = plotting.vary_latent_dimension(Z_sample, dim, n_steps) samples_dim.append(model.sample_trained_model(settings, epoch, Z_samples_dim.shape[0], Z_samples_dim)) plotting.save_plot_vary_dimension(samples_dim, epoch, settings['identifier'] + '_varydim', n_dim=settings['latent_dim']) return True
def view_fixed(identifier, epoch, n_samples=6, dim=None): """ What happens when we give the same point at each time step? """ settings = json.load(open('./experiments/settings/' + identifier + '.txt', 'r')) Z_samples = model.sample_Z(n_samples, settings['seq_length'], settings['latent_dim'], settings['use_time']) # now, propagate forward the value at time 0 (which time doesn't matter) for i in range(1, settings['seq_length']): if dim is None: Z_samples[:, i, :] = Z_samples[:, 0, :] else: Z_samples[:, i, dim] = Z_samples[:, 0, dim] # now generate samples = model.sample_trained_model(settings, epoch, n_samples, Z_samples) # now visualise plotting.save_plot_sample(samples, epoch, identifier + '_fixed', n_samples) return True
with tf.variable_scope("SIGMA_optimizer"): sigma_solver = tf.train.RMSPropOptimizer(learning_rate=0.05).minimize( -that, var_list=[sigma]) #sigma_solver = tf.train.AdamOptimizer().minimize(-that, var_list=[sigma]) #sigma_solver = tf.train.AdagradOptimizer(learning_rate=0.1).minimize(-that, var_list=[sigma]) sigma_opt_iter = 2000 sigma_opt_thresh = 0.001 sigma_opt_vars = [ var for var in tf.global_variables() if 'SIGMA_optimizer' in var.name ] sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)) sess.run(tf.global_variables_initializer()) vis_Z = model.sample_Z(batch_size, seq_length, latent_dim, use_time) vis_C = model.sample_C(batch_size, cond_dim, max_val, one_hot) # vis_C[:1] = np.arange(cond_dim) vis_sample = sess.run(G_sample, feed_dict={Z: vis_Z, CG: vis_C}) vis_real_indices = np.random.choice(len(samples['vali']), size=6) vis_real = np.float32(samples['vali'][vis_real_indices, :, :]) vis_real_labels = labels['vali'][vis_real_indices] samps = vis_real labs = vis_real_labels plotting.save_mnist_plot_sample(samps.reshape(-1, seq_length**2, 1), 0, identifier + '_real', n_samples=6,
n_sigmas = 2 sigma = tf.get_variable(name='sigma', shape=n_sigmas, initializer=tf.constant_initializer( value=np.power(heuristic_sigma_training, np.linspace(-1, 3, num=n_sigmas)))) mmd2, that = mix_rbf_mmd2_and_ratio(eval_real_PH, eval_sample_PH, sigma) with tf.variable_scope("SIGMA_optimizer"): sigma_solver = tf.train.RMSPropOptimizer(learning_rate=0.05).minimize(-that, var_list=[sigma]) # sigma_solver = tf.train.AdamOptimizer().minimize(-that, var_list=[sigma]) # sigma_solver = tf.train.AdagradOptimizer(learning_rate=0.1).minimize(-that, var_list=[sigma]) sigma_opt_iter = 2000 sigma_opt_thresh = 0.001 sigma_opt_vars = [var for var in tf.global_variables() if 'SIGMA_optimizer' in var.name] sess = tf.Session() sess.run(tf.global_variables_initializer()) vis_Z = model.sample_Z(batch_size, seq_length, latent_dim, use_time) if CGAN: vis_C = model.sample_C(batch_size, cond_dim, max_val, one_hot) if 'eICU_task' in data: vis_C = labels['train'][np.random.choice(labels['train'].shape[0], batch_size, replace=False), :] vis_sample = sess.run(G_sample, feed_dict={Z: vis_Z, CG: vis_C}) else: vis_sample = sess.run(G_sample, feed_dict={Z: vis_Z}) vis_C = None vis_real_indices = np.random.choice(len(samples['vali']), size=6) vis_real = np.float32(samples['vali'][vis_real_indices, :, :]) if not labels['vali'] is None: vis_real_labels = labels['vali'][vis_real_indices] else: vis_real_labels = None