Skip to content

Commit c65f9f9

Browse files
committed
VAE traj
1 parent 10748be commit c65f9f9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+709
-106
lines changed

VAE-GAIL/VAE/.idea/VAE.iml

+19
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

VAE-GAIL/VAE/.idea/misc.xml

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

VAE-GAIL/VAE/.idea/modules.xml

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

VAE-GAIL/VAE/.idea/workspace.xml

+356
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
1.06 KB
Binary file not shown.
-217 Bytes
Binary file not shown.
739 Bytes
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
model_checkpoint_path: "vae-15000"
2-
all_model_checkpoint_paths: "vae-0"
3-
all_model_checkpoint_paths: "vae-5000"
4-
all_model_checkpoint_paths: "vae-10000"
5-
all_model_checkpoint_paths: "vae-15000"
1+
model_checkpoint_path: "vae-67000"
2+
all_model_checkpoint_paths: "vae-63000"
3+
all_model_checkpoint_paths: "vae-64000"
4+
all_model_checkpoint_paths: "vae-65000"
5+
all_model_checkpoint_paths: "vae-66000"
6+
all_model_checkpoint_paths: "vae-67000"
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

VAE-GAIL/VAE/decoder.py

+58-16
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,81 @@
22
import tensorflow.contrib.slim as slim
33

44
class Decoder:
5-
def __init__(self, x_dim, hidden_size, z_dim):
6-
self.X_dim = x_dim
5+
def __init__(self, hidden_size, z_dim, time_steps, lstm_unit_size, action_num, state_num):
6+
"""
7+
8+
:param hidden_size:
9+
:param z_dim:
10+
"""
711
self.hidden_size = hidden_size
812
self.z_dim = z_dim
9-
self.P_W1 = tf.Variable(self.xavier_init([self.z_dim, self.hidden_size]))
10-
self.P_b1 = tf.Variable(tf.zeros(shape=[self.hidden_size]))
11-
self.P_W2 = tf.Variable(self.xavier_init([self.hidden_size, self.X_dim]))
12-
self.P_b2 = tf.Variable(tf.zeros(shape=[self.X_dim]))
13+
self.timesteps = time_steps
14+
self.lstm_unit_size = lstm_unit_size
15+
self.action_num = action_num
16+
self.state_num = state_num
17+
18+
self.A_W1 = tf.Variable(self.xavier_init([self.z_dim, self.hidden_size]))
19+
self.A_b1 = tf.Variable(tf.zeros(shape=[self.hidden_size]))
20+
self.A_W2 = tf.Variable(self.xavier_init([self.hidden_size, self.timesteps * self.action_num]))
21+
self.A_b2 = tf.Variable(tf.zeros(shape=[self.timesteps * self.action_num]))
22+
23+
self.S_W1 = tf.Variable(self.xavier_init([self.z_dim, self.hidden_size]))
24+
self.S_b1 = tf.Variable(tf.zeros(shape=[self.hidden_size]))
25+
self.S_W2 = tf.Variable(self.xavier_init([self.hidden_size, self.timesteps * self.state_num]))
26+
self.S_b2 = tf.Variable(tf.zeros(shape=[self.timesteps * self.state_num]))
1327
pass
1428

1529
def create_network(self, z, is_sample):
30+
self.action_in = tf.placeholder(tf.float32, shape=[None, self.timesteps, self.action_num], name='decoder_input_action')
1631
with tf.name_scope('decoder') as scope:
17-
if is_sample:
32+
"""
33+
处理latent space 输入
34+
"""
35+
if is_sample: # 来自 encoder μ,σ采样
1836
z_name = '_input_z'
1937
self.z = tf.placeholder(tf.float32, shape=[None, self.z_dim], name='decoder_input_z')
20-
else:
38+
else: # 与latent space 相同维度的高斯噪声
2139
z_name = '_sample_z'
2240
with tf.variable_scope('decoder_sample_z'):
2341
self.z = z
24-
25-
with tf.variable_scope('decoder'+z_name+'_layer_1'):
26-
layer1 = tf.nn.relu(tf.matmul(self.z, self.P_W1) + self.P_b1)
27-
with tf.variable_scope('decoder'+z_name+'_logits'):
28-
logits = tf.matmul(layer1, self.P_W2) + self.P_b2
42+
self.z = tf.reshape(self.z, [-1, self.z_dim*self.timesteps])
43+
self.z = slim.fully_connected(self.z,
44+
self.z_dim,
45+
activation_fn=tf.nn.leaky_relu,
46+
weights_initializer=tf.contrib.layers.xavier_initializer(),
47+
biases_initializer=tf.constant_initializer(0.0))
48+
"""
49+
构建 action decoder
50+
"""
51+
with tf.variable_scope('decoder'+z_name+'_action_layer_1'):
52+
action_layer1 = tf.nn.relu(tf.matmul(self.z, self.A_W1) + self.A_b1)
53+
with tf.variable_scope('decoder'+z_name+'_action_logits'):
54+
action_logits = tf.matmul(action_layer1, self.A_W2) + self.A_b2
2955
with tf.variable_scope('decoder'+z_name+'_prob'):
30-
prob = tf.nn.sigmoid(logits)
56+
action_prob = tf.nn.sigmoid(action_logits)
57+
58+
"""
59+
构建 state decoder
60+
"""
61+
with tf.variable_scope('decoder' + z_name + '_state_layer_1'):
62+
state_layer1 = tf.nn.relu(tf.matmul(self.z, self.S_W1) + self.S_b1)
63+
with tf.variable_scope('decoder' + z_name + '_state_logits'):
64+
state_logits = tf.matmul(state_layer1, self.S_W2) + self.S_b2
65+
with tf.variable_scope('decoder' + z_name + '_state_prob'):
66+
state_prob = tf.nn.sigmoid(state_logits)
3167

32-
return logits, prob
68+
return action_logits, action_prob, state_logits, state_prob
3369

3470
def xavier_init(self, size):
3571
in_dim = size[0]
3672
xavier_stddev = 1. / tf.sqrt(in_dim / 2.)
3773
return tf.random_normal(shape=size, stddev=xavier_stddev)
3874

3975
def get_model_param_list(self):
40-
return [variable for variable in tf.trainable_variables('decoder')]
76+
return [variable for variable in tf.trainable_variables('decoder')]
77+
78+
# if __name__ == '__main__':
79+
# e =Decoder(10,3,2000,10,40,27)
80+
# e.create_network()
81+
# # e.sample_z(1,1)
82+
# print(e.state_in, e.z_var, e.z_mu, e.latent)

VAE-GAIL/VAE/encoder.py

+15-12
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
from tensorflow.contrib import rnn
44

55
class Encoder:
6-
def __init__(self, x_dim, hidden_size, z_dim, time_steps, lstm_unit_size, action_num, state_num):
7-
self.X_dim = x_dim
6+
def __init__(self, hidden_size, z_dim, time_steps, lstm_unit_size, action_num, state_num):
7+
88
self.h_dim = hidden_size
99
self.z_dim = z_dim
1010
self.state_num = state_num
@@ -16,17 +16,19 @@ def __init__(self, x_dim, hidden_size, z_dim, time_steps, lstm_unit_size, action
1616

1717
def create_network(self):
1818
with tf.name_scope('encoder') as scope:
19-
self.X = tf.placeholder(tf.float32, shape=[None, self.time_steps, self.state_num], name='encoder_input_x')
19+
self.state_in = tf.placeholder(tf.float32, shape=[None, self.time_steps, self.state_num], name='encoder_input_x')
2020
# Unstack to get a list of 'time_steps' tensors of shape (batch_size, num_input)
21-
x = tf.unstack(self.X, self.time_steps, 1)
21+
# unstack_state = tf.unstack(self.state_in, self.time_steps, 1)
2222

23-
# Forward direction cell
23+
# 前向 cell
2424
lstm_fw_cell = rnn.BasicLSTMCell(self.lstm_unit_size, forget_bias=1.0)
25-
# Backward direction cell
25+
# 反向 cell
2626
lstm_bw_cell = rnn.BasicLSTMCell(self.lstm_unit_size, forget_bias=1.0)
2727

2828
with tf.variable_scope('encoder_bi_lstm'):
29-
outputs, _, _ = rnn.static_bidirectional_rnn(lstm_fw_cell, lstm_bw_cell, x, dtype=tf.float32)
29+
# outputs, _, _ = rnn.static_bidirectional_rnn(lstm_fw_cell, lstm_bw_cell, unstack_state, dtype=tf.float32)
30+
outputs, _ = tf.nn.bidirectional_dynamic_rnn(lstm_fw_cell, lstm_bw_cell, self.state_in, dtype=tf.float32) # [batch_szie, max_time, depth]
31+
3032

3133

3234

@@ -70,8 +72,9 @@ def xavier_init(self, size):
7072
def get_model_param_list(self):
7173
return [variable for variable in tf.trainable_variables('encoder')]
7274

73-
if __name__ == '__main__':
74-
e =Encoder(1,1,1)
75-
e.create_network()
76-
e.sample_z(1,1)
77-
print(e.X, e.z_var, e.z_mu, e.latent)
75+
# if __name__ == '__main__':
76+
# e =Encoder(1,1,1)
77+
# e.create_network()
78+
# e.sample_z(1,1)
79+
# print(e.state_in, e.z_var, e.z_mu, e.latent)
80+

VAE-GAIL/VAE/gen_traj/action.pickle

17.3 MB
Binary file not shown.

VAE-GAIL/VAE/gen_traj/state.pickle

42.4 MB
Binary file not shown.

VAE-GAIL/VAE/main.py

+84-56
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,124 @@
11
import tensorflow as tf
2-
import matplotlib.pyplot as plt
3-
import matplotlib.gridspec as gridspec
2+
# import matplotlib.pyplot as plt
3+
# import matplotlib.gridspec as gridspec
44
import os
5+
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
6+
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
57
import numpy as np
6-
from tensorflow.examples.tutorials.mnist import input_data
7-
8+
import util_vae
9+
from tensorboardX import SummaryWriter
10+
import pandas as pd
811
from vae import Vae
9-
def plot(samples):
10-
fig = plt.figure(figsize=(4, 4))
11-
gs = gridspec.GridSpec(4, 4)
12-
gs.update(wspace=0.05, hspace=0.05)
12+
import pickle
13+
import random
1314

14-
for i, sample in enumerate(samples):
15-
ax = plt.subplot(gs[i])
16-
plt.axis('off')
17-
ax.set_xticklabels([])
18-
ax.set_yticklabels([])
19-
ax.set_aspect('equal')
20-
plt.imshow(sample.reshape(28, 28), cmap='Greys_r')
2115

22-
return fig
2316

17+
def get_dataset():
18+
rootdir = './gen_traj/'
19+
with open(rootdir+'state.pickle', 'rb') as sp:
20+
state_list = pickle.load(sp)
21+
with open(rootdir+'action.pickle', 'rb') as ap:
22+
action_list = pickle.load(ap)
23+
return state_list, action_list
2424

2525
def train():
26-
mnist = input_data.read_data_sets('../../MNIST_data', one_hot=True)
27-
mb_size = 64
28-
z_dim = 100
29-
X_dim = mnist.train.images.shape[1]
30-
h_dim = 128
31-
timesteps = 28
32-
num_input = 28
33-
26+
mb_size = 4 # minibatch size 64条轨迹
27+
z_dim = 30 # latent space size
28+
h_dim = 10 # hidden layer size
29+
timesteps = 2000 # timesteps 每个轨迹采样2000个时间点, 动态lstm,带padding
30+
state_num = 27 # state space size
31+
action_num = 40 # action space size
3432

35-
36-
vae_obj = Vae(X_dim, h_dim, z_dim, timesteps, lstm_unit_size=100, action_num=10, state_num=num_input)
33+
writer = SummaryWriter()
34+
vae_obj = Vae(h_dim, z_dim, timesteps, lstm_unit_size=10, action_num=action_num, state_num=state_num)
3735

3836
with tf.Session() as sess:
3937
sess.run(tf.global_variables_initializer())
4038
saver_vae = tf.train.Saver()
41-
# saver_encoder = tf.train.Saver(vae_obj.encoder.get_model_param_list())
42-
# saver_decoder = tf.train.Saver(vae_obj.decoder.get_model_param_list())
4339

4440
if not os.path.exists('out/'):
4541
os.makedirs('out/')
4642

47-
i = 0
48-
for it in range(1000000):
49-
X_mb, y_mb = mnist.train.next_batch(mb_size)
43+
44+
states, actions = get_dataset()
45+
idx_list = [i-1 for i ,item in enumerate(states)]
46+
for episode in range(1000000):
47+
48+
rnd_idx = random.sample(idx_list, mb_size)
49+
state_mb = np.array(np.array(states)[rnd_idx])
50+
action_mb = np.array(np.array(actions)[rnd_idx])
5051
# Reshape data to get 28 seq of 28 elements
51-
batch_x = X_mb.reshape((mb_size, timesteps, num_input))
52-
loss = vae_obj.get_loss(batch_x)
53-
if it % 1000 == 0:
54-
if it % 5000 == 0:
55-
saver_vae.save(sess, "./checkpoint_dir/vae_bilstm/vae", global_step=it, write_meta_graph=True)
56-
print('Iter: {}'.format(it))
57-
print('Loss: {:.4}'.format(loss))
58-
print()
59-
samples = vae_obj.get_sample(np.random.randn(16, z_dim))
60-
fig = plot(samples)
61-
plt.savefig('out/{}.png'.format(str(i).zfill(3)), bbox_inches='tight')
62-
i += 1
63-
plt.close(fig)
52+
batch_state= state_mb.reshape((mb_size, timesteps, state_num))
53+
batch_action = action_mb.reshape((mb_size, timesteps, action_num))
54+
loss = vae_obj.get_loss(batch_state, batch_action)
55+
56+
print(episode)
57+
print('Iter: {}'.format(episode))
58+
print('Loss: {:.4}'.format(loss))
59+
print()
60+
61+
62+
if episode % 1000 == 0:
63+
saver_vae.save(sess, "./checkpoint_dir/vae_bilstm/vae", global_step=episode, write_meta_graph=True)
64+
65+
# samples = vae_obj.get_sample(np.random.randn(16, z_dim), action_mb)
66+
67+
writer.add_scalar('loss', loss, episode)
68+
# writer.add_graph()
69+
# fig = plot(samples)
70+
# plt.savefig('out/{}.png'.format(str(i).zfill(3)), bbox_inches='tight')
71+
# i += 1
72+
# plt.close(fig)
6473

6574
def test():
6675
with tf.Session() as sess:
6776
saver = tf.train.import_meta_graph('./checkpoint_dir/vae/vae-10000.meta')
6877
saver.restore(sess, tf.train.latest_checkpoint('./checkpoint_dir/vae'))
6978

7079
mb_size = 64
71-
mnist = input_data.read_data_sets('../../MNIST_data')
80+
# mnist = input_data.read_data_sets('../../MNIST_data')
7281
# (x_train, y_train_), (x_test, y_test_) = mnist.load_data()
73-
x_test = mnist.test.images
74-
y_test_ = mnist.test.labels
82+
# x_test = mnist.test.images
83+
# y_test_ = mnist.test.labels
7584

7685
#
7786
graph = tf.get_default_graph()
7887
input = graph.get_tensor_by_name("encoder/encoder_input_x:0")
7988
latent = graph.get_tensor_by_name("add:0")
8089
# var = graph.get_tensor_by_name("encoder/encoder_latent_var/fully_connected/BiasAdd:0")
81-
l = sess.run(latent, feed_dict={input:x_test})
90+
# l = sess.run(latent, feed_dict={input:x_test})
8291

83-
print(l)
92+
# print(l)
8493

85-
pic01=plt.figure(figsize=(6, 6))
86-
plt.scatter(l[:,0], l[:,1], c=y_test_)
87-
plt.plot()
88-
plt.colorbar()
89-
plt.show()
90-
pic01.savefig('temp.png')
94+
# pic01=plt.figure(figsize=(6, 6))
95+
# plt.scatter(l[:,0], l[:,1], c=y_test_)
96+
# plt.plot()
97+
# plt.colorbar()
98+
# plt.show()
99+
# pic01.savefig('temp.png')
91100
# print(sess.run('encoder_layer_1/fully_connected/weights:0'))
92101

93102

103+
# def plot(samples):
104+
# fig = plt.figure(figsize=(4, 4))
105+
# gs = gridspec.GridSpec(4, 4)
106+
# gs.update(wspace=0.05, hspace=0.05)
107+
#
108+
# for i, sample in enumerate(samples):
109+
# ax = plt.subplot(gs[i])
110+
# plt.axis('off')
111+
# ax.set_xticklabels([])
112+
# ax.set_yticklabels([])
113+
# ax.set_aspect('equal')
114+
# plt.imshow(sample.reshape(28, 28), cmap='Greys_r')
115+
#
116+
# return fig
117+
118+
94119
if __name__ == '__main__':
95120
train()
96-
# test()
121+
# test()
122+
# print(get_dataset())
123+
124+

VAE-GAIL/VAE/out/000.png

-31.2 KB
Binary file not shown.

VAE-GAIL/VAE/out/001.png

-25.2 KB
Binary file not shown.

VAE-GAIL/VAE/out/002.png

-20.2 KB
Binary file not shown.

VAE-GAIL/VAE/out/003.png

-16.8 KB
Binary file not shown.

VAE-GAIL/VAE/out/004.png

-16.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/005.png

-15.6 KB
Binary file not shown.

VAE-GAIL/VAE/out/006.png

-15.6 KB
Binary file not shown.

VAE-GAIL/VAE/out/007.png

-16.3 KB
Binary file not shown.

VAE-GAIL/VAE/out/008.png

-15.5 KB
Binary file not shown.

VAE-GAIL/VAE/out/009.png

-14.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/010.png

-15.2 KB
Binary file not shown.

VAE-GAIL/VAE/out/011.png

-15.6 KB
Binary file not shown.

VAE-GAIL/VAE/out/012.png

-15.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/013.png

-15.2 KB
Binary file not shown.

VAE-GAIL/VAE/out/014.png

-14.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/015.png

-14.3 KB
Binary file not shown.

VAE-GAIL/VAE/out/016.png

-13.9 KB
Binary file not shown.

VAE-GAIL/VAE/out/017.png

-15.6 KB
Binary file not shown.

VAE-GAIL/VAE/out/018.png

-15.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/019.png

-15.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/020.png

-14.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/021.png

-14.9 KB
Binary file not shown.

VAE-GAIL/VAE/out/022.png

-15.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/023.png

-15.2 KB
Binary file not shown.

VAE-GAIL/VAE/out/024.png

-13.9 KB
Binary file not shown.

VAE-GAIL/VAE/out/025.png

-13.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/026.png

-14.8 KB
Binary file not shown.

VAE-GAIL/VAE/out/027.png

-14.8 KB
Binary file not shown.

VAE-GAIL/VAE/out/028.png

-15.5 KB
Binary file not shown.

VAE-GAIL/VAE/out/029.png

-16.2 KB
Binary file not shown.

VAE-GAIL/VAE/out/030.png

-14.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/031.png

-14.5 KB
Binary file not shown.

VAE-GAIL/VAE/out/032.png

-14.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/033.png

-14.9 KB
Binary file not shown.

VAE-GAIL/VAE/out/034.png

-14.1 KB
Binary file not shown.

VAE-GAIL/VAE/out/035.png

-14.5 KB
Binary file not shown.

VAE-GAIL/VAE/out/036.png

-14.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/037.png

-14.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/038.png

-15.1 KB
Binary file not shown.

VAE-GAIL/VAE/out/039.png

-14.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/040.png

-14.5 KB
Binary file not shown.

VAE-GAIL/VAE/out/041.png

-15.5 KB
Binary file not shown.

VAE-GAIL/VAE/out/042.png

-14.6 KB
Binary file not shown.

VAE-GAIL/VAE/out/043.png

-15.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/044.png

-14.9 KB
Binary file not shown.

VAE-GAIL/VAE/out/045.png

-14.9 KB
Binary file not shown.

VAE-GAIL/VAE/out/046.png

-15 KB
Binary file not shown.

VAE-GAIL/VAE/out/047.png

-14.8 KB
Binary file not shown.

VAE-GAIL/VAE/out/048.png

-14.9 KB
Binary file not shown.

VAE-GAIL/VAE/out/049.png

-14.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/050.png

-14.6 KB
Binary file not shown.

VAE-GAIL/VAE/out/051.png

-15.2 KB
Binary file not shown.

VAE-GAIL/VAE/out/052.png

-14.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/053.png

-14.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/054.png

-15 KB
Binary file not shown.

VAE-GAIL/VAE/out/055.png

-14.6 KB
Binary file not shown.

VAE-GAIL/VAE/out/056.png

-14.8 KB
Binary file not shown.

VAE-GAIL/VAE/out/057.png

-14.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/058.png

-14.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/059.png

-15.1 KB
Binary file not shown.

VAE-GAIL/VAE/out/060.png

-15.2 KB
Binary file not shown.

VAE-GAIL/VAE/out/061.png

-15.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/062.png

-14.5 KB
Binary file not shown.

VAE-GAIL/VAE/out/063.png

-15 KB
Binary file not shown.

VAE-GAIL/VAE/out/064.png

-14.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/065.png

-14.6 KB
Binary file not shown.

VAE-GAIL/VAE/out/066.png

-15.1 KB
Binary file not shown.

VAE-GAIL/VAE/out/067.png

-14.5 KB
Binary file not shown.

VAE-GAIL/VAE/out/068.png

-14.8 KB
Binary file not shown.

VAE-GAIL/VAE/out/069.png

-14 KB
Binary file not shown.

VAE-GAIL/VAE/out/070.png

-14.9 KB
Binary file not shown.

VAE-GAIL/VAE/out/071.png

-14 KB
Binary file not shown.

VAE-GAIL/VAE/out/072.png

-14.4 KB
Binary file not shown.

VAE-GAIL/VAE/out/073.png

-14.8 KB
Binary file not shown.

VAE-GAIL/VAE/out/074.png

-14.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/075.png

-14.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/076.png

-14.9 KB
Binary file not shown.

VAE-GAIL/VAE/out/077.png

-14.8 KB
Binary file not shown.

VAE-GAIL/VAE/out/078.png

-14 KB
Binary file not shown.

VAE-GAIL/VAE/out/079.png

-14.9 KB
Binary file not shown.

VAE-GAIL/VAE/out/080.png

-14.6 KB
Binary file not shown.

VAE-GAIL/VAE/out/081.png

-15.1 KB
Binary file not shown.

VAE-GAIL/VAE/out/082.png

-15.1 KB
Binary file not shown.

VAE-GAIL/VAE/out/083.png

-14.8 KB
Binary file not shown.

VAE-GAIL/VAE/out/084.png

-14.3 KB
Binary file not shown.

VAE-GAIL/VAE/out/085.png

-15.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/086.png

-14.7 KB
Binary file not shown.

VAE-GAIL/VAE/out/087.png

-14.6 KB
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)