{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# LSGAN MNIST\n", "\n", "This notebook is for implementing `Least Squares Generative Adversarial Networks (LSGAN)` from the paper [Least Squares Generative Adversarial Networks](https://arxiv.org/abs/1611.04076) with [Tensorflow](https://www.tensorflow.org).
\n", "[MNIST data](http://yann.lecun.com/exdb/mnist/) will be used.\n", "\n", "Reference: [hwalsuklee's Github](https://github.com/hwalsuklee/tensorflow-generative-model-collections)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import os\n", "os.environ['CUDA_VISIBLE_DEVICES'] = '0'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Import Libraries" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import tensorflow as tf\n", "import matplotlib.pyplot as plt\n", "import random\n", "import datetime\n", "import os" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Parameters\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "algorithm = 'LSGAN_MNIST'\n", "\n", "img_size = 28\n", "\n", "batch_size = 128\n", "num_epoch = 50\n", "\n", "n_latent = 100\n", "\n", "beta1 = 0.5\n", "\n", "learning_rate_g = 0.0002\n", "learning_rate_d = 0.0002\n", "\n", "show_result_epoch = 5\n", "\n", "date_time = datetime.datetime.now().strftime(\"%Y%m%d-%H-%M-%S\")\n", "\n", "load_model = False\n", "train_model = True\n", "\n", "save_path = \"./saved_models/\" + date_time + \"_\" + algorithm\n", "load_path = \"./saved_models/20190809-11-04-47_LSGAN_MNIST/model/model\" " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Import MNIST Dataset\n", "\n", "Tuple of Numpy arrays: `(x_train, y_train), (x_test, y_test)`." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "mnist = tf.keras.datasets.mnist.load_data(path='mnist.npz')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x_train shape: (60000, 28, 28)\n", "y_train shape: (60000,)\n", "x_test shape: (10000, 28, 28)\n", "y_test shape: (10000,)\n" ] } ], "source": [ "x_train = mnist[0][0]\n", "y_train = mnist[0][1]\n", "x_test = mnist[1][0]\n", "y_test = mnist[1][1]\n", "\n", "print('x_train shape: {}'.format(x_train.shape))\n", "print('y_train shape: {}'.format(y_train.shape))\n", "print('x_test shape: {}'.format(x_test.shape))\n", "print('y_test shape: {}'.format(y_test.shape))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generator" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def Generator(x, is_training, reuse=False):\n", " with tf.variable_scope('Generator', reuse=reuse):\n", " xavier_init_conv = tf.contrib.layers.xavier_initializer_conv2d()\n", " xavier_init = tf.contrib.layers.xavier_initializer()\n", " \n", " # Project and Reshape \n", " w1 = tf.get_variable('w1', [x.get_shape()[1], 7*7*1024], initializer=xavier_init)\n", " b1 = tf.get_variable('b1', [7*7*1024], initializer=xavier_init)\n", " \n", " x_project = tf.matmul(x,w1)+b1\n", " x_reshape = tf.reshape(x_project, (-1, 7, 7, 1024))\n", " \n", " # First deconv layer\n", " h1 = tf.layers.conv2d_transpose(x_reshape,filters=512, kernel_size=5, strides=1, padding='SAME', kernel_initializer=xavier_init_conv)\n", " h1 = tf.nn.leaky_relu(h1)\n", " \n", " # Second deconv layer\n", " h2 = tf.layers.conv2d_transpose(h1,filters=256, kernel_size=5, strides=2, padding='SAME', kernel_initializer=xavier_init_conv)\n", " h2 = tf.layers.batch_normalization(h2, training=is_training)\n", " h2 = tf.nn.leaky_relu(h2) \n", " \n", " # Third deconv layer \n", " h3 = tf.layers.conv2d_transpose(h2, filters=128, kernel_size=5, strides=2, padding='SAME', kernel_initializer=xavier_init_conv)\n", " h3 = tf.layers.batch_normalization(h3, training=is_training)\n", " h3 = tf.nn.leaky_relu(h3)\n", " \n", " # Output layer\n", " logits = tf.layers.conv2d_transpose(h3, filters=1, kernel_size=5, strides=1, padding='SAME', kernel_initializer=xavier_init_conv) \n", " output = tf.tanh(logits)\n", " \n", " return output" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Discriminator" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def Discriminator(x, is_training, reuse=False):\n", " with tf.variable_scope('Discriminator', reuse=reuse):\n", " xavier_init_conv = tf.contrib.layers.xavier_initializer_conv2d()\n", " xavier_init = tf.contrib.layers.xavier_initializer()\n", "\n", " # First conv layer\n", " h1 = tf.layers.conv2d(x, filters=64, kernel_size=5, strides=2, padding='SAME', kernel_initializer=xavier_init_conv)\n", " h1 = tf.nn.leaky_relu(h1)\n", " \n", " # Second conv layer\n", " h2 = tf.layers.conv2d(h1, filters=128, kernel_size=5, strides=2, padding='SAME', kernel_initializer=xavier_init_conv)\n", " h2 = tf.layers.batch_normalization(h2, training=is_training)\n", " h2 = tf.nn.leaky_relu(h2)\n", " \n", " # Trhid conv layer\n", " h3 = tf.layers.conv2d(h2, filters=256, kernel_size=5, strides=2, padding='SAME', kernel_initializer=xavier_init_conv)\n", " h3 = tf.layers.batch_normalization(h3, training=is_training)\n", " h3 = tf.nn.leaky_relu(h3)\n", " \n", " # Output layer\n", " flatten = tf.reshape(h3, (-1, h3.get_shape()[1]*h3.get_shape()[2]*h3.get_shape()[3]))\n", " \n", " logit = tf.layers.dense(flatten, 1, kernel_initializer=xavier_init)\n", " output = tf.sigmoid(logit) \n", "\n", " return logit, output" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## GAN" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def GAN(x, z, is_training):\n", " # Generator\n", " G = Generator(z, is_training)\n", " \n", " # Discriminator\n", " D_logit_real, D_out_real = Discriminator(x, is_training)\n", " D_logit_fake, D_out_fake = Discriminator(G, is_training, reuse=True)\n", " \n", " # get loss (LSGAN)\n", " ########################################### LSGAN ###########################################\n", " d_loss = tf.reduce_mean(tf.square(D_logit_real-1)) + tf.reduce_mean(tf.square(D_logit_fake))\n", " g_loss = tf.reduce_mean(tf.square(D_logit_fake-1))\n", " #############################################################################################\n", " \n", " return d_loss, g_loss , G" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Build Graph" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "x = tf.placeholder(tf.float32, shape=[None, img_size, img_size, 1])\n", "x_normalize = (tf.cast(x, tf.float32) - (255.0/2)) / (255.0/2)\n", "\n", "z = tf.placeholder(tf.float32, shape=[None, n_latent])\n", "\n", "is_training = tf.placeholder(tf.bool)\n", "\n", "d_loss, g_loss, G = GAN(x_normalize, z, is_training) \n", "\n", "# optimization\n", "trainable_variables = tf.trainable_variables()\n", "\n", "trainable_variables_d = [var for var in trainable_variables if var.name.startswith('Discriminator')]\n", "trainable_variables_g = [var for var in trainable_variables if var.name.startswith('Generator')]\n", "\n", "update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)\n", "with tf.control_dependencies(update_ops):\n", " train_step_d = tf.train.AdamOptimizer(learning_rate_d).minimize(d_loss, var_list=trainable_variables_d)\n", " train_step_g = tf.train.AdamOptimizer(learning_rate_g).minimize(g_loss, var_list=trainable_variables_g)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initialization" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# Initialize variables\n", "config = tf.ConfigProto()\n", "config.gpu_options.allow_growth = True\n", "\n", "sess = tf.InteractiveSession(config=config)\n", "\n", "init = tf.global_variables_initializer()\n", "sess.run(init)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load Model" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "Saver = tf.train.Saver()\n", "\n", "if load_model == True:\n", " Saver.restore(sess, load_path)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Train" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 1 / G Loss: 1.16529 / D Loss: 0.03153\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 2 / G Loss: 0.93867 / D Loss: 0.01897\n", "Epoch: 3 / G Loss: 0.98852 / D Loss: 0.13377\n", "Epoch: 4 / G Loss: 1.11253 / D Loss: 0.09127\n", "Epoch: 5 / G Loss: 1.21264 / D Loss: 0.15079\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 6 / G Loss: 0.49315 / D Loss: 0.18410\n", "Epoch: 7 / G Loss: 0.90248 / D Loss: 0.13175\n", "Epoch: 8 / G Loss: 0.90078 / D Loss: 0.12266\n", "Epoch: 9 / G Loss: 1.01937 / D Loss: 0.11503\n", "Epoch: 10 / G Loss: 0.42919 / D Loss: 0.15157\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 11 / G Loss: 0.84066 / D Loss: 0.16259\n", "Epoch: 12 / G Loss: 0.96826 / D Loss: 0.15540\n", "Epoch: 13 / G Loss: 0.56044 / D Loss: 0.22127\n", "Epoch: 14 / G Loss: 1.41663 / D Loss: 0.15017\n", "Epoch: 15 / G Loss: 0.70713 / D Loss: 0.14754\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 16 / G Loss: 1.08319 / D Loss: 0.19816\n", "Epoch: 17 / G Loss: 0.83252 / D Loss: 0.20349\n", "Epoch: 18 / G Loss: 0.51215 / D Loss: 0.31056\n", "Epoch: 19 / G Loss: 0.67321 / D Loss: 0.27336\n", "Epoch: 20 / G Loss: 0.46792 / D Loss: 0.34625\n" ] }, { "data": { "image/png": "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OProowHo378/ANtuW9sH4tpra5t1H3HEEQDMmDEDgPvuuw+IccaPfOQjABx33HEADB8ee97/5z+1xmbjx4+ve+/nPvc5oHfXpbin1P4jj9RanPe12vosSCvwZuyu906YMAGA/fbbD4CNNtoIiKp23XXXrXufvLG///3vAEydOhWAWbNm1b2vCDRWdE7tOPaWW9a2qb377rsBWGmlWjv6PffcE4gK/ZVXXln23hdffBGI59vovItoZa9xsMkmce9nedgnn3wyAP/+978B+MAHPgDEa11llVUA+POf/wzEe/Wuu+4C2nvPuiJ3HMepOIXGyLOMZymmPHHiRAC+/e1vA1GlqVZdlSVS6osXLwbg4Ydru7SNHDkSgNVWWw2AN96o9XXXty7EWPgWW2wBwNixYwH429/+1uW5NRPjU95gq622AqLyy8N7keKRF/PNb34TgHnz5gEwbtw4ANZcc00AfvSjHwFw3XXX9frYrcQ9db5ZjNFBgwYB8NJLtS0WNS6aRarrtttuA6INISq0ntJqjDx9LlkgW6++em1r2s985jMAjBo1CohjX78VI3/ssccAOP/88wH4yU9+AsR7ppnz1D36/vvv5xYj13V+4hOfWPaYxnfSC0++No3Go67x4IMPBuDWW2+tez5LPEbuOI7Tx6msIhdS0jvttBMQY3YvvPACEBWuYuGKif7ud78DojK74YYbgKgoFDMHWLRoERAz8oqhNVIazSitQYMGBYCPfexjQFTHWbDZZpsBcOmllwKw4447AlFN6W+v61D8UL9VbaBze/DBB1s+l2Zs0q9fv7pxksUY1dqFBQsWAN3HY3VMeUayhTxBvV/jCuCYY44B4Oc//3mPzrtZRS679MYeOv+jjjoKgNNPPx2A9dZbD4iei3jzzTcBeO211wAYOnQoAA899BAA3/jGNwC49957gWzWUhRRtZKsSpMnsPbaawMxfj558mQAdthhByDONXq9xoa8kdNOOw2oHxNZ4YrccRynj9MWRd7O+t9hw4YBMHr0aAB+//vfA/Dyyy8DUdErTgzwzDPPAN1n3UUzimLgwIEBohJ66623evrWhsib+NOf/gTEa5bynj+/tnn5z372MwDuueceIHonqsxQPFQeyDbbbLPsGO+++25T59SKIs9ybM6dOxeAXXfdtcvn5bnpWqXcn3jiCSDGv0866SQA9tprL6Be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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 21 / G Loss: 0.98783 / D Loss: 0.10422\n", "Epoch: 22 / G Loss: 0.74340 / D Loss: 0.27469\n", "Epoch: 23 / G Loss: 0.38555 / D Loss: 0.53694\n", "Epoch: 24 / G Loss: 0.49317 / D Loss: 0.44918\n", "Epoch: 25 / G Loss: 0.46167 / D Loss: 0.24395\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXIAAABpCAYAAAAnQqjlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAEO5JREFUeJzt3XmQVWV6x/Hv0yy2GxIXLMRRDCKI+74mGWVc4lKixnKjRqxSYwZN/uAPU5a4REfHLaPGxK2sVDEWo6JR41YuqLhLiSkX3MYFRRFFFhFwQXzzx7kPp/t0X6G771nee3+fqi7be2/f856Hc97znPd9z/taCAEREYlXW9kFEBGRvlFFLiISOVXkIiKRU0UuIhI5VeQiIpFTRS4iEjlV5CIikSu9IjezOWb2m7LLsSZmNtbM3jWzFWb2tJltneO2Kh8TMxtoZvfUyhrM7NcFbDOGuOxrZk+Y2SIzW2Bm08xsaI7biyEmY8zsVTNbXPt50szG5Li9ysekIzO7sHYO9brMpVfkMTCzTYH/ASYDGwOvAneVWqhqeB4YD8wvuyAV8lfArcBwYGvgW+C/yyxQBcwD/oHk3NkU+F/gzlJLVBFmNgI4AfiiL99TqYrczCaY2Qtm9kczW2JmH5nZ/rXX55rZV2Z2WofPH2lm/2dmS2vvX5z5vt+a2SdmttDMJne8UptZm5n9q5l9WHv/bjPbuE7RjgNmhxCmhRC+By4GdjGz0flEotM+VDImIYQfQwjXhRCeB1blGYPuVDguj9aOk6UhhBXAjcABOYai4z5UNSZLQghzQvIYuZEcL9vmF4lO+1DJmHTwn8B5wI992c9KVeQ1+wBvAJsAU0mu3HuR/MOPB240sw1qn10O/BYYDBwJ/JOZjYPkdg74L+BUYCiwETCsw3bOBcYBfwdsASwmCWp3dgBe9/8JISwHPqy9XoQqxqQKYojL3wKze7d7vVLZmJjZEuB74D+Ay/u4nz1RyZiY2QnADyGER/q8hyGEUn+AOcBvar9PAP7S4b2dgABs3uG1hcCudb7rOuCPtd8vBP7c4b31SK56vq13gLEd3h8KrAT6d/O9twN/yLz2AjChVWOS2cZnwK91rHTZxs7AIuBvFJPVn1sf+B1wZCvHBNgQ+AswPFvm3vz0p3q+7PD7dwAhhOxrGwCY2T7AH4AdgYHAOsC02ue2AOb6H4UQVpjZwg7fszVwn5n93OG1VcDmwOeZMi0DBmVeG0TS/lmEKsakCiobFzPbFngU+JcQwnM93rPeq2xMat+z3MxuBhaY2fYhhK96tnu9UsWYXAz8KYQwp1d7lFHFppWemErScfKrEMJGwM0kbXCQdB5s6R80s3VJbq3cXODvQwiDO/y0hxC6OwhnA7t0+K71gREUe8u8toqKSWwKi4slI5qeBC4NIfwph31plLKOlTaSbHbYmj5YgqJiMhb4ZzObb2bzgV8Bd5vZeb0pdOwV+YbAohDC92a2N3BKh/fuAY6udWwMJLkCWof3bwZ+XzvpMLPNzOyYOtu5D9jRzI43s3aSW6w3QgjvNnh/GqGomGBm69TiATDQzNrNzOp9vmSFxMXMhgFPATeGEG7OYT8aqaiYHGJmu5lZPzMbBPw7SfvxO43fpT4r6vwZS5L171r7mQf8I73sk4q9Iv8d8G9m9i1J5Xq3vxFCmE3S+XAnyZV0GfAV8EPtI9eTXHkfr/39yySdIl2EEBYAxwO/JzkA9wFOymF/GqGQmNS8R3JbOgx4rPZ7buPr+6iouJwB/DVwsZkt858c9qcRiorJYODPwDckgwRGAIeHZARY1RRVpywMIcz3H5ImmMUhhF4dK1ZraG96tV7pJcDIEMLHZZenChST7ikuXSkmXVUpJrFn5L/IzI42s/VqbdrXAG+S9A63LMWke4pLV4pJV1WNSVNX5MAxJG1P84CRwEmhVW5B6lNMuqe4dKWYdFXJmLRM04qISLNq9oxcRKTpqSIXEYlcoU92mllp7Tg+vNn/+/PPP//Sx/skhLDWY6nb2tpC7W8AGDhwIAA//tinOXRKs8466wCw3377AfDOO8lQ4fnz5691TMo8TorUk+MEFJfuKCYJZeQiIpErtLNTV8+uBg4cGCC9Q2hrS66tK1euzKNohWlvTx749DuLVatWKcvKqHJG3q9fv07/v2pVcTMVKyPvShm5iEiTq+Lshy3FMx/PwIvMfPL0/fdVfPo6bt6/U8RddP/+SdUQa19Nq1FGLiISOWXkJfvhhx/W/CERis3Ihw8fDsDXX38NwMKFC3/h01I2ZeQiIpErehw5UExGEYsiYjFkyBAAjj76aACuvPJKIB3zve666wKwdOlSANZff30AXn31VQAuvPBCAKZPn557WaW+Io6VrbbaCoDXX0+WqPVj5LzzkvUOrrrqqtzLUHV+vnz33XcllySljFxEJHKFjiMfMGBAAPjpp59y24Zn/d7rftlllwGw4YYbAvDoo48C8OCDD+ZWhqqMg/Wx3K+99hoAo0eP9m326vsOOOCA1b+/+OKLPfrbvjztWoQtttgCgFdeeQWAZ599FoDTTz8dyGf0Rk/HkRcRl0mTJgFp5u3PNbz11lsA7LzzzuRdhqqcP1kHHXQQAI899hgAW26ZrPr21Vf5LzuqceQiIk2u0DbyPOY32W677QA488wzATjppGQFts033xyAAQMGdPr82WefDcBdd90FwOTJkwH44IMPGl62svm8LZ45ZPsofOz6ihUrAFhvvfU6/V3WsGHFrJVbRh/KBhtsAKTHy7hx4wCYMmUKkGZhZSoiLt5Pkt3Whx9+mPu2q27rrZNVDP0Y8ZE9RWTka6KMXEQkctFm5CeccAIAt99+O5COtPA2vXo8K/XM3f/77bffAmlm7xl7zDy78tEqN910EwAPPPAAALNmzQLSmN16661A14zcs7Mvvvgi5xKX59NPPwXSJ1IHDx4MwMiRI4FqZORF8Nkqsxn5l19+2e3rrcDPj1GjRgFpf8kee+wBwMyZM8spWAfKyEVEIqeKXEQkctE+on/55ZcD6bDCvvLvueOOOwAYOnTo6veuu+66hmyjO0U8JDVjxgwAxowZ0+l1H4543333AbDRRht1+/fvvvsuAM8//3xeRSzdZpttBqRNdP7vcs8995RWpjJ89tlnQNrE5J3AzTKZW294U6PXCd7Z6bGqAmXkIiKRiy4jHzFiBJAOL2w0f5DommuuWf3a7NmzAXjiiSdy216RC0l45u3748MTs3zImS/b1syOOOIIIL0z82zLO/laTXbY7sYbb1xSScrnnZ3HHnssUM2pRpSRi4hELrqMPNuWmeWZrT+Cv3jxYgDGjx8PpJMArckbb7yx+venn366d4VdC2U8hv7ee+8Baftn1rx58wDYcccdgdZYJGL33XcH0jsk71eoUtZVRCbo02dkp3HwYZityCed834Cj79P8VsFyshFRCIXXUa+zTbbAPUnfvrmm28AuPbaawF4+OGHgTVn4v53999/PwATJ05c/V6ek3x5ubKjAhqZdXnm7VOT1svEfXKtsWPHAq2RiXssfEIkbw+94IILSitTFWTPL78T9vjkMd1GVfndv9+t+bn58ccfl1amLGXkIiKRiy4jf+GFF4D0Mdlspr3JJpt0+lw9flX1kRm77bYbAMuWLWtcYdeCj1HdaaedgLT92tv2+8LbuH3ip0033bTbz/lCE56F5nkHUjXeb+CjobyPpQoTIWUV0V7vSw/6ogk+esUXU2hFvsyd36H6yKa17W8rgjJyEZHIRZeR+/heXzDi0ksv7fT+mhZN8KzGn+A866yzgPLag/v16wfAoEGDADjjjDMAuPrqq3v9nZ5FnXvuuQDsuuuu3X7O2zkfeeQRoLUycXfaaacBaduvj1Zq1ScZvT04O3GaTyrXihYsWADA8uXLgbS/oEoLpysjFxGJXHQZuWeRPv/J3nvvDcBhhx0GpNlovczcpystOxN3PlrmqaeeAtJ5TfoyOuCoo44CYMKECUD9WPg2brvtNiBtUy/yKdOy+L4fd9xxnV73UUtVGj9eJO978hEazuPRinHxu7OXX34ZSBeU8My8Ck//KiMXEYlcoRm5Z8uNyPh8dMkxxxwDpPOF+Lwo2VkRPZPwWRPLzsSdX+098/are28WSPZ2dl8cw9u86y3d5ny5vE8++QRIF9it0pNrjebL2vmolWzfSauqd6z4076t7PrrrwfSxWhOPPFEIF2YukzKyEVEIldoRu7jLj3b9Pa4vsguQ+bjX7MZuWfwVcu4sm3gvekJ93gefvjhQBpXf33OnDkATJ06FUiXfLvhhhuAtE3dZ5Q8/vjjAbjlllt6XJZYeBuwt5V7zFo98/TzJ9sW7udTK7aRO38y2o+VXXbZpczidKKMXEQkcoVm5D4Ptj8p1UieWfmTnVne/lu1OSJ6O6NdxyftzjnnHAAOPvjgTt/liy4/88wzQNex0b6AtS807SM4zj//fKC5M/JDDjkEgPb2dgDefPNNoDVG7PySAw88EOi6iLk/79DKvM/Jx9T7vE9VoIxcRCRyhWbkPn9IHk9E+RjobCbhfGa/RrTLN1JvM/HHH3989Ws+lv7tt98G4OSTTwbSeVvqbcOz0VGjRgHp3YGPj23kKKOqOeWUU4A007z33nvLLM5aKWI+ch/Nkz2P/JhoZR7/mTNnArDDDjuUWZxOlJGLiESu0IzcM7s8MgrPJOqNv/YVg2KfT/miiy4CYP/991/9mu+TZ9a+xuZHH30EdL0L8Vj5CvHbb7890HVGyLLmXskz8/TvHj16NJAeB9OmTWv4thrN/53znAfG45M9j3zEWdXOn3rnex7Hju+zP43t65hWISbKyEVEIldKRp4Hvzr6lTh7pfY29BjaQn+JX/W7y0R8372N3HvXfX4ZXzVpzz33BNI2cuczS/polmYcM+wjpwYPHgykdx2+71VWRMbn4+h9W9lx9lXlT6TmOSOhHytPPvkkAOPGjQPSef7LnMNeGbmISOSim/2wnueeew6on5H7mGqfvzzW+aYfeughACZNmrT6tewqLr7mpq9D6XyERjY2no3uu+++AHz++eeNLnZlbLvttkC6VufSpUuB6mecUMyoFX+y0++evW283rFTNo9FkXODz5gxA4BFixYB6d2dMnIREek1VeQiIpFrmqYVHxK0ZMkSIO38dH5L7beIsTatzJo1C4CXXnpp9Wv+WHX29rfew1HeaXPnnXcCcMkllwDN3aTi/HbYb8l9n2NY5q6IZo33338f6HrseJNLVYYdlmnu3LlAWudcccUVQDrZXBmUkYuIRK7QjDzPzprsQsLjx4/v9L53bh166KFA2mkYG+/U8f2AtCN38uTJAIwYMQJIs0zv0PMMfPr06UA6mVYzPoJfj3fsegx8ycAYFHE36QsNT5w4EUinOt5rr72A5hyS2lN+Dvr55OefdwyXsSizMnIRkchZkVdYM8t9Y2PGjAHSJd+yvD3Lp2rNQwhhrRszi4hJFSgmXfUkJgADBgwIEEd7fl/Ecqz4VBennnoqAFOmTAHyycjXFBNl5CIikWu6jNyX8PLRCEOGDOn0vg/a98WaG9E+7Fdmf6hk5cqVUWQURYolyypSbzNy7w/yNvNm6+OI7VjxET7+3zzumJSRi4g0uUIz8ra2tgDF9nz7xFDDhw8H0ozcxxM3QnYay9gyiiIoJl31NCPv379/p7j4KLBmazPXsdKVMnIRkSZXaEbuGUWsT1XW05eMvIi7lGz5iph8KatqMamCnmbk7e3tnc4f/3dUG3nzU0YuItLkCs3IRUSk8ZSRi4hEThW5iEjkVJGLiEROFbmISORUkYuIRE4VuYhI5FSRi4hEThW5iEjkVJGLiEROFbmISORUkYuIRE4VuYhI5FSRi4hEThW5iEjkVJGLiEROFbmISORUkYuIRE4VuYhI5FSRi4hEThW5iEjkVJGLiEROFbmISORUkYuIRO7/Ae5o4ByPyZCuAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 26 / G Loss: 0.98755 / D Loss: 0.15575\n", "Epoch: 27 / G Loss: 0.66532 / D Loss: 0.21331\n", "Epoch: 28 / G Loss: 0.34536 / D Loss: 0.32381\n", "Epoch: 29 / G Loss: 0.57491 / D Loss: 0.36089\n", "Epoch: 30 / G Loss: 0.31670 / D Loss: 0.39188\n" ] }, { "data": { "image/png": "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FbnjOE7GyYQiX2ihhRr+3nzzzQHYeOPcymv77rtvo9cXWWQRoFihCz1lpS71NJ49ezYQVegXX3xRvgtICRqlHHHEEQD07dsXgJVXXhmA5ZZbDojxtIVMmzat4e+BAwcC8OyzzwL1q0yXWWYZIPpR11tvPSDaKOvXrfukZ8+eQByZbrHFFgAsvnhucXm1DY1ItJ2iPz799FMAvvrqKwB+/DEuZ5umkZwUef/+/Yve03f5+OOPA7U5b52ffre0fbkidxzHyTipVORSOyussAIQ1R/ELCwp8mQ8KMQn2B9//NFoX/otRT537lwgKpJFF10UgGHDhgEwZMiQhn1myVeWRNesUcYtt9wCRGWu0UtLl9nU9wFw3333AdCrVy8A3nvvvTKccfo4/vjjgWjLF198EciuEtd1rL766kBU4jvttFOj1zfZZBMA5syZA8Biiy0GwH777QfEOSa1nYUXzi3dqvso2aYUjz1hwgSgtvNRqquiUWgSZXJOnz69queURLZprY1ckTuO42ScVGZ27r777gCMHj0aaOzvVtTJww8/DMDXX38NwIcf5ha0/+abb4Dos+vduzcA/fr1A+D2228H4M033wSiorz44ot1jgBsttlmDcf85ZdfWnR9otZZjPL777333gCMHDkSiCqqHEiR3njjjQAcd9xx89y+1jZpLV27dgVg4sSJQMz623DDDQH46KOP2n2MamV2Si0DnHfeeUAc5SpSSUq9sD8o9NkKbVdqNJfcz4wZM4B4r+neLEUl28pqq60GwGeffZbcBxAzODUq+f3331uz64rimZ2O4zh1jnfkjuM4GSeVk52DBw8GoitAQzOATTfdtNFrzU063XvvvY1+Cw0llRCkYyl8SpOlWUTDf7mRWupSUbiVbFoqhBOi/Q455BAAhg4dCkR7ZhVd1wUXXADAsssuC8Ann3wCxAJLWUATe5dccknDa8cccwwQQ3p/++03AN566y0AHnnkESDaYf/99wfixLhcm3LXKDxTaD/JIITx48cDceK0lihYoimXkAIg0hQu2VJckTuO42ScVCrygw46CIAnn3wSiCoAmg5vagvrr78+AFdccQUQJ7MuvPBCIJshh1JRSjFOTnIl0USURh9KENpggw0AuPzyy1t8TE0ES9llHU0QH3rooUBsZ1LoaZoAaw6FEB555JENr2ki/LrrrgPid622UDjC1f1QCiUMyU4awfTo0aNhGwUkfP/99224ivKi77UplMSk+6g5Za5rXnHFFQE4+eSTgdhfqa9SqG4yybDcoxNX5I7jOBknlYr8u+++A2Iiy0YbbdTwnlLC9bQ855xzALjnnnsavV4KqZQXXngBiIry8MMPB2KBqGqhp3o5wkC1j7FjxwKxMJBsMmXKFACuueYaICa3yP+p0LTCxWibQoqiMLU7q2j0cuWVVwLRhzxz5kwghrtmiXXWWQdoPDJ7//33ATjllFOA9o8wunfvDsSwPqnuDz74oGEbhQSnoY1oxNAUb7/9NtB8H6JRjQqpyQa6bwpDNk8//XQgJhwBnH322QAMHz4caL9tXJE7juNknFQmBM0LJZ5cffXVQHw6KiFIs+xSnyr2o0I4Ug5S/bvssgsA77zzTntPrYHWJDR06NAh5D/T7uMqykTJTYMGDQJiBE5hhI62l0opVSxLftNXX3214TXZTTP9zZHWhCCpphtuuAGAo446qtH7Kiz2xBNPAOVVlZVOCFKyz5dfftnwWuFISvdBS1EbUYLddtttB8QRsUo1tGfOpJJtRclISR++UMTOgQceCDRW0ABLLrkkEH3dKqTWUpJtR/eNoojuvvvu5j7rCUGO4zj1TOYUubj00kuBOCOveNbCojP6raerUsoVraKFJ8pZBKna6lOq8uCDDwair1vFsUop7eaQr1ClS1UyGGLZ35aSVkW+9dZbA1FxK3pJ/k/NqbS2TENLqFaK/s0339zw92GHHQbE63nwwQeBeD8pTl5RW/L7ar5KSlx2uuqqq4CoxMtxH1WiregekZpuqmiWRvUqif3zzz8DceSqKLoddtihpafXLJo/kJ+9VH/sitxxHKfOyawiFyqrOWLECCAuzVUYZy5F3qdPHyD6xOXLq5XvUz7yxGdbfTz56hQ/rjj8tipx+dKVtfnAAw8A7VNbaVPkK620EgBjxowBovLWNcp3mVSz5aZaijzZDkaNGgXAnnvuCUTFreuWEpfvXFE7KmOrDGkpccVMZ2VEq8xTfd9J1Ecox0Sx9RrtKx4+udANRJtpVKKRrPzwynJNfg+F0WoqEZ3MYk/iitxxHKfOSWUceWu4//77gVgLQ5loO++8MxAVhxTF008/DcBJJ50EwB133AFkM5NTaAZcC0cokkBPefn4pAhKlSZVdMtFF10ElEeJtzcDt9zofPbZZx+gcY4CxNLJahf1QPL70zyHyjRrxKEl7BTRpLaz/PLLA1Gtyo9cibmlaqDz18I0ENuE+orCDFQpasXcy0a69m222QaIpbG1v7XXXhuAf/3rX422A1hllVUabSu/e2FNqJbiitxxHCfjZN5HXoj8V9tvvz0Qn3zKpFIkh56meooqLroc9SDa4yNP7GOen0sqXSkGxdSLbt26AbDmmmsCxfMHyoqVTaTIFaN/xhlnAOWpBpcWH7nqX2hhCPnKNS8gW8kfWkmq5SOfF7pfFMWhkYpUZOGSbro/FGv91FNPAeUd0VayrSjKTXNqUDxPcOKJJwJw6623AnEOStFbspV84lqouhTyBihOHWL/pFGy3ttjjz2a3If7yB3HceqczPvIC5GqVB2RwmqJqqWhqm3yFaoK3LHHHgtU3/enJ7NUdaFfW6pZv0899dSGz/7www9AjAV+9913gbiclbLZZBsdY6+99gLi0lZSZ7LB9ddfD8DkyZPLcYmpQP5/xe0KzbVoua/5BUVtqY08+uijQKwPUtguFT/+0EMPATHzVco87WguLTmCkCLXtZ555plAHIlKkSuKRfegatmoLynMBBWynbwDyWOV+r+1uCJ3HMfJOHWnyKWk5fPU75tuugmIkRhSYMrsU8ab4mbPP//8hn1WctWbwidxoa9R/rg777wTiKv/JH3kUtrK1pMfsNR56xiTJk1q8n0pDCmOelDk8lOqFo/sJ1tcdtllQDoq9NUCtUON0uQbVwa0qhkqKkwjGq0+9PLLLwMtr71TK5S5mlzjQPMkQnNLqhKqa1Ib0mhZvzUi1vyBfOuK2VdfklTkQu2t0HPQ2nboitxxHCfj1F3USktRpMcJJ5wARL+YVgk54IADGrZV7fKWUs7qh6q4Jv9cci1EoVGIRhWqpNZctIlUVDK+FWL9hzXWWAMoz4ik1lErUpCqtSG/pepzK568mus1piFqRQpQ9cmHDRsGwGuvvQZA//79gThyUfz1c889B8R2u9ZaawExvrw9VLKtyB+ufBKAXr16AcVRX9WgMOP89ddfb3I7j1pxHMepc1LtI5ffTmtJQvQl6b1XXnkFaL1PScpb0SqlFDq0XpG3hubOW35v+SybQoq8sAZEIbKZarFoBaHCc5ENKjk3UG20VqNUl2xWzlj5LCH/rtTogAEDgOgXll+3sH2qRpHq+yvuXHHRmoNKKxpZJOfANF+m0W81UJaoViTT6kRtxRW54zhOxkm1IpfCVFU/iD46zaYrM7Otaw9KmfXu3RuIil8z0bVGCmJece3y+ylGXj5vrYakKmyajS+l3OXflNqqBzQKSc55QBxtPPPMM1U/p1oi1al7SjVVTjvtNADGjRs3z8+rHWp+RdVHtbKS4svTXoNFa/9CbO8albS1PlDh6EX7kS1U3zx5fNV8as+KSuCK3HEcJ/OkWpHrSZZ8QiqWU7VThgwZAsQ1OvW6Zt31FJQPVPvUyuLy8clfLAUnZVFr9JQ/+uijARg5cmTJbZV1pzjylqI4dFVgqyffuL7PwkxORQHV07WWIjkCGzt2LBBHtop5fumll1q0L92L06dPB6L9dH+lrdplKZLqWaM1rWgvha6+pvCaNPrXKlK33XYbECOgNLLVaFoVF5OqW/1QuaIGXZE7juNkHO/IHcdxMk6qXSsaimjZLYhDQS0G27Vr10a/FUqk8EINb5R6r/ApFb7RfsRZZ50FwF133VXOS2k3Oh+5jlS0Hto+nJ0zZw4QJ3lUlrOe0NBVZQfEhAkTgPkj7DCZ6KJ2o3BWlYDQ69OmTQOgS5cuQHRBqq3IBamwXaEFObJsz/HjxwNNJ92lHVfkjuM4GScTKfoKr4O4EKrKba677rpA6YmJUkg5SPW/8cYbAAwcOBCIk6dtoZIpxpq4SiYsDR48GIiTnYWFuPQd65qVfDBo0CAAJk6c2Gi7SlDrFH2NxBRup4Jgs2fPLvehWky1UvSlqiGmgPfs2VPnABQvtqwwRalTJRBpX7rPNLGnYluaNG1PW6p1W0kjnqLvOI5T52RCkTezTyAq1X79+gEwdOhQIJaOVILPmDFjgFgIX4swyDdYDqqtKGQD+YF17SoEJR+pCiKpfG01F5x2lVVMLYpmabSmBVVUvlflkUVhKQyFy8lXrkQ8LReoEU85+hNvK8W4Inccx6lzMq/I04grimLcJsWkoYyt5p+23XZbII5oNQelJeCUAKTksbTMpzRXBrpecEXuOI5T57girwCuPotxmxSTBkWeRlpjl44dOwZIf5Gu9uKK3HEcp87xjtxxnMxjZpkp2FUJvCN3HMfJOFX1kTuO4zjlxxW54zhOxvGO3HEcJ+N4R+44jpNxvCN3HMfJON6RO47jZBzvyB3HcTKOd+SO4zgZxztyx3GcjOMdueM4TsbxjtxxHCfjeEfuOI6TcbwjdxzHyTjekTuO42Qc78gdx3EyjnfkjuM4Gcc7csdxnIzjHbnjOE7G8Y7ccRwn43hH7jiOk3G8I3ccx8k43pE7juNkHO/IHcdxMo535I7jOBnn/wFeVUM0L7c3SQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 31 / G Loss: 0.62452 / D Loss: 0.14048\n", "Epoch: 32 / G Loss: 0.80509 / D Loss: 0.19184\n", "Epoch: 33 / G Loss: 0.63966 / D Loss: 0.23758\n", "Epoch: 34 / G Loss: 0.65199 / D Loss: 0.26047\n", "Epoch: 35 / G Loss: 0.60702 / D Loss: 0.40129\n" ] }, { "data": { "image/png": "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yN7lzll3BT7noMyYVVZZpU3vd0XuOI6Tceoma6V793hD+6FD401ZNtwwruf+119/AUEdSZXmr8p85JFHAOjXrx8Af/+tWvGFU6tZ90UXXRSAbbbZBgi2mHfeeYGw8kznLKTcv/8+3pFqhx12AODDDz8sV9PmqEyEZZaJdwObMGEC0HJecRazVtRX1Jc6d+4MwEEHHQTAIovEW9u+9957DZ+58854t7u2jjVzUl9pCXl1WlU6depUz1pxHMepZzKvyDfZZBMAhg2Ld2Tq0qULEOK+99xzDwCff/45ADfffDMACy64IAAvvvgiAEsttRQAK6ywAgA//vhj0W2qhqKQ8gHYeeedARg8eHCj1+SN3H333QDccsstQKgF0adPHwB22SXeVnDppeO9cC+88EIA7r///mKa1iz1qrKSNV3UF++77z4g2F9xzpkzZzb6bJYUua4XeWu33357o+dnl1Hz8cfx1rbbbbcdAN9++y2zo9Z9RbVUevbsCcBLL72k7wJC/PqMM84AYM899wTgtddeA+C4444D4Ndffy1bmzyP3HEcp87JrCLPrzQmFTpixAgg3C119582bRrQNE73ySefACGu2a1bvHdwKdkrlVQUqsCWVMvbbrstAN988w0Qzn3UqFFAy8ogP6ula9euQIjpjh8/vpCmzZZCbNK+ffso2Y40ZWsoG2rzzTcHYNCgQQ2vLbnkkkCYk3jooYcAOO200wD4+eefGx0rC4pcivuSSy4BgtrUnNMXX3wBhJi45mk222yzhmMozvvYY48BsMcee8z2O2ulyHU9jB49GgjzbPmvz5gxAwi2Eeqvjz/+OBCUejlqr7gidxzHqXN8IHccx8k41d5YAiiPq6wQiNwbhU60yKWl79Dk1AknnACEyc2vvvoKgEmTJpXctkqgdv/3v/8FYOutt254TW7vRRddBISymvlphvnI5d1qq60AOOKIIxodr5yhlUKQC1vLkIr6qmx09tlnA3DOOecAoW2vv/56w2c0yXnvvfcC8N133wHp2syiNRRmU1rhm2++CUCnTp0AeOWVVwA4+uijgXCOmtiV3ZT6CiE1cfXVV69o20tlscUWA8Kkdf7mJPrN9byus59++gkICRUHHHAAEEIqsomODyFEp5Tf/InwQnFF7jiOk3Eyu0RfSmDy5MlAUAT56G6oSZghQ4YAQbl/+umnAKyzzjpA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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 36 / G Loss: 0.82357 / D Loss: 0.21337\n", "Epoch: 37 / G Loss: 0.51332 / D Loss: 0.21721\n", "Epoch: 38 / G Loss: 0.55631 / D Loss: 0.23861\n", "Epoch: 39 / G Loss: 0.85094 / D Loss: 0.23093\n", "Epoch: 40 / G Loss: 0.87734 / D Loss: 0.29812\n" ] }, { "data": { "image/png": "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UdcGxKfqK6+8UveZ++23HwAzZjRvD+I0akXouiEq8GHDhgHQs2dPIKqORL0TAN58800ADjroIAC+/vproLJKPQ2bdOjQoe7fG2ywAQDdu3cHYOrUqQB8+umnpXx0HUsumZvEqp+15P6pxVorEydOBGD77bcH4IorrgDg4osvrvSp66hkX1lppZUAeP/99+te03d64oknAjB+/HgAfv118TvRqb8NGjQIgIceegiAX375pZhLahZea8VxHKeVkzlFvv766wPwySefANHnXYja9ccffwDw88+5PU1XWGEFXctizyP1CjBz5kwANt98cwC+//77xf5tJRWFfJhDhgype+38888HYNlllwXitavN8p0Xzl7mzZsHwJlnngnAnXfeCVRGmaehyJPf6f333w/AwIEDgbh2ssUWWwBRmTfW/9WvevToAcCDDz4IxNnOWmvl9pieNm1aKZeqc9eMIlffmDJlChDbrfZpzWnChAlAvAdkJ/U5zRS7du1a99maFe2xxx4AbL311gBsueWWAMyePRuA/v37AzBjxoyK9ZUBAwYAUT0neeuttwDYddddAfjuu+8W+1lXXXUVAIcffjgAl19+ORC9AckxpFSaWz3UFbnjOE7G8YHccRwn42Qu/FCuBU3/k4t+STQl0YJEcqrXHJLT9BVXXBGA3XbbDYAxY8YA5Zk6FUu/fv2ARReftFjzzDPPADEkU1NFoXbILSU308knnwxEd0RTU8paJekmWW655YC44CsX2zbbbANEF4KQDY866igAzjnnHABWXnllILoQ5K769ttvy9+AKtKtWzcgLgYW3l8333wzEO0gV5V+637RIvDSSy9d99ly7elYufT0W/201PC/YjjyyCMXud4k8+fPB5pe5BSDBw8G4thyyimnANFt8/HHH5d8neq3zR1jXJE7juNknLS3egNaFrIlJSQFVSmST2WFE0mdVDPwv3fv3sCioXZvvPEGAPvuuy/QuKKeNWsWACNHjgTgtNNOA+JCXhqKqJJIhQNsuOGGQFQ0V199NQDvvfceAF26dAHirGT48OFAnPFIRQolyGixvbmqLStITardzz77LAAPPPAAAH369AFgl112AeL999VXXwHQqVMnIIb1JdXouHHjgKjSlaCm+yrN+2njjTeu95rOr7Y0lQQlG6kPCY0PCo1uCZrZNBdX5I7jOBknVUVejiev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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 41 / G Loss: 0.73498 / D Loss: 0.17396\n", "Epoch: 42 / G Loss: 0.55253 / D Loss: 0.26190\n", "Epoch: 43 / G Loss: 0.99570 / D Loss: 0.21764\n", "Epoch: 44 / G Loss: 0.64505 / D Loss: 0.24912\n", "Epoch: 45 / G Loss: 0.82812 / D Loss: 0.25361\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 46 / G Loss: 0.66959 / D Loss: 0.30085\n", "Epoch: 47 / G Loss: 0.55137 / D Loss: 0.17585\n", "Epoch: 48 / G Loss: 0.82096 / D Loss: 0.30081\n", "Epoch: 49 / G Loss: 0.62501 / D Loss: 0.23463\n", "Epoch: 50 / G Loss: 0.86302 / D Loss: 0.22582\n" ] }, { "data": { "image/png": "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tm0DNF3V67M+8cQTa46de+65ABx33HG1rpUiX7gwSoW9evVqALbYYgsgts2CBQtoThmKoVRx5I2x66671ryeNm0aALvsEmUb/uGHaJOrLl26APDtt9GGPRr9dO7cGYBOnToBsd2OPvpoIFbspaTaz09jyDZffRVtFiQbPfVUtPWmRjel7Fs9jtxxHCfjZF6RL1q0CIDu3bsDsUI/+eRo445y+PqqpSi23nprIFZNa9asAWDw4MEAnH322QAMHz4ciBWFjs+bN69URalDc2zSpk2bkPuff3mdfOJS33fccUedc7NmRfsCTJo0CYC+ffsCMHr0aCCO9S5ESnXixIkAjB8/HoBff/0VgPXr1ze1Og1SKUU+f368ZWjv3r0B+Oyzz4DYLvp78eIorfayZcsA2GqrrYDYjocccggAt99+OwCXXnopUFn1mU81FLlG959//jkAO+4Y7f6mNqPnsJR9iytyx3GcjJNZRS5F9uWXXwLxt6b+7tGjB5AtRX7NNdcAcNFFFwFxnaUipSRuvPFGAC655BIgVpfym0rJl5Jy2EQRF/LTbrRRHIQlG0yfPh2II1022WQTAHbeeWcAxo4dC8T+dfk/dZ3QPMInn3wCwJgxYwB48skna65pbluqlCK/7rrral7rM7/55puBuC00VnYp8ddee01lAWL1KTVaCpKuyBXxo+dEo7q1a9cC8XOkv0uBK3LHcZyMk9k4cvnI27dvX+t4x44dgVidZiEeVgphyJAhQFy3zTffHIjVpfydjz/+OBDnAJG/WJEIjz32GJD8lYinnHIKEKvoDz74oObcG2+8AdSNOVfUinzCZ511FgA77bQTEEc1Sbl269YNiNX/AQccAMCUKVMAGDlyZM09Z8yYUeteSWHcuHE1r7fbbjsg9o03tf2/8847ACxduhSIVeeIESOAeGTTGlAEj54z8d133wGVXasgXJE7juOkHO/IHcdxUk7mXSsaEgsNJZOeeKkYtt9+ewA23XRTAPbaay8gXhCkMMOrrroKgOuvvx6Ac845B4D7778fgL333huAJUuWVKDUxVPowtAENsTD34bQgjD9/vTTT4HY5fL9998DsS20YKZ///5AbNPbbrut5j11zYQJE5pblbKSv+BLYYNaCNVUZOsXX3wRgGHDhgFw4IEHAq0rMVjPnj3rPb7NNtsAdTf6qASuyB3HcVJOZhW5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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "if train_model:\n", " # Training\n", " data_x = x_train\n", " len_data = x_train.shape[0]\n", "\n", " for i in range(num_epoch):\n", " # Shuffle the data \n", " np.random.shuffle(data_x)\n", "\n", " # Making mini-batch\n", " for j in range(0, len_data, batch_size):\n", " if j + batch_size < len_data:\n", " data_x_in = data_x[j : j + batch_size, :]\n", " else:\n", " data_x_in = data_x[j : len_data, :]\n", "\n", " data_x_in = data_x_in.reshape((-1, img_size, img_size, 1))\n", "\n", " sampled_z = np.random.uniform(-1, 1, size=(data_x_in.shape[0] , n_latent))\n", "\n", " # Run Optimizer!\n", " G_out = sess.run(G, feed_dict = {x: data_x_in, z: sampled_z, is_training: True})\n", "\n", " _, loss_d = sess.run([train_step_d, d_loss], feed_dict = {x: data_x_in, z: sampled_z, is_training: True})\n", " _, loss_g = sess.run([train_step_g, g_loss], feed_dict = {x: data_x_in, z: sampled_z, is_training: True})\n", "\n", " print(\"Batch: {} / {}\".format(j, len_data), end=\"\\r\")\n", "\n", " # Print Progess\n", " print(\"Epoch: {} / G Loss: {:.5f} / D Loss: {:.5f}\".format((i+1), loss_g, loss_d))\n", "\n", " # Show test images \n", " z_test = np.random.uniform(-1, 1, size=(5, n_latent))\n", " G_out = sess.run(G, feed_dict = {z: z_test, is_training: False})\n", "\n", " if i == 0 or (i+1) % show_result_epoch == 0:\n", " f, ax = plt.subplots(1,5)\n", " for j in range(5):\n", " ax[j].imshow(G_out[j,:,:,0], cmap = 'gray')\n", " ax[j].axis('off')\n", " ax[j].set_title('Image '+str(j))\n", "\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Image Generation" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAJCCAYAAADKjmNEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzsnXWAHFX2tp9JIIssBIcgAQIEdwgS3DVAcLfFXYK7u3twFndnF3eX4A7BgtuyLD8s3x/5nro9NdMZa6kezvPPZCTdVXVv3a7z3vec0zRy5EiCIAiCIAiCUfSo9wEEQRAEQRAUiXg4CoIgCIIgKCEejoIgCIIgCEqIh6MgCIIgCIIS4uEoCIIgCIKghHg4CoIgCIIgKCEejoIgCIIgCEqIh6MgCIIgCIIS4uEoCIIgCIKghDHqfQAATU1NUaY7CIKgAzQ1NQEQXQ6CoPOMHDmyqbWfh3IUBEEQBEFQQiGUoyAIgo7So8eo2O7PP/+s85F0HFUfv7ZGI55XEHQXQjkKgiAIgiAoIZSjoGGYYoopAFh55ZUBuPTSS4HwXPxVaWTlyDnb2twdnZrU2msEQVB5QjkKgiAIgiAoIZSjoLD87W9/A+C6664DYMUVVwRgvfXWq9sxBcXh999/r/chVIVQhGrLGGOM+hgcc8wxAfjf//5Xz8PpMiqPrp/jjDMOAN999x3w151fju9vv/3Wrr8P5SgIgiAIgqCEUI6CwqGX5JprrgFglVVWAWDBBRcEYNiwYcBfNwIKgqDjqKiopDz22GMAzDXXXEBad1QWllhiCQCeeeaZQvnaPM5tt90WgM033xyAmWaaCUiK0auvvgpA7969AZh55pkBeOWVVwAYMGAAAL/++mstDrtLeE4jRowAYIIJJgBgqaWW4pFHHhnt/x1rrLEAmGiiiZq9RlufH6EcBUEQBEEQlNBUhOi7EhWyjQb8+vXXX3f1JWvGwgsvDMDgwYMB2GSTTQB48MEHAVhnnXUA6NmzJ5CeeL///nsAXn/9dQC22247AN5+++1CRTrtxYho/fXXB+Dyyy8H0ljONttsQNo7D4K/ArWqhO39N9lkkzH11FMD8NZbbwHwn//8pyLvUc+q3scccwwAu+yyC5DUCI+lV69ezf7edWfhhRfm/fffb/a39WKMMcbg4IMPBmCPPfYAYLzxxmv2N47VAgss0Oz7l156CYBJJ50UgH322QeAk046qcpH3XWuvvpqADbYYINmP3/99dcz5e+PP/4Y7WuUm3tRITsIgiAIgqAddAvlaLnlluPmm28G0v7iuuuuC8Att9zSxaOrPGOPPTYAu+22GwAHHHBAs58bwfm1LVSJHMvff/+dr776CoAtt9wSgPvuu68Sh15V+vTpA6QI5+mnnwbgH//4BwDffPMN0PJ8GwGjlmmmmSarz7TkkksCaZw9n+OOOw6Agw46CGjMOj7l8Dr8/e9/B2DHHXdkq622AkYpnpDOW29ZpVA52HnnnQE466yzADj44IPbjDrrSbXUFufdoEGDADj//POBUcqC76k/Zb755gO6niGosv/zzz936XU6g/eb5+ka+dlnnwFJofe66MWZb775eO2112p6rHnGHXdcALbeemtOOOEEIGXZOXddHxdddFEAPvzww2avYdavn42PPvookK5LEddTd0tcG/r169fs988880y289LZ4w/lKAiCIAiCoB00tHI08cQTA3DPPfdk+6vyyy+/AKMidei4B2nCCScEUs0LX68SGKEceeSRAEw55ZQAnHfeeUBSTqaddloAZp99dgCmmmoqAE4//fRmf7fDDjsAMGTIEGBU5OO4fv755wD0798fgJ9++qli51Fp7rrrLgBWWGEFAGaccUagZQTUiJWRl1tuOQAuu+yyrNK3njHHSuXQqN0Id++99wba3lMvRy18Ho6Jc3nuuecGkq/BTBHntMpRa9WgvdcGDhwIwAsvvNClYzP6VAnIK7J//PFHtj6YwXTJJZcA8OmnnwKw/PLLAylzcp555gHghhtuAMg8KTfeeCMAX3zxBZD8Hkb5jkF7a61UA6/HmmuuCcBVV10FtPTcQJpzVqW/9957O/WeXnPXVVWOWqI3Z8899wTg4osvBlL9mzfffLPZ966VM8wwA19++WVNj1WcNyeffDKQVE+A//73vwA8//zzAKyxxhoA/Pjjj81ew/XGdVSv1eGHHw7AUUcdBRSzbpjriLsIHrtr/wUXXJB9/nWWUI6CIAiCIAjaQUMrR0Yzt9xyS6tRD8Add9wBwFprrQW0/XS86667AnD00UcDcOCBBwJwxhlndOYQW8V90xNPPLHZaz/55JNA5+tOGPHstttu2b600YWZXh9//HEnj7p6uJ+ukjJ8+HAg1eUosh+kLVQ3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+knWxmukbgpBxwnPURAEQRAEQTsI5SioCEarfi1aZWT7MDnfO1ohPWpWBY2C6sv8888PwJdffgnAhx9+WK9DagjsX/bVV1/V+UiCWhLKURAEQRAEQTuIbLWgIqioFFVZ0T/QWYp6XkGQx670//3vfwH46KOP6nk4DUMoRkEpoRwFQRAEQRCUEMpRA5PP7CjNYgqlIwj+muiP02tUNP9fEDQCoRwFQRAEQRCUENlqDYQK0fnnnw/AFltsASQF6ddffwXgkUceYb/99gPg5ZdfBjqenVVLJpxwQiDVYfFYjYAnm2wyAL744os6HF0AaSzmnHNOAI466igAZp11ViCNkXz//fdAmqMPPfQQEN6tWpCvG9WW386/79evHwALLrggF1xwAQDjjjsuAHfeeScAa6yxBhDjWCQ22GADAE444QQA5phjDgB+/PHHuh1TIxHZakEQBEEQBO0glKMyqMZIEarJWtH1m2++AeDvf/972b91XF966SUANtpoIwDeeuutZr+vNmOMMQZXX301AAMGDADgk08+afa9EW5HcUw+/fRTAPbZZx8AbrrpJqBzGWr5Ct/BKLbccksATj75ZCBVDdbXYkbU7LPPDkDfvn2b/X9r7Gy33XYA3H///RU7NsesEhmT44wzDgBPPvkkkNQUf67Korr57LPPAnDggQcC8NprrwHwww8/AGkOFmGdzeP9d/vttwOpQnTPnj2zeyu/Ds4yyywAvP3227U6zKAMrptm2fXu3RuAxRZbDIAnnniiou9XyVpv3rN+puXrz+U7EVSTcspRt3848gFi3XXXBWDDDTcEYIEFFgCSbFzuA9p02JlnnhmAESNGVOtQ283HH38MwNRTT93s56VbZ/nzccvKB4etttoKqN7ku/zyywFYdtlls22zscceuyrvJZ7/m2++CcCiiy4KpHNvD/Us9mgKttujUs97dIoppgDSQ7UP5qussgoAw4cPB9I8ct4p7Tvf+vTpA6S56/1XifTptlq3tIdpp50WgGHDhgGp9YZj4VfXk3x7EN/7559/BtL1uvvuuwGybSrPvx54zCuttBKQHnSnmWYaAF599VUANt100+xeuvHGG4F0fVwHnQf1xPvF8ffB+7DDDgPSeuOczBeo3XrrrQG49NJLa3K8lWbiiScG4PPPPwfg22+/BWDKKacEihHQiwU2TzzxRABWWGEFACaZ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YIRmrZu///3vANx///0ALLfccvU5sFZwTA455BAANttsMyApQfLVV18B8PrrrwOw9NJLN/v9oEGDgKSOdQU9al7HX375pcuvWY4xxhgltv/444/Nvv/iiy8AOOaYY4CkXnkd2lJYSmtQFaEe1TjjjAPAO++8A8CUU04JwIsvvgjAYostBsDPP//cqdd3rP74448uHSektVrFZ/311wdguummA9IYifNDT5rHMOmkkzb7vV7IDz/8sMvHWE1WXnllAO66665mP3fdnHDCCYG/nvLTXsJzFARBEARB0A66heeoqakpeyo2inC/2Yh2mmmmAZIqsfbaawMwwQQTNHsto4cpppgCSBHfgQceCMCpp54KVCbiqRTumZ900kkArLrqqtnv3Dc//PDDgXR9br31ViDVFBLVmVoqR8OHDwfg+eefB+Czzz4DYKmllgJS5ONe+kUXXVSzY6sFU001FZBUGXnyySfrcTjNUMXQQ6RipA/K+0wFQUXo0UcfBaBXr14AfP75583+/pNPPqnYMf7222/NvlaDiSaaCIADDjgASEpR3759gbRenHbaaQCccMIJzf5ur732AuCBBx4AWqqfRYvqVYomnnjiZj93relqnSbXoUr4WVyT9bX52s4Hx+Dee+8F4IYbbgDgkUceAdK57LHHHkDy7vj9brvt1uljqwVDhgxp9ecqYEWbW41CKEdBEARBEAQlNLRyZF+iAQMGsP322wOw0korATD++OMDLavlGlWUq6ab7xUjO+ywAwDnnnsuUIwaKnPPPTcAt9xyC5AySMYaa6xMffGr6sQSSyzR7Kvn++uvv9boqFsy88wzA0nx8jz0ef30008ADBs2rA5HV33mn39+IHkjjGQvu+yyuh2TipHHZr2iDTfcEEjzZujQoQAcddRRAHz66adAup/0A+V9NCpRL730UhXPouu4jujJW2211QDo3bs30DLDUi+Nipn+Mf10s8wyCzB639xYY40FwP/+97+un0AncbxVMx03fXBdVc4rUcVcFWubbbYB0v2jSnnEEUcA6ZhVqF3r8u99xRVXAHD00UcDyes3xhhjFNpzqnqZp5brhzsuelYdi9133x2Axx57DEj+Uo/Z+8guCO5YjDvuuEBaZ9zhqKY6nCeUoyAIgiAIghIaWjkysnr00UezzISBAwcCKWLL7227D5vPSvOJ1CyNvLL08MMP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18HoWIv3f+KJJxg5ciQjR45khhlmYIYZZuj2e7lujDHGGO3+a4Zil6MaYzOMv6fUen4VDY83PuN6x+STT87kk0/OCy+8wAsvvMDvv//O8OHDGT58OP3798/arFSD0Wd2BkEQBEEQVED1HrN6gU97zdAIMKTu4rD++usD8OmnnwLw+OOPN3I4fYpaRbd//OMfARgyZAgASyyxBL/88gsA888/P5AKLlZ6jzlW0+8tEREUl/HHHx9IzbT7+jVrJstIuc84S7H89ttvdf/8m2OOOQB4+OGHAZhqqqmAtjHaIqzahHIUBEEQBEFQQiEM2ZHKX1369evHwgsvDMCrr74KpAitL7DQQgsB8K9//QuAn376CYApp5wSIFMiguKgOnzhhRcCsMUWWwDwww8/sOOOOwJwyy23AN1v7qp3xYKN33zzDRDrSaXklbfxxhsva7w7bNgwIEXqYlHMQYMGAUm9rRT/lteoFsqKx6Wy4LoQ86Iy8iUwPJ/9+/fnv//9b13GMOGEEwKpUfykk07a7vfffPMNK620EgDPPfdcj/5GoQ3ZQRAEQRAERaEQnqNGYBE71QYbTK6zzjpAijYuuugigcBWKAAAIABJREFUAN58800ARo4cWddx9oQTTjiBvfbaC0hRuE/cqizNyB/+8AcAbr75ZiBFMs888wzQfcUhqB8rrLACABtttBGQ/IXnnXce9957L9Dz6+c8UM2oJmOPPTYA//znPwEyRVa+/fZbgA7RazOpE1NPPTUAf/7znwHYZ599MqVokkkm6fTfuJ6cc845QPL/VeodUpWopQLhmK655pp2P//8888BePnll4GkRE800URAUh4PO+yw7N/b8kj1STWl2opX3u+Tb8c0xhhjZN6fySabDEhrursDFmbt7RzMH5vvVw/VyON97bXXgI6KkWvFwQcf3GPFqCtCOQqCIAiCIChhtPMcGfkZCaogdZWd88gjjwAwePBgoNjZFe+88w4zzzwzAO+++y4A8803H9Acylc5TjrpJAD23HNPIDWwPeOMMwAytaw3VCsbcdxxxwXa6nIArLvuugCsssoqLLHEEkBSJfybfv3qq68A+OyzzwBYbrnlgKRSNBNrrbUWAJdeeimQovMrr7wSgP3335+PP/64IWMbFfqgzKqba665Rvl6o+xPPvkEgJNPPhmAs88+G2iOTFyZY445WHbZZQE4/fTTARhzzDE7fe3QoUPbva4InyeO9bvvvgPSLoBj8+fff/89kHwt3o/5+/J///sfDz30EJDUqB9//LEqY/VvuF67Ti+yyCIAzDrrrECaf9NPP332maVvSzy+e+65B4DVVlut3c+biX333ReA4447rt3P/dw999xzAdh99917/bfCcxQEQRAEQVABo41y5N7tSy+9BJBlY1SKKoUR5cUXXwwU66ncKOStt97KIo5DDz0USPvnzYiR3CuvvALALLPMAiRvwAILLACk+ji9obfKkdHc3//+dwA23nhjAGabbbbsffNKUTn0DhhN/vvf/+7RmBqBPha9ekbnH330EQB77703ANdff30DRlcePTaOW+VPjFz1Qlh/xWg+/zoVs+23377iMYw33nhAY1XeG2+8EUiKZx7vjymmmAJIamdXeH+4nlYTz5tZj6r8jtVr9uyzz7Ybi5lQfl1zzTUBWHvttbPXqTLpUa2WErj11lsDcPzxxwMwwQQTtPu9WZ6uFf/v//2/bJ3zeL3XfK0q5owzzgjAhx9+WJWx1oNlllkGgAcffBCgQ8Vrj70nlfTLEcpREARBEARBBRQiW60e6stf//pXoLx3wDHo8zCymW666YAUZey0005AighrEQH1FNWx0oqh7q83MypFAwcOBNK10oNThMjICOcvf/kLkHxRRoJ33HEH0OaLykehqg+qFB6nvgYj2mbA+2SfffYBkmJkNGtmYdEUIz1iRx11FNBRMTIj6IUXXgCSEqSHUbVBpcX5YHae86GrbNGWlpasenSjlKMxxxyTP/3pT6N8zdtvvw1UrhiJa1Q1103VKyvk698Ra73pozKry6wrVRnn6K233grA3HPPDbTdn2ZHVStTS1VHT5rquIqjPjw/Z2666Sag7dq888477cbr+mjdN8+xHkznXpHRi3jdddcBHRUjj3WmmWaq25hCOQqCIAiCICihEMpRLTAaWGqppQA45phjgPRUrfrg3vEGG2wAkNVccU/z9ddfB1JfGXtD+X2RlCPHPPXUU2cRiHu3zcziiy8OJFXCyE/fSjWVx56+17bbbgvAaaedBiQPip6Ca6+9Fkg+IkhRt5FtX8BMvHwWiSrYeuutV/cxdUX//v2zWimqeGJWnR4y148PPvgASKrefffdB8Dtt98OwGWXXQakHmJ77LEHkJSpcrS2tvLFF1/04mh6z5AhQ7IaOnmM4LfccssevXc1a+SYlXbqqacCSUER77WtttoKqDzbszN1r9oqnmu167ReWBVXVSDPt/WVutPXTIWpGfBzN1+J3eP3/NTz8zaUoyAIgiAIghL6rHK06aabAnDssccCaV/aJ9EffvgBSE+sd955J5CUg/fffx9IPYOsoG2lzkUXXRSARx99tHYH0U3sVzXGGGNkVWCtc9SMGBnma12YtXXbbbfVfUx5rNrtfFMxevrpp4HkFShVjCQfAap2+h6zzz47kDINd955Z6D7fazqgWO95JJLgOQZUDFacMEFGzOwUaAK9Mgjj2TZneK4rRmjUpS/ZkayX375ZbvXq0jr/9ttt90AOProozt9n1IalQHrvNt1113LZlJ6Xl588cW6jasc3g95NdI1/rzzzgOS6lApKtT6y+aYY47MO+iOQW+z1fQcmUGnP+iNN94AUg2mSubCkUceCXT0czVDTTvrDc4777ztfu411HOlMl9PQjkKgiAIgiAooc8pR3oGrNia7w3k07QVTzfbbDOg4xO6T64qMCpHRsSbbLIJUCzlqLTvkz6WZu43ZtRtt3WxjkkRakxZS8XsHse04oorAh0r6ZZWGraP30EHHQSk2lvlonZ9B869ImCWl9ln+j70bXhsRcy4sz7MNNNMk6kF3vcPP/wwkLxilc41FWmzjTwfeo9qka1VLcwsNEO3M/RgNrLit+PTB5av3m0m3RFHHAF0fa69Jn51jVfFAaquHJm9qletJ2qwc3aaaaZp93PHrWpdRFT79ATn1zxr2m233XajfJ+xxx47u2er/VkXylEQBEEQBEEJfUI5GmOMMTjggAOA9ESaV4zMDHriiSeAlJ1WrquyT+V5r4gRZL6vzaioVr+uchjplFb9znePbkbsEu75MzLQS1AEVl11VSCN0Qqu+YwXlYPFFlss67s155xzAh2r4OYx8rXGVpHwvst7Bsxmuvnmm9v9PB+lN7JHodF/abVdM3wcf3cVHueo3iO9Rqqgqh56mIqA18J5ma8xA8kDowekEbjmXnHFFUDHTu2qdvbz+/rrryt6X4/X8+C8KFUifM38888PwGOPPdb9Ayih0rGNCsdr9X157733gHQ+ioRKkWt4fs1zvcjv6Pg610D9ZgMHDsy8cnZMcPeotzX+QjkKgiAIgiAooSmVI58UzzzzTKCtU7IVNvPovVEpsmdSV6g8lauobY+oSqi1N0avgBWXW1tbs0rERfDldBeP46yzzmr3c30cja4DU0pemdPHYldpIyCjmQEDBmTXxGhcX4seJI9f9CeoBhYBa09Zl0VUzp588kkgRff3338/kFQaM4gOPPDAbK7WW+U0Cm1packUooMPPhhI16an5DOkjPLNarTuWiNxTFb3tuN8Z1i3ya+N4O677wZS/y1R6fE+eeuttyp6Pz9HrE6dV1rMJCtdQ7tS/Mqpv7VYhw855BAgqZLWf7NPW5FQMdJjpVdRVOnOPfdcICm2roknnngiANNOOy2QfGal59t1U7+SNQl7SihHQRAEQRAEJTSVcuST4cUXXwzAKqusArR/evTp2crE1lGoNBvAKOL8888HOnqXjACsa1IE9LM4doC77rqrUcPpNYstthiQalOJqkSRfFQvv/wykMZkNov1tcR58/PPP2c1TYzC/bd22d58883b/dyMt2pWF+4pRnxmChl9OzYVkaWXXhpIqljeo7f88ssDMHz4cPbbbz8gVRevNfpHHCOkLNannnqqKn8j313dNSpfT6kROBY9byeccALQfv0QfRtmPjUiS80+d4sssgiQFC/vj1NOOQVoUyG7g7W58jWsnB+qiC0tLdnfqlS19j18z2p666yRZIcAueaaa4DUY64IeB9YRzCvGDmfVC9VllZaaSUgHZPrjHg9vvnmm2znxLU3/9qeEspREARBEARBCU2hHFmF2KfPhRZaqN3vf/rpp6zS9RlnnAGkbIJKs02MbP13CyywANBxD9lIwN43RaCz/dtK+wgVCa+BGT5+b9T1t7/9rTEDGwWqmNY1UvUyy9FIc+jQoUBbDRZVx3wmhhks/tzoyGrbPfUtGFFVQ3nSg6dq65j04K288srtfu/9Z50jj2WNNdYA2lTP3maVdBfnk/VwVl555SzS1xP14Ycf9upvuB55/Kod+bpXjcCMOVW+fE8ySNdVVa9RakS/fv2yPn15X+kOO+wAJFWr0vtDv4rH5j2q2q6X1fPy+++/Z/7HrpQzx1BLlVcfjl4j55QepCL5TFdffXWgo5LqebTbgZ5E7xM/A7xWHpNrhZ9vH330UebndKfh+eefr8rYQzkKgiAIgiAooSmUIyMHFSOfyn1CHDp0aJYd0t2MHqP2iy66CID55psPSE+wYgRojY0idVI32vVYfvnllw5VpZsB94rt7C5mDhWhn1MevSrW19K34bUwQhpVxKlClq8BZLTUWZfw7lANv4NjshJ4vvaUfqnVVlsNgBtuuAFo69MFKRNIz826666bja2zujr1QI/Tbrvtll03o9De1rExivU8+bU7czjvrektejavvvpqoL3nKo8qpv0LG1WPat555+2QEelcevDBBwEqVsm9Bvbpynsbnat5pfWCCy7IfIKNZtJJJ80+D10f7KlZpJ6Lrmkq5s7lfFaavxfrg62wwgpAumaqeVdddRUAp556KtCWBeffcp10h6m3hHIUBEEQBEFQQlMoR//4xz/afW92wfDhw4G2uhaddT3vDP1LZiJY28N6LO7f6uPxe5/OddMXKWPKar7y448/8sknnzRoND3HSM7sOzEDsR79qIxwVBL8211hlNkbr0G+R1Jevewp1fAgmDFkB3BxjJNNNhmQalHtuOOOQDp/iy66KACXX345kFTC888/v0MV7UrprbKiGtLa2pq9V7Wyycp5LG6//faK36Na3hHHoqdmwQUXHOXr//vf/2ZZhp999llVxtBTzj777A51iKyu/P7773frvezzZ5aX50V1wjng2ql/bsSIEQ3vhecYN9xww6zPp/Wc9LcVyWtkfTfve1Fp9xp4XC+88AKQMihVg1Ra/er9OWjQoOx17hZZW85doN4SylEQBEEQBEEJhVaOfHrMexJ8ct5qq62Ats697jvrfTDKcB9WX451i/Jdst0LNQtNV/ywYcOA5KYvkmIk+WrdE044IZ9//nmDRtN9vAZ2ds/T3c7o1cCMHrMpaonRU2d1ZiDVd2lkXyszY/I1RLwmdmu3/pFK0o033gi0j/QALrzwQqDNe2BPpHqjKvK///0vW2OspdVTvJbHHXdcu++tzG+Px0ro7Xz3vjKLqZxi5JqmknbjjTey55579upv9xbn26KLLpqdB/ti2s+vK5yr9lrz37kr4HH7WXHJJZcAyZPlnC7Cmu/9tMcee2Tnw/pO4nGpwHvPuX6Y1ed5NEuvmuuqc07vnvg39PTmPbz2BXV98PUzzzwzkLLQ9YN5v7700kuZ8qxiVNoTr1fHUpV3CYIgCIIg6CMUWjny6dHMCaMuVSB9EP369csUIZ9Ip5pqKiDVqvC98rVl/N7owX15qxfna88UCY8h72/I93UqOkYb5TLs6umfys+5emBkal+2/M/tKdVIjNT0VBnh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I488knlErHUx66yzAsmXNNNMMwHw008/AXDkkUcCcMEFFwDwww8/9PwAasxBBx0EwJZbbgnAJJNMAiR16A9/+APQsRJsZ/jEf9JJJwGw7777VnewTY7VyavlTfMaeb5bWlpYc801ATj22GMBOO+886ryt+qB954qw9577w3AJZdc0rAx1cML4b3lmnP00UcDMP/88wOw6aabAimiLbISMu644wLw3nvvtft+8ODBADz99NM1H8Po5l/pCq+BatDll18OwFJLLQUkD+THH3+cvVYl6NtvvwVgxhlnBGDSSScF2nZUAOadd14A/vOf/9T0GGrJhBNOCMAJJ5wAwA477JD9TqVon332AeDMM89s9/OuiGy1IAiCIAiCCmhK5ajk3wGdRx9GepNPPjmQnip33nlnICkEPqHvuuuuQDE9OG+88QYAc8wxR6e/9/hLo1X/3/OQV5WMGmeeeebqDjbHGGOMkakKX331FZCUrnPOOQdI9VXGGWccAAYNGgTA8OHDARhrrLGApO4ZEdUiOq9WROv+/+GHHw4kz9d4443XoZKxEY5q5/vvvz/K93bunn/++e3+3UorrQTAyJEjezX2znD+nHzyyQDsscce7X6vv8EMKH0A9VhfalEZWo/HbrvtBsCee+4JpNpA/l6M7P3bH3/8MQCLLbYYAF988UWvx1QtFl98cQAef/xxAL777jsgHVuzZ/Q6H1QbXFdUYVZbbTUgqTTeP9NNN1271z///PNA22fHI488UpOx6gc666yzgLSmPfHEE0C63/z7nc1t1Wk9ZK7pZmh/8sknNRl7PXDdWXXVVQG45ZZbgHTMv//+O6+88goAhx12GEDmP1YB/fXXX0f5N0I5CoIgCIIgqICmVo66g9H23//+dwAOPPBAIEV8m2++OQDXX399rYfSbVS78ll6r776KgBXX301AG+99RbQpiAsv/zyQIoG3Z9WvdHvYvRYK/r168cpp5wCwHbbbQekyCxPuS7ReYwMBg4cCMCPP/7Y22F2GENP7wv3+1WMPGbnX+l7+7eMFo34ulKOFlxwQSBFRqoYqjVmuFQzYtSzp5r3xz/+sd3vPSavzbnnngvAMcccAyS1rxbUIuPp1FNPBZJyZKSar6dmppDXwPMy9thjA+keXWuttYCUJdsInG/6MM16uuKKK4DkaWxWzFR2zdtmm22A5JNbeeWV272u0vXm22+/zdawI444oipjnXjiiQF48803AXjttdcA2GWXXYBUtXxUc9o5eccddwApW2vFFVcEul5HmgHVPz+n5plnnna///XXX7Oaht6T7gbpC+zKexTKURAEQRAEQQU0ZZ2jnuA++hlnnAGkp+tFF10USJHiAw88AMA333xT7yGW5cILLwTSfuvBBx8MJNXr008/BWCCCSYAYIsttsiyavQTuHd9ww03APWrZdLa2pplBOY9Mmb6bL311kDK2DCqMjLKY7be0ksvDaS99WqNtyeoDOn72XHHHYGOisOjjz7KsGHDgKQy6cFS+SmHka7773nfyzTTTAMkn101laMZZpgBSL4Mj+eee+4BUpbWkCFDgJRhOdFEEwEpq60WfpZqKkaqUN4f1ox5++23AfjXv/4FJLXF7FeVor/85S9Auked66oXjVSOjMLNSvvvf/8LpLWh2VFJNhNZb5H3YF4pyvsyyzHxxBNnXRmqpRy5Li+xxBJAmj96QfPrkGPfZ599sntLBczj05PZzB6jPO5wzD333O1+Xlqby+u38MILA3DXXXcBva93NNo8HInGSFNv3YqacsopgY6pykXAi6xZfL311gOSoXCzzTYD0rH93//9Xybna5x95pln2r1XvWhtbc3GIkrIPuxppPMhwQ9gZX7N9OKiVoR0aR9QTNXX2J9fiH3Y3mmnnbIPSG/wvJm3HH645c3Q4paWBsVq4HFstNFG7b53m0wDtg89muv9wHWbwG25vMG03vOxK7wGH330EZCCCaV67yPnng8Ynhc/7Fyw/b1mYB8mG8F8880HpA/V5557DqjufGkEBgMGSa4f4hxzjnpN3F70gfbFF18E0gOs23Ljjjtu1RNXnGc+DBkoeY1cy7VBTDHFFAAsssgiWYKO/+b2228HUlmWot1TPcGtUQPnclugzz33XPYaHxK9vr0lttWCIAiCIAhKGO2UIzHCVTZ3S8pIV7NrEQzrPhFb+EoFQVRizj77bKDNBKpR1DTGIhxHORybUrNbGtdddx0Ae+21F9AxMqhVem0lOJarrroKgPXXXx/oGOF4LMsttxzQplR291poYHdLR8VQVDE0gVdTUfN45pprrnY/1wSfj1JtS6P07xboKqusApAlCqgWnnLKKYVKHffauBXs165wPqy++upAOm8W6HM7vxE4Fq+J3998881A8zdZVtVUbRDv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giAIgiAoYbTzHM0000wADBs2DICJJ54YgCeffBJIlW1nm202IHmNjBAb4T0yIlTVMjqNGirFx2rna621FgBXXXVVpiZ571111VUAbL311kBzK0iHHHIIAIceeigAF154IQA77rgj0HeUV+9JM57y1e71RzVT3TVpaWnh4IMPBuDwww8Hkmo3xRRTAKmeUz3G0ts5c9xxxwFJldB75BpfDVUzqIzZZ58dgMceewxICnMeP9tef/11IDUdd21UWXr99dd7/ZkcnqMgCIIgCIIKGO2UIzF6t/bFjz/+CMB9990HwPzzzw+kSNB6LU899VTNx6ZCtO222wIp8jEadUz5julvvPEGAEcffTQ33ngjUL0K2NUg3xOvu/8u7xnwmjUDXqv55puPZ599FkjqwzfffAPAtNNOCzSm/kq1uPXWWwFYc801gaSczDDDDEDfyfrUg+McdI5aGdvfF8E70V3GHXdcLrnkEgA23HBDgGw92XjjjYHmUDenn356AF5++WUgrR8XXXQRkDKVg/oz44wzAnD++ecDsPDCCwPJ6yalfVMhffaV9iP1c2+FFVYAur/GhHIUBEEQBEFQAaNdtpq4Z/7hhx8CqZbGlFNO2e51+Uqm9eCKK64A0v5sPvMl323YqHXQoEFAm4fl7bffBuC5556r/YC7QMVLheTTTz8F4KSTTgLglVdeAVJ0OvbYYwNJWfHaeNxG50cffTQAhx12WG0PoAp4rTbddNMOWUVHHnkk0NyKkV69wYMHA+l4PVajuuuuu64Bo6s+zul8ZPvDDz80YjhVZeKJJ2bFFVcE0nXU+9FMStif/vQnINU1cg2//PLLGzamPCoormGPP/44kNbItddeG4BVVlkFaPNLuethJqg1++xraYZ1kTMKF1hgAQCWWmopIH0e77fffgDcf//9QFKU/vjHPwJkqrvrzBprrJF9Tj7yyCMALLTQQkDv19NQjoIgCIIgCEoYbT1H+Qq+r776KpCyMfJ+nqWXXhqorefIjBd9G6uuumq7348YMQKAm2++GYBHH30USMrRqaeeCrTttZuBYR0J+wk1As/lf/7zHyB5a4yyVRfGG2+8dq93bupR8nWiEjXVVFMBxfJX5XGMb7/9dqY6nHjiiUCKlpox+9BrMnz4cCBFgmbgXXvttUCaf0888USdR1gbrKi/2267tfu5WV2NqHNULTbbbLNM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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "num_test = 10\n", "\n", "img = np.zeros([img_size * num_test, img_size * num_test])\n", "\n", "z_result = np.random.uniform(-1, 1, size=(num_test**2, n_latent))\n", "G_result = sess.run(G, feed_dict = {z: z_result, is_training: False})\n", "\n", "for i in range(num_test**2):\n", " row_num = int(i/num_test)\n", " col_num = int(i%num_test)\n", " \n", " img[row_num * img_size : (row_num + 1) * img_size, (col_num) * img_size : (col_num + 1) * img_size] = G_result[i,:,:,0]\n", "\n", "plt.figure(figsize=(10,10))\n", "plt.imshow(img, cmap='gray')\n", "plt.axis('off')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Save Model" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "os.mkdir(save_path)\n", "\n", "Saver.save(sess, save_path + \"/model/model\")\n", "print(\"Model is saved in {}\".format(save_path + \"/model/model\"))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }