import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
import cv2
%matplotlib inline
data1 = np.load('Japanese.npy')
data1 =data1/160
plt.imshow(data1[788,:,:], cmap='gray')
<matplotlib.image.AxesImage at 0x21e82032f60>
tf.reset_default_graph()
# sess = tf.InteractiveSession
batch_size = 32
X_in = tf.placeholder(dtype=tf.float32, shape=[None, 72, 72], name='X')
Y = tf.placeholder(dtype=tf.float32, shape=[None, 72, 72], name='Y')
Y_flat = tf.reshape(Y, shape=[-1, 72 * 72])
keep_prob = tf.placeholder(dtype=tf.float32, shape=(), name='keep_prob')
dec_in_channels = 1
n_latent = 12
reshaped_dim = [-1, 7, 7, dec_in_channels]
inputs_decoder = int(49 * dec_in_channels / 2)
def lrelu(x, alpha=0.3):
return tf.maximum(x, tf.multiply(x, alpha))
def encoder(X_in, keep_prob):
activation = lrelu
with tf.variable_scope("encoder", reuse=None):
X = tf.reshape(X_in, shape=[-1, 72, 72, 1])
x = tf.layers.conv2d(X, filters=64, kernel_size=4, strides=2, padding='same', activation=activation)
x = tf.nn.dropout(x, keep_prob)
x = tf.layers.conv2d(x, filters=64, kernel_size=4, strides=2, padding='same', activation=activation)
x = tf.nn.dropout(x, keep_prob)
x = tf.layers.conv2d(x, filters=64, kernel_size=4, strides=1, padding='same', activation=activation)
x = tf.nn.dropout(x, keep_prob)
x = tf.layers.Flatten()(x)
mn = tf.layers.dense(x, units=n_latent)
sd = 0.5 * tf.layers.dense(x, units=n_latent)
epsilon = tf.random_normal(tf.stack([tf.shape(x)[0], n_latent]))
z = mn + tf.multiply(epsilon, tf.exp(sd))
return z, mn, sd
def decoder(sampled_z, keep_prob):
with tf.variable_scope("decoder", reuse=None):
x = tf.layers.dense(sampled_z, units=inputs_decoder, activation=lrelu)
x = tf.layers.dense(x, units=inputs_decoder * 2 + 1, activation=lrelu)
x = tf.reshape(x, reshaped_dim)
x = tf.layers.conv2d_transpose(x, filters=64, kernel_size=4, strides=2, padding='same', activation=tf.nn.relu)
x = tf.nn.dropout(x, keep_prob)
x = tf.layers.conv2d_transpose(x, filters=64, kernel_size=4, strides=1, padding='same', activation=tf.nn.relu)
x = tf.nn.dropout(x, keep_prob)
x = tf.layers.conv2d_transpose(x, filters=64, kernel_size=4, strides=1, padding='same', activation=tf.nn.relu)
x = tf.layers.Flatten()(x)
x = tf.layers.dense(x, units=72*72, activation=tf.nn.sigmoid)
img = tf.reshape(x, shape=[-1, 72, 72])
return img
sess = tf.Session()
sampled, mn, sd = encoder(X_in, keep_prob)
dec = decoder(sampled, keep_prob)
# dec.eval
Configuring loss function:
unreshaped = tf.reshape(dec, [-1, 72*72])
img_loss = tf.reduce_sum(tf.squared_difference(unreshaped, Y_flat), 1)
latent_loss = -0.5 * tf.reduce_sum(1.0 + 2.0 * sd - tf.square(mn) - tf.exp(2.0 * sd), 1)
loss = tf.reduce_mean(img_loss + latent_loss )
optimizer = tf.train.AdamOptimizer(0.0005).minimize(loss)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
data1.shape
(6113, 72, 72)
def next_batch(num, data):
'''
Return a total of `num` random samples and labels.
'''
idx = np.arange(0 , len(data))
np.random.shuffle(idx)
idx = idx[:num]
data_shuffle = [data[ i] for i in idx]
return np.asarray(data_shuffle)
# batch = next_batch(batch_size, data1)
for i in range(30000):
batch = next_batch(batch_size, data1)
sess.run(optimizer, feed_dict = {X_in: batch, Y: batch, keep_prob: 0.5})
if not i % 100:
ls, d, i_ls, d_ls, mu, sigm = sess.run([loss, dec, img_loss, latent_loss, mn, sd], feed_dict = {X_in: batch, Y: batch, keep_prob: 1.0})
plt.imshow(np.reshape(batch[0], [72, 72]), cmap='gray')
plt.show()
plt.imshow(d[0], cmap='gray')
plt.show()
print('iteration: {}, loss:{}, image loss:{}, distribution loss:{}'.format(i, ls, np.mean(i_ls), np.mean(d_ls)))
iteration: 0, loss:1177.9697265625, image loss:1177.9666748046875, distribution loss:0.003020048141479492
iteration: 100, loss:132.42044067382812, image loss:130.74441528320312, distribution loss:1.6760194301605225
iteration: 200, loss:109.82254028320312, image loss:108.9465560913086, distribution loss:0.8759852647781372
iteration: 300, loss:115.42066192626953, image loss:114.30965423583984, distribution loss:1.1110044717788696
iteration: 400, loss:106.71611785888672, image loss:105.60734558105469, distribution loss:1.1087737083435059
iteration: 500, loss:113.32804107666016, image loss:110.89572143554688, distribution loss:2.4323196411132812
iteration: 600, loss:106.41990661621094, image loss:101.97073364257812, distribution loss:4.4491753578186035
iteration: 700, loss:106.37166595458984, image loss:100.83981323242188, distribution loss:5.531856536865234
iteration: 800, loss:101.53425598144531, image loss:95.54195404052734, distribution loss:5.992298126220703
iteration: 900, loss:114.74225616455078, image loss:107.28474426269531, distribution loss:7.457507133483887
iteration: 1000, loss:85.26396179199219, image loss:77.67529296875, distribution loss:7.588662147521973
iteration: 1100, loss:87.11988830566406, image loss:77.49871826171875, distribution loss:9.621179580688477
iteration: 1200, loss:102.282470703125, image loss:91.7320785522461, distribution loss:10.550398826599121
iteration: 1300, loss:93.68553924560547, image loss:83.23294067382812, distribution loss:10.452594757080078
iteration: 1400, loss:86.85295867919922, image loss:75.08735656738281, distribution loss:11.765603065490723
iteration: 1500, loss:83.12252807617188, image loss:72.90048217773438, distribution loss:10.222043991088867
iteration: 1600, loss:109.01986694335938, image loss:96.41285705566406, distribution loss:12.607012748718262
iteration: 1700, loss:95.99679565429688, image loss:82.8095932006836, distribution loss:13.187204360961914
iteration: 1800, loss:85.47482299804688, image loss:73.76480865478516, distribution loss:11.710014343261719
iteration: 1900, loss:84.32585144042969, image loss:71.49041748046875, distribution loss:12.83543872833252
iteration: 2000, loss:83.62440490722656, image loss:70.12432098388672, distribution loss:13.50008773803711
iteration: 2100, loss:83.4076919555664, image loss:71.12162017822266, distribution loss:12.286075592041016
iteration: 2200, loss:82.87071228027344, image loss:70.21898651123047, distribution loss:12.651729583740234
iteration: 2300, loss:77.2730712890625, image loss:63.06920623779297, distribution loss:14.203862190246582
iteration: 2400, loss:83.76515197753906, image loss:70.4490737915039, distribution loss:13.316080093383789
iteration: 2500, loss:79.67268371582031, image loss:65.81118774414062, distribution loss:13.861505508422852
iteration: 2600, loss:79.32598876953125, image loss:64.34725952148438, distribution loss:14.978731155395508
iteration: 2700, loss:88.60165405273438, image loss:76.05609893798828, distribution loss:12.545553207397461
iteration: 2800, loss:79.75358581542969, image loss:64.72906494140625, distribution loss:15.02452278137207
iteration: 2900, loss:89.31855773925781, image loss:74.98768615722656, distribution loss:14.330879211425781
iteration: 3000, loss:80.59783935546875, image loss:66.0565185546875, distribution loss:14.541314125061035
iteration: 3100, loss:82.23765563964844, image loss:66.71194458007812, distribution loss:15.525712013244629
iteration: 3200, loss:80.95632934570312, image loss:65.67522430419922, distribution loss:15.281108856201172
iteration: 3300, loss:77.87246704101562, image loss:63.20163345336914, distribution loss:14.6708402633667
iteration: 3400, loss:74.55697631835938, image loss:60.9150505065918, distribution loss:13.641927719116211
iteration: 3500, loss:77.12344360351562, image loss:62.701080322265625, distribution loss:14.42236042022705
iteration: 3600, loss:72.25464630126953, image loss:57.37366485595703, distribution loss:14.88097858428955
iteration: 3700, loss:75.78912353515625, image loss:60.477935791015625, distribution loss:15.311193466186523
iteration: 3800, loss:75.95417022705078, image loss:59.321651458740234, distribution loss:16.632524490356445
iteration: 3900, loss:73.07022857666016, image loss:57.4301872253418, distribution loss:15.640037536621094
iteration: 4000, loss:72.8633804321289, image loss:57.06759262084961, distribution loss:15.795787811279297
iteration: 4100, loss:67.7485122680664, image loss:52.32484436035156, distribution loss:15.423666954040527
iteration: 4200, loss:74.83545684814453, image loss:57.71603775024414, distribution loss:17.119422912597656
iteration: 4300, loss:80.32151794433594, image loss:64.35485076904297, distribution loss:15.966667175292969
iteration: 4400, loss:73.91860961914062, image loss:57.07063293457031, distribution loss:16.847976684570312
iteration: 4500, loss:74.75802612304688, image loss:58.24655532836914, distribution loss:16.511476516723633
iteration: 4600, loss:73.15060424804688, image loss:56.33125305175781, distribution loss:16.819355010986328
iteration: 4700, loss:83.82149505615234, image loss:66.46157836914062, distribution loss:17.359920501708984
iteration: 4800, loss:70.14725494384766, image loss:54.18030548095703, distribution loss:15.966955184936523
iteration: 4900, loss:69.57379150390625, image loss:53.767173767089844, distribution loss:15.80661392211914
iteration: 5000, loss:80.53224182128906, image loss:63.1859016418457, distribution loss:17.346343994140625
iteration: 5100, loss:67.47293090820312, image loss:50.45515441894531, distribution loss:17.017784118652344
iteration: 5200, loss:72.01524353027344, image loss:55.258636474609375, distribution loss:16.756603240966797
iteration: 5300, loss:72.6261215209961, image loss:55.36124801635742, distribution loss:17.26487159729004
iteration: 5400, loss:65.88238525390625, image loss:49.008201599121094, distribution loss:16.874183654785156
iteration: 5500, loss:71.28972625732422, image loss:53.96973419189453, distribution loss:17.319992065429688
iteration: 5600, loss:68.00053405761719, image loss:51.647220611572266, distribution loss:16.353313446044922
iteration: 5700, loss:74.03300476074219, image loss:55.15826416015625, distribution loss:18.87472915649414
iteration: 5800, loss:72.7860107421875, image loss:55.5675163269043, distribution loss:17.218494415283203
iteration: 5900, loss:68.011474609375, image loss:49.24879455566406, distribution loss:18.76268768310547
iteration: 6000, loss:65.085693359375, image loss:47.29033279418945, distribution loss:17.795358657836914
iteration: 6100, loss:65.96302795410156, image loss:49.40986633300781, distribution loss:16.553165435791016
iteration: 6200, loss:68.04796600341797, image loss:49.183326721191406, distribution loss:18.864639282226562
iteration: 6300, loss:64.38731384277344, image loss:46.60234451293945, distribution loss:17.78496742248535
iteration: 6400, loss:82.78523254394531, image loss:64.20935821533203, distribution loss:18.57587242126465
iteration: 6500, loss:59.53713607788086, image loss:42.40401077270508, distribution loss:17.13312530517578
iteration: 6600, loss:68.06912994384766, image loss:50.846839904785156, distribution loss:17.2222900390625
iteration: 6700, loss:60.89594268798828, image loss:43.65290832519531, distribution loss:17.2430362701416
iteration: 6800, loss:62.364871978759766, image loss:43.60406494140625, distribution loss:18.76080894470215
iteration: 6900, loss:65.04157257080078, image loss:45.36028289794922, distribution loss:19.681289672851562
iteration: 7000, loss:54.229736328125, image loss:36.68307876586914, distribution loss:17.546661376953125
iteration: 7100, loss:56.82120895385742, image loss:38.49928283691406, distribution loss:18.32192611694336
iteration: 7200, loss:67.08076477050781, image loss:46.45071792602539, distribution loss:20.630050659179688
iteration: 7300, loss:62.68365478515625, image loss:44.338531494140625, distribution loss:18.345123291015625
iteration: 7400, loss:61.73033905029297, image loss:42.019134521484375, distribution loss:19.711200714111328
iteration: 7500, loss:63.791690826416016, image loss:42.50676727294922, distribution loss:21.284923553466797
iteration: 7600, loss:61.21860122680664, image loss:41.748512268066406, distribution loss:19.470090866088867
iteration: 7700, loss:61.610111236572266, image loss:42.8067741394043, distribution loss:18.80333709716797
iteration: 7800, loss:65.73965454101562, image loss:46.66129684448242, distribution loss:19.078359603881836
iteration: 7900, loss:60.90753936767578, image loss:42.49803161621094, distribution loss:18.409507751464844
iteration: 8000, loss:59.628196716308594, image loss:40.71082305908203, distribution loss:18.917367935180664
iteration: 8100, loss:55.926727294921875, image loss:36.34556579589844, distribution loss:19.58116340637207
iteration: 8200, loss:54.93402099609375, image loss:36.321598052978516, distribution loss:18.6124210357666
iteration: 8300, loss:55.471153259277344, image loss:36.27838134765625, distribution loss:19.192773818969727
iteration: 8400, loss:60.49314880371094, image loss:41.37547302246094, distribution loss:19.117679595947266
iteration: 8500, loss:57.79541015625, image loss:38.70505905151367, distribution loss:19.090347290039062
iteration: 8600, loss:53.83234405517578, image loss:35.496238708496094, distribution loss:18.336105346679688
iteration: 8700, loss:50.61720275878906, image loss:31.66897964477539, distribution loss:18.948223114013672
iteration: 8800, loss:62.22733688354492, image loss:42.542381286621094, distribution loss:19.684955596923828
iteration: 8900, loss:60.37812805175781, image loss:40.647953033447266, distribution loss:19.730175018310547
iteration: 9000, loss:52.157997131347656, image loss:32.37150955200195, distribution loss:19.78649139404297
iteration: 9100, loss:53.678489685058594, image loss:33.44512939453125, distribution loss:20.233362197875977
iteration: 9200, loss:53.30522155761719, image loss:35.34618377685547, distribution loss:17.95903778076172
iteration: 9300, loss:49.749595642089844, image loss:28.596651077270508, distribution loss:21.152942657470703
iteration: 9400, loss:53.666324615478516, image loss:33.33533477783203, distribution loss:20.330991744995117
iteration: 9500, loss:56.651302337646484, image loss:35.78693771362305, distribution loss:20.864364624023438
iteration: 9600, loss:53.83502197265625, image loss:32.96490478515625, distribution loss:20.8701171875
iteration: 9700, loss:54.01103973388672, image loss:34.17247009277344, distribution loss:19.838573455810547
iteration: 9800, loss:49.621788024902344, image loss:28.137094497680664, distribution loss:21.484695434570312
iteration: 9900, loss:49.17644119262695, image loss:28.368112564086914, distribution loss:20.808330535888672
iteration: 10000, loss:54.74398422241211, image loss:33.16424560546875, distribution loss:21.579742431640625
iteration: 10100, loss:51.92566680908203, image loss:32.52781677246094, distribution loss:19.397846221923828
iteration: 10200, loss:50.4172248840332, image loss:30.09886360168457, distribution loss:20.318361282348633
iteration: 10300, loss:53.83905029296875, image loss:33.29243850708008, distribution loss:20.546607971191406
iteration: 10400, loss:50.0272102355957, image loss:29.615875244140625, distribution loss:20.411333084106445
iteration: 10500, loss:48.999656677246094, image loss:27.68703269958496, distribution loss:21.3126277923584
iteration: 10600, loss:52.23788833618164, image loss:30.54590606689453, distribution loss:21.691984176635742
iteration: 10700, loss:52.378135681152344, image loss:31.59430694580078, distribution loss:20.783828735351562
iteration: 10800, loss:47.051719665527344, image loss:26.628177642822266, distribution loss:20.423542022705078
iteration: 10900, loss:55.08924102783203, image loss:34.01026916503906, distribution loss:21.078969955444336
iteration: 11000, loss:47.96449279785156, image loss:26.674755096435547, distribution loss:21.289737701416016
iteration: 11100, loss:49.700950622558594, image loss:27.446014404296875, distribution loss:22.254932403564453
iteration: 11200, loss:53.35490036010742, image loss:30.733596801757812, distribution loss:22.62130355834961
iteration: 11300, loss:51.3284912109375, image loss:29.940757751464844, distribution loss:21.38773536682129
iteration: 11400, loss:47.622283935546875, image loss:27.407405853271484, distribution loss:20.21487808227539
iteration: 11500, loss:46.6114501953125, image loss:25.98189353942871, distribution loss:20.62955665588379
iteration: 11600, loss:45.68068313598633, image loss:24.69490623474121, distribution loss:20.985774993896484
iteration: 11700, loss:46.52988815307617, image loss:25.341745376586914, distribution loss:21.18814468383789
iteration: 11800, loss:50.19679641723633, image loss:28.298736572265625, distribution loss:21.898059844970703
iteration: 11900, loss:45.57007598876953, image loss:24.445030212402344, distribution loss:21.125045776367188
iteration: 12000, loss:48.011932373046875, image loss:25.727928161621094, distribution loss:22.28400421142578
iteration: 12100, loss:51.341712951660156, image loss:28.76787567138672, distribution loss:22.573835372924805
iteration: 12200, loss:48.36090850830078, image loss:27.837984085083008, distribution loss:20.522926330566406
iteration: 12300, loss:46.8653564453125, image loss:27.445419311523438, distribution loss:19.419939041137695
iteration: 12400, loss:46.52366638183594, image loss:25.316755294799805, distribution loss:21.206911087036133
iteration: 12500, loss:51.39558410644531, image loss:29.285430908203125, distribution loss:22.110157012939453
iteration: 12600, loss:46.0340690612793, image loss:23.07677459716797, distribution loss:22.95729637145996
iteration: 12700, loss:45.92987823486328, image loss:24.661392211914062, distribution loss:21.268489837646484
iteration: 12800, loss:46.137298583984375, image loss:24.499216079711914, distribution loss:21.638084411621094
iteration: 12900, loss:44.431922912597656, image loss:23.261962890625, distribution loss:21.169960021972656
iteration: 13000, loss:47.98812484741211, image loss:27.201942443847656, distribution loss:20.786178588867188
iteration: 13100, loss:43.59014129638672, image loss:22.24565887451172, distribution loss:21.344482421875
iteration: 13200, loss:44.36316680908203, image loss:22.352933883666992, distribution loss:22.010231018066406
iteration: 13300, loss:45.62992858886719, image loss:23.47578239440918, distribution loss:22.154146194458008
iteration: 13400, loss:46.050418853759766, image loss:25.242916107177734, distribution loss:20.80750274658203
iteration: 13500, loss:45.15294647216797, image loss:23.459041595458984, distribution loss:21.693906784057617
iteration: 13600, loss:46.033935546875, image loss:23.997068405151367, distribution loss:22.036869049072266
iteration: 13700, loss:47.78772735595703, image loss:27.996578216552734, distribution loss:19.79115104675293
iteration: 13800, loss:44.82703399658203, image loss:22.517807006835938, distribution loss:22.309226989746094
iteration: 13900, loss:45.37858581542969, image loss:23.566299438476562, distribution loss:21.812286376953125
iteration: 14000, loss:46.306732177734375, image loss:24.17637825012207, distribution loss:22.130355834960938
iteration: 14100, loss:43.09754943847656, image loss:21.797502517700195, distribution loss:21.300048828125
iteration: 14200, loss:47.57386016845703, image loss:24.193256378173828, distribution loss:23.38060760498047
iteration: 14300, loss:44.99140930175781, image loss:23.25287437438965, distribution loss:21.7385311126709
iteration: 14400, loss:45.75453186035156, image loss:24.11334991455078, distribution loss:21.641185760498047
iteration: 14500, loss:40.84827423095703, image loss:19.21380615234375, distribution loss:21.634464263916016
iteration: 14600, loss:43.14088821411133, image loss:21.09848403930664, distribution loss:22.042400360107422
iteration: 14700, loss:47.36791229248047, image loss:24.630380630493164, distribution loss:22.737529754638672
iteration: 14800, loss:41.330360412597656, image loss:19.20343780517578, distribution loss:22.12691879272461
iteration: 14900, loss:46.890350341796875, image loss:23.180532455444336, distribution loss:23.709815979003906
iteration: 15000, loss:45.56755065917969, image loss:23.757949829101562, distribution loss:21.80959701538086
iteration: 15100, loss:43.16853332519531, image loss:21.448598861694336, distribution loss:21.71993637084961
iteration: 15200, loss:42.07646179199219, image loss:18.64982032775879, distribution loss:23.42664337158203
iteration: 15300, loss:45.322044372558594, image loss:22.339523315429688, distribution loss:22.982521057128906
iteration: 15400, loss:43.08591079711914, image loss:21.463552474975586, distribution loss:21.622360229492188
iteration: 15500, loss:42.54199981689453, image loss:20.79806900024414, distribution loss:21.743932723999023
iteration: 15600, loss:43.91114807128906, image loss:22.011503219604492, distribution loss:21.899642944335938
iteration: 15700, loss:42.53101348876953, image loss:22.064167022705078, distribution loss:20.46685028076172
iteration: 15800, loss:42.113677978515625, image loss:20.061094284057617, distribution loss:22.052583694458008
iteration: 15900, loss:46.18882751464844, image loss:24.524696350097656, distribution loss:21.66412925720215
iteration: 16000, loss:42.95295715332031, image loss:20.820892333984375, distribution loss:22.132061004638672
iteration: 16100, loss:43.610511779785156, image loss:19.927997589111328, distribution loss:23.682510375976562
iteration: 16200, loss:43.951820373535156, image loss:20.15888786315918, distribution loss:23.792932510375977
iteration: 16300, loss:42.501712799072266, image loss:20.838741302490234, distribution loss:21.662973403930664
iteration: 16400, loss:42.81421661376953, image loss:20.86343002319336, distribution loss:21.950786590576172
iteration: 16500, loss:41.55270004272461, image loss:18.737159729003906, distribution loss:22.815540313720703
iteration: 16600, loss:45.93399429321289, image loss:23.62511444091797, distribution loss:22.308879852294922
iteration: 16700, loss:42.362548828125, image loss:20.166234970092773, distribution loss:22.19631576538086
iteration: 16800, loss:41.7446403503418, image loss:18.9290828704834, distribution loss:22.8155574798584
iteration: 16900, loss:40.76554870605469, image loss:17.825878143310547, distribution loss:22.939674377441406
iteration: 17000, loss:40.83319091796875, image loss:18.965452194213867, distribution loss:21.867734909057617
iteration: 17100, loss:38.336387634277344, image loss:15.423377990722656, distribution loss:22.913007736206055
iteration: 17200, loss:40.37666702270508, image loss:17.64731216430664, distribution loss:22.729358673095703
iteration: 17300, loss:43.476531982421875, image loss:20.80132293701172, distribution loss:22.67520523071289
iteration: 17400, loss:44.35669708251953, image loss:22.1550350189209, distribution loss:22.201663970947266
iteration: 17500, loss:44.0770378112793, image loss:22.455671310424805, distribution loss:21.62136459350586
iteration: 17600, loss:41.97923278808594, image loss:19.350521087646484, distribution loss:22.62870979309082
iteration: 17700, loss:41.706783294677734, image loss:19.373699188232422, distribution loss:22.333084106445312
iteration: 17800, loss:39.6092529296875, image loss:15.699532508850098, distribution loss:23.909719467163086
iteration: 17900, loss:44.36448669433594, image loss:21.329669952392578, distribution loss:23.034820556640625
iteration: 18000, loss:40.694793701171875, image loss:18.487613677978516, distribution loss:22.20718002319336
iteration: 18100, loss:40.7313232421875, image loss:19.178855895996094, distribution loss:21.552467346191406
iteration: 18200, loss:40.31501388549805, image loss:19.057567596435547, distribution loss:21.257448196411133
iteration: 18300, loss:42.5334587097168, image loss:19.781002044677734, distribution loss:22.752456665039062
iteration: 18400, loss:42.94444274902344, image loss:19.73784828186035, distribution loss:23.206592559814453
iteration: 18500, loss:42.57785415649414, image loss:20.453481674194336, distribution loss:22.124374389648438
iteration: 18600, loss:39.52610778808594, image loss:15.509381294250488, distribution loss:24.016727447509766
iteration: 18700, loss:41.78694152832031, image loss:18.84165382385254, distribution loss:22.94528579711914
iteration: 18800, loss:41.611900329589844, image loss:17.774208068847656, distribution loss:23.837692260742188
iteration: 18900, loss:39.688201904296875, image loss:17.049318313598633, distribution loss:22.638883590698242
iteration: 19000, loss:42.848236083984375, image loss:20.75521469116211, distribution loss:22.09302520751953
iteration: 19100, loss:40.56589889526367, image loss:17.77029800415039, distribution loss:22.79560089111328
iteration: 19200, loss:41.35108947753906, image loss:18.95069122314453, distribution loss:22.4003963470459
iteration: 19300, loss:42.202030181884766, image loss:18.7203311920166, distribution loss:23.481700897216797
iteration: 19400, loss:41.24144744873047, image loss:17.582305908203125, distribution loss:23.65913963317871
iteration: 19500, loss:39.66940689086914, image loss:17.70526123046875, distribution loss:21.964147567749023
iteration: 19600, loss:42.12455368041992, image loss:18.979900360107422, distribution loss:23.1446533203125
iteration: 19700, loss:40.463905334472656, image loss:18.005443572998047, distribution loss:22.45846176147461
iteration: 19800, loss:39.18981170654297, image loss:17.453462600708008, distribution loss:21.73634910583496
iteration: 19900, loss:38.87028503417969, image loss:16.9639892578125, distribution loss:21.906295776367188
iteration: 20000, loss:41.84107971191406, image loss:18.990886688232422, distribution loss:22.850194931030273
iteration: 20100, loss:42.86772155761719, image loss:21.024765014648438, distribution loss:21.842954635620117
iteration: 20200, loss:40.730064392089844, image loss:17.724477767944336, distribution loss:23.005586624145508
iteration: 20300, loss:40.105865478515625, image loss:17.748197555541992, distribution loss:22.357667922973633
iteration: 20400, loss:38.399166107177734, image loss:16.832611083984375, distribution loss:21.56655502319336
iteration: 20500, loss:43.15586853027344, image loss:21.690319061279297, distribution loss:21.465553283691406
iteration: 20600, loss:39.886756896972656, image loss:17.902738571166992, distribution loss:21.98401641845703
iteration: 20700, loss:39.91847610473633, image loss:17.118053436279297, distribution loss:22.80042266845703
iteration: 20800, loss:40.50022888183594, image loss:18.32858657836914, distribution loss:22.171642303466797
iteration: 20900, loss:43.84286117553711, image loss:20.628753662109375, distribution loss:23.214107513427734
iteration: 21000, loss:41.12137985229492, image loss:18.304534912109375, distribution loss:22.816844940185547
iteration: 21100, loss:38.276268005371094, image loss:15.52277660369873, distribution loss:22.753490447998047
iteration: 21200, loss:40.48380661010742, image loss:16.79182243347168, distribution loss:23.691986083984375
iteration: 21300, loss:38.187767028808594, image loss:16.441585540771484, distribution loss:21.74618148803711
iteration: 21400, loss:39.38031768798828, image loss:17.757659912109375, distribution loss:21.62265968322754
iteration: 21500, loss:39.75413513183594, image loss:16.469959259033203, distribution loss:23.284175872802734
iteration: 21600, loss:40.931480407714844, image loss:17.718727111816406, distribution loss:23.212753295898438
iteration: 21700, loss:37.793094635009766, image loss:15.007003784179688, distribution loss:22.78609275817871
iteration: 21800, loss:42.523040771484375, image loss:19.74676513671875, distribution loss:22.776275634765625
iteration: 21900, loss:38.749794006347656, image loss:15.518081665039062, distribution loss:23.231712341308594
iteration: 22000, loss:40.05940628051758, image loss:16.71790313720703, distribution loss:23.341503143310547
iteration: 22100, loss:38.48054504394531, image loss:15.743857383728027, distribution loss:22.73668670654297
iteration: 22200, loss:40.25922393798828, image loss:18.937021255493164, distribution loss:21.322200775146484
iteration: 22300, loss:39.737396240234375, image loss:16.573097229003906, distribution loss:23.16429901123047
iteration: 22400, loss:41.726409912109375, image loss:17.35367202758789, distribution loss:24.372737884521484
iteration: 22500, loss:40.22197723388672, image loss:17.67125701904297, distribution loss:22.550718307495117
iteration: 22600, loss:38.857147216796875, image loss:14.193718910217285, distribution loss:24.66342544555664
iteration: 22700, loss:41.707366943359375, image loss:19.10851287841797, distribution loss:22.598852157592773
iteration: 22800, loss:38.49205780029297, image loss:16.224781036376953, distribution loss:22.267276763916016
iteration: 22900, loss:39.76735305786133, image loss:17.285032272338867, distribution loss:22.482322692871094
iteration: 23000, loss:40.49976348876953, image loss:17.43083953857422, distribution loss:23.068923950195312
iteration: 23100, loss:39.59199523925781, image loss:16.037620544433594, distribution loss:23.554372787475586
iteration: 23200, loss:40.51824188232422, image loss:17.779163360595703, distribution loss:22.73907470703125
iteration: 23300, loss:37.1715202331543, image loss:15.048882484436035, distribution loss:22.122638702392578
iteration: 23400, loss:39.13178253173828, image loss:16.23558807373047, distribution loss:22.89619255065918
iteration: 23500, loss:39.80560302734375, image loss:17.029315948486328, distribution loss:22.77628517150879
iteration: 23600, loss:37.66588592529297, image loss:14.259944915771484, distribution loss:23.405941009521484
iteration: 23700, loss:38.996849060058594, image loss:16.201810836791992, distribution loss:22.79503631591797
iteration: 23800, loss:39.65378952026367, image loss:15.63050651550293, distribution loss:24.02328109741211
iteration: 23900, loss:40.42354965209961, image loss:17.961332321166992, distribution loss:22.46221923828125
iteration: 24000, loss:45.94255065917969, image loss:22.906585693359375, distribution loss:23.035961151123047
iteration: 24100, loss:39.81983184814453, image loss:15.886353492736816, distribution loss:23.933481216430664
iteration: 24200, loss:39.309844970703125, image loss:14.993413925170898, distribution loss:24.316429138183594
iteration: 24300, loss:40.153316497802734, image loss:17.46920394897461, distribution loss:22.684112548828125
iteration: 24400, loss:38.84614181518555, image loss:15.425333023071289, distribution loss:23.420808792114258
iteration: 24500, loss:38.956077575683594, image loss:15.813456535339355, distribution loss:23.142620086669922
iteration: 24600, loss:40.68782424926758, image loss:16.822486877441406, distribution loss:23.86533546447754
iteration: 24700, loss:38.844913482666016, image loss:15.490458488464355, distribution loss:23.354454040527344
iteration: 24800, loss:38.891029357910156, image loss:16.616153717041016, distribution loss:22.27487564086914
iteration: 24900, loss:37.586265563964844, image loss:14.700652122497559, distribution loss:22.885610580444336
iteration: 25000, loss:41.21211624145508, image loss:17.468233108520508, distribution loss:23.74388313293457
iteration: 25100, loss:36.537662506103516, image loss:14.956644058227539, distribution loss:21.58102035522461
iteration: 25200, loss:37.04151916503906, image loss:14.673690795898438, distribution loss:22.367826461791992
iteration: 25300, loss:36.340301513671875, image loss:14.222713470458984, distribution loss:22.11758804321289
iteration: 25400, loss:37.39011764526367, image loss:14.225543975830078, distribution loss:23.164573669433594
iteration: 25500, loss:36.47725296020508, image loss:14.570770263671875, distribution loss:21.906482696533203
iteration: 25600, loss:38.77454376220703, image loss:15.26152229309082, distribution loss:23.513019561767578
iteration: 25700, loss:41.109405517578125, image loss:17.464656829833984, distribution loss:23.64474868774414
iteration: 25800, loss:36.47046661376953, image loss:12.422250747680664, distribution loss:24.048215866088867
iteration: 25900, loss:38.08203887939453, image loss:14.504669189453125, distribution loss:23.577369689941406
iteration: 26000, loss:37.80317687988281, image loss:15.257314682006836, distribution loss:22.54586410522461
iteration: 26100, loss:39.58098602294922, image loss:16.769393920898438, distribution loss:22.811588287353516
iteration: 26200, loss:38.148590087890625, image loss:15.00070571899414, distribution loss:23.147886276245117
iteration: 26300, loss:39.867095947265625, image loss:17.174501419067383, distribution loss:22.692594528198242
iteration: 26400, loss:39.53022003173828, image loss:16.487930297851562, distribution loss:23.04229164123535
iteration: 26500, loss:37.47327423095703, image loss:14.277580261230469, distribution loss:23.195693969726562
iteration: 26600, loss:39.987648010253906, image loss:15.491287231445312, distribution loss:24.496360778808594
iteration: 26700, loss:36.2235221862793, image loss:14.345300674438477, distribution loss:21.878219604492188
iteration: 26800, loss:37.421024322509766, image loss:13.620606422424316, distribution loss:23.800416946411133
iteration: 26900, loss:36.77141189575195, image loss:13.668807029724121, distribution loss:23.10260581970215
iteration: 27000, loss:39.697513580322266, image loss:17.8557071685791, distribution loss:21.841808319091797
iteration: 27100, loss:36.633480072021484, image loss:14.268987655639648, distribution loss:22.364492416381836
iteration: 27200, loss:35.45989227294922, image loss:13.149632453918457, distribution loss:22.31026268005371
iteration: 27300, loss:36.65175247192383, image loss:13.528976440429688, distribution loss:23.12277603149414
iteration: 27400, loss:35.037498474121094, image loss:12.759109497070312, distribution loss:22.278385162353516
iteration: 27500, loss:37.813621520996094, image loss:14.763294219970703, distribution loss:23.05032730102539
iteration: 27600, loss:37.555755615234375, image loss:14.477188110351562, distribution loss:23.078567504882812
iteration: 27700, loss:40.453773498535156, image loss:16.279590606689453, distribution loss:24.174182891845703
iteration: 27800, loss:36.28306579589844, image loss:13.751405715942383, distribution loss:22.53165626525879
iteration: 27900, loss:38.04607391357422, image loss:14.92092227935791, distribution loss:23.125152587890625
iteration: 28000, loss:37.40415954589844, image loss:14.476391792297363, distribution loss:22.92776870727539
iteration: 28100, loss:36.852752685546875, image loss:12.874401092529297, distribution loss:23.978351593017578
iteration: 28200, loss:37.94383239746094, image loss:15.151894569396973, distribution loss:22.791940689086914
iteration: 28300, loss:35.14076614379883, image loss:13.136763572692871, distribution loss:22.00400161743164
iteration: 28400, loss:37.5654411315918, image loss:14.21063232421875, distribution loss:23.354812622070312
iteration: 28500, loss:38.782615661621094, image loss:14.930791854858398, distribution loss:23.851821899414062
iteration: 28600, loss:38.561439514160156, image loss:15.75281047821045, distribution loss:22.808626174926758
iteration: 28700, loss:37.32818603515625, image loss:14.845462799072266, distribution loss:22.48272132873535
iteration: 28800, loss:36.08580780029297, image loss:13.55600643157959, distribution loss:22.529800415039062
iteration: 28900, loss:37.590972900390625, image loss:14.095695495605469, distribution loss:23.49527931213379
iteration: 29000, loss:35.71483612060547, image loss:12.828625679016113, distribution loss:22.886213302612305
iteration: 29100, loss:38.33140563964844, image loss:14.299367904663086, distribution loss:24.03203582763672
iteration: 29200, loss:36.407230377197266, image loss:13.269065856933594, distribution loss:23.138164520263672
iteration: 29300, loss:38.79778289794922, image loss:16.039196014404297, distribution loss:22.75858497619629
iteration: 29400, loss:36.60057067871094, image loss:13.522270202636719, distribution loss:23.078296661376953
iteration: 29500, loss:36.62059783935547, image loss:13.454708099365234, distribution loss:23.1658935546875
iteration: 29600, loss:37.44451904296875, image loss:14.0599365234375, distribution loss:23.38458251953125
iteration: 29700, loss:37.09652328491211, image loss:12.749534606933594, distribution loss:24.346988677978516
iteration: 29800, loss:39.633636474609375, image loss:15.657123565673828, distribution loss:23.97651481628418
iteration: 29900, loss:38.980804443359375, image loss:15.511337280273438, distribution loss:23.469467163085938
randoms = [np.random.normal(0, 1, n_latent) for _ in range(1)]
imgs = sess.run(dec, feed_dict = {sampled: randoms, keep_prob: 1.0})
imgs = [np.reshape(imgs[i], [72, 72]) for i in range(len(imgs))]
# imgs = np.array(imgs)
# imgs.shape
# for img in imgs:
# plt.figure(figsize=(1,1))
# plt.axis('off')
plt.imshow(imgs[0], cmap='gray')
<matplotlib.image.AxesImage at 0x21fbc5e8978>