{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "kernelspec": { "name": "python3", "display_name": "Python 3" }, "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.7.6" }, "colab": { "name": "GAN.ipynb", "provenance": [], "collapsed_sections": [] }, "accelerator": "GPU" }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "OkR3lGmp10f5", "colab_type": "text" }, "source": [ "Original code from https://github.com/eriklindernoren/Keras-GAN/blob/master/dcgan/dcgan.py under the following license:\n", "\n", "MIT License\n", "\n", "Copyright (c) 2017 Erik Linder-Norén\n", "\n", "Permission is hereby granted, free of charge, to any person obtaining a copy\n", "of this software and associated documentation files (the \"Software\"), to deal\n", "in the Software without restriction, including without limitation the rights\n", "to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n", "copies of the Software, and to permit persons to whom the Software is\n", "furnished to do so, subject to the following conditions:\n", "\n", "The above copyright notice and this permission notice shall be included in all\n", "copies or substantial portions of the Software.\n", "\n", "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n", "IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n", "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n", "AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n", "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n", "OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n", "SOFTWARE.\n", "\n", "The author's model was based on the paper here: https://arxiv.org/pdf/1511.06434.pdf\n", "\n", "# Instructions\n", "\n", "1. Go to https://colab.research.google.com and choose the \\\"Upload\\\" option to upload this notebook file.\n", "1. In the Edit menu, choose \\\"Notebook Settings\\\" and then set the \\\"Hardware Accelerator\\\" dropdown to GPU.\n", "1. Read through the code in the following sections:\n", " * [Define functions for model creation and training](#scrollTo=v7awMKS210hl)\n", " * [Create model objects](#scrollTo=suz991e610h-)\n", " * [Train model](#scrollTo=_ig7giYA10i0)\n", "1. Complete at least one of these exercises\n", " * [Exercise Option #1 - Standard Difficulty](#scrollTo=NfUM0c3_10j4)\n", " * [Exercise Option #2 - Advanced Difficulty](#scrollTo=8DjAvBKR10j6)\n", " * [Exercise Option #3 - Advanced Difficulty](#scrollTo=uoO-aBOrsHWh)" ] }, { "cell_type": "code", "metadata": { "id": "X3Gb5m-W10gI", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 34 }, "outputId": "601acf67-bffc-45c1-a0ef-e6c8eeaf178d" }, "source": [ "# upgrade tensorflow to tensorflow 2\n", "%tensorflow_version 2.x\n", "# display matplotlib plots\n", "%matplotlib inline" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "TensorFlow 2.x selected.\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "XRa7lBO810g1", "colab_type": "code", "colab": {} }, "source": [ "from tensorflow.keras.datasets import mnist\n", "from tensorflow.keras.layers import Input, Dense, Reshape, Flatten, Dropout\n", "from tensorflow.keras.layers import BatchNormalization, Activation, ZeroPadding2D\n", "from tensorflow.keras.layers import UpSampling2D, Conv2D, LeakyReLU\n", "from tensorflow.keras.models import Sequential, Model\n", "from tensorflow.keras.optimizers import Adam\n", "from tensorflow import test\n", "from tensorflow import device\n", "\n", "import matplotlib.pyplot as plt\n", "from IPython.display import Image\n", "\n", "import sys\n", "\n", "import numpy as np" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "-qf6LRTd10hM", "colab_type": "code", "colab": {} }, "source": [ "# Global Constants\n", "images_dir = \"dcgan_images\"\n", "img_rows = 28 \n", "img_cols = 28\n", "channels = 1\n", "noise_len = 100" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "v7awMKS210hl", "colab_type": "text" }, "source": [ "# Define functions for model creation and training" ] }, { "cell_type": "code", "metadata": { "id": "-yWulxWk10hu", "colab_type": "code", "colab": {} }, "source": [ "def build_discriminator():\n", " '''\n", " Put together a CNN that will return a single confidence output.\n", " \n", " returns: the model object\n", " '''\n", "\n", " img_shape = (img_rows, img_cols, channels)\n", "\n", " model = Sequential()\n", "\n", " model.add(Conv2D(32, kernel_size=3, strides=2, input_shape=img_shape, padding=\"same\"))\n", " model.add(LeakyReLU(alpha=0.2))\n", " model.add(Dropout(0.25))\n", " model.add(Conv2D(64, kernel_size=3, strides=2, padding=\"same\"))\n", " model.add(ZeroPadding2D(padding=((0,1),(0,1))))\n", " model.add(BatchNormalization(momentum=0.8))\n", " model.add(LeakyReLU(alpha=0.2))\n", " model.add(Dropout(0.25))\n", " model.add(Conv2D(128, kernel_size=3, strides=2, padding=\"same\"))\n", " model.add(BatchNormalization(momentum=0.8))\n", " model.add(LeakyReLU(alpha=0.2))\n", " model.add(Dropout(0.25))\n", " model.add(Conv2D(256, kernel_size=3, strides=1, padding=\"same\"))\n", " model.add(BatchNormalization(momentum=0.8))\n", " model.add(LeakyReLU(alpha=0.2))\n", " model.add(Dropout(0.25))\n", "\n", " model.add(Flatten())\n", " model.add(Dense(1, activation='sigmoid'))\n", "\n", " return model\n", "\n", "def build_generator():\n", " '''\n", " Put together a model that takes in one-dimensional noise and outputs two-dimensional\n", " data representing a black and white image, with -1 for black and 1 for white.\n", " \n", " returns: the model object\n", " '''\n", "\n", " noise_shape = (noise_len,)\n", "\n", " model = Sequential()\n", "\n", " model.add(Dense(128 * 7 * 7, activation=\"relu\", input_shape=noise_shape))\n", " model.add(Reshape((7, 7, 128)))\n", " model.add(UpSampling2D(interpolation=\"bilinear\"))\n", " model.add(Conv2D(128, kernel_size=3, padding=\"same\"))\n", " model.add(BatchNormalization(momentum=0.8)) \n", " model.add(LeakyReLU(alpha=0.2))\n", " model.add(UpSampling2D(interpolation=\"bilinear\"))\n", " model.add(Conv2D(64, kernel_size=3, padding=\"same\"))\n", " model.add(BatchNormalization(momentum=0.8))\n", " model.add(LeakyReLU(alpha=0.2))\n", " model.add(Conv2D(1, kernel_size=3, padding=\"same\"))\n", " model.add(Activation(\"tanh\"))\n", "\n", " return model\n", "\n", "def build_combined():\n", " '''\n", " Puts together a model that combines the discriminator and generator models.\n", " \n", " returns: the generator, discriminator, and combined model objects\n", " '''\n", " \n", " optimizer = Adam(0.0002, 0.5)\n", "\n", " # Build and compile the discriminator\n", " discriminator = build_discriminator()\n", " discriminator.compile(loss='binary_crossentropy', \n", " optimizer=optimizer,\n", " metrics=['accuracy'])\n", "\n", "\n", " # Build and compile the generator\n", " generator = build_generator()\n", "\n", " # The generator takes noise as input and generates images\n", " noise = Input(shape=(noise_len,))\n", " img = generator(noise)\n", " \n", " # For the combined model we will only train the generator\n", " discriminator.trainable = False\n", "\n", " # The discriminator takes generated images as input and determines validity\n", " valid = discriminator(img)\n", "\n", " # The combined model (stacked generator and discriminator) takes\n", " # noise as input => generates images => determines validity \n", " combined = Model(inputs=noise, outputs=valid)\n", " combined.compile(loss='binary_crossentropy', optimizer=optimizer)\n", " return generator, discriminator, combined\n", "\n", "def save_imgs(generator, iteration):\n", " '''\n", " Has the generator create images and saves the images in a single file that includes\n", " the number of iterations in the filename.\n", " \n", " inputs:\n", " generator: the generator model object returned by build_combined\n", " iteration: the iteration number (but can be anything that can be represented as a string)\n", " \n", " returns: None\n", " '''\n", " r, c = 5, 5\n", " noise = np.random.normal(0, 1, (r * c, noise_len))\n", " gen_imgs = generator.predict(noise)\n", "\n", " fig, axs = plt.subplots(r, c)\n", " cnt = 0\n", " for i in range(r):\n", " for j in range(c):\n", " axs[i,j].imshow(gen_imgs[cnt, :,:,0], cmap='gray', vmin=-1, vmax=1)\n", " axs[i,j].axis('off')\n", " cnt += 1\n", " fig.savefig(os.path.join(images_dir, 'mnist_{}.png'.format(iteration)))\n", " plt.close()\n", "\n", "def train(generator, discriminator, combined, iterations, batch_size=128, save_interval=50):\n", " '''\n", " Trains all model objects\n", " \n", " generator: the generator model object returned by build_combined\n", " discriminator: the discriminator model object returned by build_combined\n", " combined: the combined model object returned by build_combined\n", " iterations: integer, the number of iterations to train for\n", " batch_size: integer, the number of training samples to use at a time\n", " save_interval: integer, will generate and save images when the current iteration_num % save_interval is 0\n", " \n", " returns: None\n", " '''\n", "\n", " # Load the dataset\n", " (X_train, _), (_, _) = mnist.load_data()\n", "\n", " # Rescale -1 to 1\n", " X_train = (X_train.astype(np.float32) - 127.5) / 127.5\n", " X_train = np.expand_dims(X_train, axis=3)\n", "\n", " half_batch = int(batch_size / 2)\n", "\n", " for iteration in range(iterations):\n", "\n", " # ---------------------\n", " # Train Discriminator\n", " # ---------------------\n", "\n", " # Select a random half batch of images\n", " idx = np.random.randint(0, X_train.shape[0], half_batch)\n", " imgs = X_train[idx]\n", "\n", " # Sample noise and generate a half batch of new images\n", " noise = np.random.normal(0, 1, (half_batch, noise_len))\n", " gen_imgs = generator.predict(noise)\n", "\n", " # Train the discriminator (real images classified as ones and generated images as zeros)\n", " real = 1\n", " fake = 0\n", " # Use noisy labels: about 10% of the time, swap the labels\n", " # (see https://github.com/soumith/ganhacks)\n", " if np.random.randint(0, 10) < 1:\n", " real = 0\n", " fake = 1\n", " d_loss_real = discriminator.train_on_batch(imgs, np.zeros((half_batch, 1)) + real)\n", " d_loss_fake = discriminator.train_on_batch(gen_imgs, np.zeros((half_batch, 1)) + fake)\n", "\n", " # ---------------------\n", " # Train Generator\n", " # ---------------------\n", "\n", " noise = np.random.normal(0, 1, (batch_size, noise_len))\n", "\n", " # Train the generator (wants discriminator to mistake images as real)\n", " g_loss = combined.train_on_batch(noise, np.ones((batch_size, 1)))\n", "\n", " # If at save interval => save generated image samples and plot progress\n", " if iteration % save_interval == 0:\n", " # Plot the progress\n", " d_loss = 0.5 * np.add(d_loss_real, d_loss_fake)\n", " print (\"{} [D loss: {}, acc.: {:.2%}] [G loss: {}]\".format(iteration, d_loss[0], d_loss[1], g_loss))\n", " save_imgs(generator, iteration)\n", " \n", "def show_new_image(generator):\n", " '''\n", " Generates and displays a new image\n", " \n", " inputs: generator object model returned from build_combined\n", " \n", " returns: generated image\n", " '''\n", " \n", " noise = np.random.normal(0, 1, (1, noise_len))\n", " gen_img = generator.predict(noise)[0][:,:,0]\n", " \n", " return plt.imshow(gen_img, cmap='gray', vmin=-1, vmax=1)" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "suz991e610h-", "colab_type": "text" }, "source": [ "# Create model objects" ] }, { "cell_type": "code", "metadata": { "id": "dOIvTgzk10iB", "colab_type": "code", "colab": {} }, "source": [ "# set up directories to hold the images that are saved during training checkpoints.\n", "import os\n", "\n", "if (not os.path.isdir(images_dir)):\n", " os.mkdir(images_dir)" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "GH2DElzk10iL", "colab_type": "code", "colab": {} }, "source": [ "generator, discriminator, combined = build_combined()" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "IC_YSE7n10iR", "colab_type": "text" }, "source": [ "We can take a look at what each of the models look like." ] }, { "cell_type": "code", "metadata": { "id": "AMI1SESd10iW", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 573 }, "outputId": "f5a73066-be27-4fa1-9adf-ee73e9ce006f" }, "source": [ "generator.summary()" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Model: \"sequential_1\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "dense_1 (Dense) (None, 6272) 633472 \n", "_________________________________________________________________\n", "reshape (Reshape) (None, 7, 7, 128) 0 \n", "_________________________________________________________________\n", "up_sampling2d (UpSampling2D) (None, 14, 14, 128) 0 \n", "_________________________________________________________________\n", "conv2d_4 (Conv2D) (None, 14, 14, 128) 147584 \n", "_________________________________________________________________\n", "batch_normalization_3 (Batch (None, 14, 14, 128) 512 \n", "_________________________________________________________________\n", "leaky_re_lu_4 (LeakyReLU) (None, 14, 14, 128) 0 \n", "_________________________________________________________________\n", "up_sampling2d_1 (UpSampling2 (None, 28, 28, 128) 0 \n", "_________________________________________________________________\n", "conv2d_5 (Conv2D) (None, 28, 28, 64) 73792 \n", "_________________________________________________________________\n", "batch_normalization_4 (Batch (None, 28, 28, 64) 256 \n", "_________________________________________________________________\n", "leaky_re_lu_5 (LeakyReLU) (None, 28, 28, 64) 0 \n", "_________________________________________________________________\n", "conv2d_6 (Conv2D) (None, 28, 28, 1) 577 \n", "_________________________________________________________________\n", "activation (Activation) (None, 28, 28, 1) 0 \n", "=================================================================\n", "Total params: 856,193\n", "Trainable params: 855,809\n", "Non-trainable params: 384\n", "_________________________________________________________________\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "vTIoq8Tr10ii", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 819 }, "outputId": "376ed683-1e7a-4efc-cea4-7799c131c2b2" }, "source": [ "# Note that we get a warning here about weights being trainable.\n", "# When we are training the discriminator, we want its weights to be trainable.\n", "# When we are training the generator, we want the discriminator weights to be fixed.\n", "# This is surprising to Keras, so it is warning us to check that this is really what we want (it is!)\n", "discriminator.summary()" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Model: \"sequential\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "conv2d (Conv2D) (None, 14, 14, 32) 320 \n", "_________________________________________________________________\n", "leaky_re_lu (LeakyReLU) (None, 14, 14, 32) 0 \n", "_________________________________________________________________\n", "dropout (Dropout) (None, 14, 14, 32) 0 \n", "_________________________________________________________________\n", "conv2d_1 (Conv2D) (None, 7, 7, 64) 18496 \n", "_________________________________________________________________\n", "zero_padding2d (ZeroPadding2 (None, 8, 8, 64) 0 \n", "_________________________________________________________________\n", "batch_normalization (BatchNo (None, 8, 8, 64) 256 \n", "_________________________________________________________________\n", "leaky_re_lu_1 (LeakyReLU) (None, 8, 8, 64) 0 \n", "_________________________________________________________________\n", "dropout_1 (Dropout) (None, 8, 8, 64) 0 \n", "_________________________________________________________________\n", "conv2d_2 (Conv2D) (None, 4, 4, 128) 73856 \n", "_________________________________________________________________\n", "batch_normalization_1 (Batch (None, 4, 4, 128) 512 \n", "_________________________________________________________________\n", "leaky_re_lu_2 (LeakyReLU) (None, 4, 4, 128) 0 \n", "_________________________________________________________________\n", "dropout_2 (Dropout) (None, 4, 4, 128) 0 \n", "_________________________________________________________________\n", "conv2d_3 (Conv2D) (None, 4, 4, 256) 295168 \n", "_________________________________________________________________\n", "batch_normalization_2 (Batch (None, 4, 4, 256) 1024 \n", "_________________________________________________________________\n", "leaky_re_lu_3 (LeakyReLU) (None, 4, 4, 256) 0 \n", "_________________________________________________________________\n", "dropout_3 (Dropout) (None, 4, 4, 256) 0 \n", "_________________________________________________________________\n", "flatten (Flatten) (None, 4096) 0 \n", "_________________________________________________________________\n", "dense (Dense) (None, 1) 4097 \n", "=================================================================\n", "WARNING:tensorflow:Discrepancy between trainable weights and collected trainable weights, did you set `model.trainable` without calling `model.compile` after ?\n", "Total params: 786,562\n", "Trainable params: 392,833\n", "Non-trainable params: 393,729\n", "_________________________________________________________________\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "sszWLl-s10iq", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 260 }, "outputId": "ab69e76f-6749-459e-8343-0578e9351faa" }, "source": [ "combined.summary()" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Model: \"model\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "input_1 (InputLayer) [(None, 100)] 0 \n", "_________________________________________________________________\n", "sequential_1 (Sequential) (None, 28, 28, 1) 856193 \n", "_________________________________________________________________\n", "sequential (Sequential) (None, 1) 393729 \n", "=================================================================\n", "Total params: 1,249,922\n", "Trainable params: 855,809\n", "Non-trainable params: 394,113\n", "_________________________________________________________________\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "_ig7giYA10i0", "colab_type": "text" }, "source": [ "# Train model" ] }, { "cell_type": "code", "metadata": { "id": "gd5cvE0D10i3", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 764 }, "outputId": "ba2dcfa0-171e-4be6-f8a5-8370c48b39a6" }, "source": [ "# Train using GPU acceleration\n", "# (see https://colab.research.google.com/notebooks/gpu.ipynb#scrollTo=Y04m-jvKRDsJ)\n", "device_name = test.gpu_device_name()\n", "if device_name != '/device:GPU:0':\n", " print(\n", " '\\n\\nThis error most likely means that this notebook is not '\n", " 'configured to use a GPU. Change this in Notebook Settings via the '\n", " 'command palette (cmd/ctrl-shift-P) or the Edit menu.\\n\\n')\n", " raise SystemError('GPU device not found')\n", "\n", "# Lower the number of iterations when you start debugging! You want a short testing cycle until you are confident\n", "# that the code is working. Also, since the exercises involve models with less complicated patterns, you will\n", "# likely not need as many iterations to train well.\n", "with device('/device:GPU:0'):\n", " train(generator, discriminator, combined, iterations=2001, batch_size=32, save_interval=50)" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n", "11493376/11490434 [==============================] - 0s 0us/step\n", "0 [D loss: 1.1544578075408936, acc.: 21.88%] [G loss: 0.7053578495979309]\n", "50 [D loss: 0.9345921277999878, acc.: 43.75%] [G loss: 1.245182752609253]\n", "100 [D loss: 0.8686975836753845, acc.: 50.00%] [G loss: 1.3115715980529785]\n", "150 [D loss: 0.5672547817230225, acc.: 68.75%] [G loss: 1.0402133464813232]\n", "200 [D loss: 0.9006196856498718, acc.: 50.00%] [G loss: 1.1437000036239624]\n", "250 [D loss: 0.31124305725097656, acc.: 93.75%] [G loss: 1.2584846019744873]\n", "300 [D loss: 0.7882351875305176, acc.: 53.12%] [G loss: 0.8200423717498779]\n", "350 [D loss: 0.4814497232437134, acc.: 75.00%] [G loss: 1.1233599185943604]\n", "400 [D loss: 0.44962307810783386, acc.: 81.25%] [G loss: 0.6487892866134644]\n", "450 [D loss: 0.12017085403203964, acc.: 100.00%] [G loss: 0.7795431613922119]\n", "500 [D loss: 0.2077733874320984, acc.: 96.88%] [G loss: 0.7009087800979614]\n", "550 [D loss: 0.07344160974025726, acc.: 100.00%] [G loss: 0.6887441873550415]\n", "600 [D loss: 0.13227102160453796, acc.: 100.00%] [G loss: 0.8408626914024353]\n", "650 [D loss: 0.5133113861083984, acc.: 78.12%] [G loss: 0.4815252125263214]\n", "700 [D loss: 0.13273777067661285, acc.: 100.00%] [G loss: 0.6770761013031006]\n", "750 [D loss: 0.06418153643608093, acc.: 100.00%] [G loss: 0.5403904914855957]\n", "800 [D loss: 0.17853617668151855, acc.: 96.88%] [G loss: 0.8621774911880493]\n", "850 [D loss: 0.38654857873916626, acc.: 84.38%] [G loss: 0.41380786895751953]\n", "900 [D loss: 3.509596347808838, acc.: 0.00%] [G loss: 0.7589566707611084]\n", "950 [D loss: 2.796586275100708, acc.: 0.00%] [G loss: 0.759162425994873]\n", "1000 [D loss: 0.3516937792301178, acc.: 93.75%] [G loss: 0.6133664846420288]\n", "1050 [D loss: 0.22273698449134827, acc.: 93.75%] [G loss: 0.5366196632385254]\n", "1100 [D loss: 2.862865924835205, acc.: 0.00%] [G loss: 0.6058429479598999]\n", "1150 [D loss: 0.07716101408004761, acc.: 100.00%] [G loss: 0.933562159538269]\n", "1200 [D loss: 0.022532951086759567, acc.: 100.00%] [G loss: 1.1765646934509277]\n", "1250 [D loss: 2.714770793914795, acc.: 0.00%] [G loss: 0.7532151937484741]\n", "1300 [D loss: 0.2733033001422882, acc.: 96.88%] [G loss: 0.8495866060256958]\n", "1350 [D loss: 0.31903183460235596, acc.: 84.38%] [G loss: 0.9593919515609741]\n", "1400 [D loss: 0.06647367775440216, acc.: 100.00%] [G loss: 0.9115855097770691]\n", "1450 [D loss: 0.05962929129600525, acc.: 100.00%] [G loss: 1.197852611541748]\n", "1500 [D loss: 0.1420375108718872, acc.: 100.00%] [G loss: 1.102597951889038]\n", "1550 [D loss: 0.05265570059418678, acc.: 100.00%] [G loss: 0.8590636849403381]\n", "1600 [D loss: 0.07089543342590332, acc.: 100.00%] [G loss: 1.357068419456482]\n", "1650 [D loss: 0.04263726994395256, acc.: 100.00%] [G loss: 1.5785088539123535]\n", "1700 [D loss: 0.07926680147647858, acc.: 100.00%] [G loss: 1.1031678915023804]\n", "1750 [D loss: 2.85390043258667, acc.: 0.00%] [G loss: 0.8541635274887085]\n", "1800 [D loss: 0.13204118609428406, acc.: 100.00%] [G loss: 1.014026403427124]\n", "1850 [D loss: 0.7211976051330566, acc.: 68.75%] [G loss: 0.2760601043701172]\n", "1900 [D loss: 0.0855787843465805, acc.: 100.00%] [G loss: 0.9019816517829895]\n", "1950 [D loss: 0.08599527925252914, acc.: 100.00%] [G loss: 0.9975156784057617]\n", "2000 [D loss: 1.544213056564331, acc.: 6.25%] [G loss: 0.4589151442050934]\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "bx37Xn_D10i-", "colab_type": "text" }, "source": [ "You can look at the saved files to see what the model output looks like after a certain number of iterations:" ] }, { "cell_type": "code", "metadata": { "id": "Gbi2Ypii10jB", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 305 }, "outputId": "4a05f535-5290-4eba-975b-c6f5a46a422f" }, "source": [ "Image(filename=os.path.join(images_dir, 'mnist_0.png'))" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "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\nJ4PNhAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 11 } ] }, { "cell_type": "code", "metadata": { "id": "Ax2Xw2Ii10jJ", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 305 }, "outputId": "95b27da2-42bd-42ae-ae10-ae1d0e9807b9" }, "source": [ "Image(filename=os.path.join(images_dir, 'mnist_500.png'))" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 12 } ] }, { "cell_type": "code", "metadata": { "id": "42B8ovyc10jR", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 305 }, "outputId": "158c6847-3fc2-4d15-9771-e277db3c09f8" }, "source": [ "Image(filename=os.path.join(images_dir, 'mnist_2000.png'))" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 13 } ] }, { "cell_type": "markdown", "metadata": { "id": "uEXczEQE10jZ", "colab_type": "text" }, "source": [ "Let's have the trained model generate some images for us." ] }, { "cell_type": "code", "metadata": { "id": "IbQkILwv10jb", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 282 }, "outputId": "179d8cca-32a8-4b98-a903-ecffea06d031" }, "source": [ "show_new_image(generator)" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 14 }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "4DufmdPx10jh", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 282 }, "outputId": "aec2391a-3705-4724-b3f2-74f6e8708bb2" }, "source": [ "show_new_image(generator)" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 15 }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "yXO4RJ-W10jp", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 282 }, "outputId": "7a723e72-34d5-4f15-fa7c-2b4737ffe4c1" }, "source": [ "show_new_image(generator)" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 16 }, { "output_type": "display_data", "data": { "image/png": "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\n/D+A4NdIQckOYwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "quw7i5_d10jw", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 282 }, "outputId": "d2bad442-b689-47ee-e1f6-21e0fb025db4" }, "source": [ "show_new_image(generator)" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 17 }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAU10lEQVR4nO3df2xVZZoH8O/T0vKj1Aqi5cfgj0FU\nFANqhVVxgxkZhRh1ojFDzMRNiB3NmMxEEte4fwz/GHWz42T+WCfprGZwRSeKo5AI7nSbMTjRDFZl\npMAuFCjQ2h/8LKVQSttn/+hhUrXneeo9955z3ff7SUjb+9z3nveeex7uvec57/uKqoKI/v8ryboD\nRJQOJjtRIJjsRIFgshMFgslOFIhxaW6stLRUx42L32RZWZnZfmBgIDbmVRWSVh2s9lluOykRMePW\n6wUAkyZNyjnuPbb1egNAd3e3GT9z5kxsbGhoyGxbzKzXTFWhqqPeIVGyi8jdAH4DoBTAf6jq89b9\nx40bh5kzZ8bGq6urze0dOXIkNuYdGF7cS6jBwcGcH7u/vz/nxx5L3DpwvWQeP368Gb/44ovN+A03\n3GDGFy5cGBu75JJLzLYdHR1mfPPmzWZ8x44dsbHTp0+bbZP+Z+Dt9yTbLi8vj41Zx1rOH+NFpBTA\nvwNYDuBaACtF5NpcH4+ICivJd/ZFAJpVdZ+q9gP4A4D78tMtIsq3JMk+C8ChEX+3Rrd9hYjUikij\niDR6H0eJqHAKfjZeVetUtUZVa0pLSwu9OSKKkSTZ2wDMHvH396LbiKgIJUn2TwDMFZErRKQcwI8B\nbMxPt4go33IuvanqgIg8AeC/MFx6e0VV42sdw23MMtKePXvMbU6YMCE25pW3ent7zbh3PsEqpXhl\nliRlPcAvxSSpw3uPfeLEiUTxvr6+2NixY8fMtk1NTWZ87969OW/b22dJSmdJ23ttrTywysCJ6uyq\nugnApiSPQUTp4OWyRIFgshMFgslOFAgmO1EgmOxEgWCyEwUi1fHsImKOWZ88ebLZ/ty5c7Exa9gf\nkLyuWlFRERubOHGi2dYaVw0Ax48fT9TeqpWXlNj/n1dVVZnx+fPnm/HHHnvMjC9YsCA25tX4L7jg\nAjO+fft2M97T05PztrOsw3uvWa5zK/CdnSgQTHaiQDDZiQLBZCcKBJOdKBBMdqJApFp6GxwcxNGj\n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\nO1Eg/g/NDi4AZzxlFQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "NfUM0c3_10j4", "colab_type": "text" }, "source": [ "# Exercise Option #1 - Standard Difficulty\n", "Change the model so that it learns to produce 9x9 images of some simple pattern, for instance horizontal lines." ] }, { "cell_type": "markdown", "metadata": { "id": "8DjAvBKR10j6", "colab_type": "text" }, "source": [ "# Exercise Option #2 - Advanced Difficulty\n", "Change the model so that you can select which number you get an image of rather than always getting a random one. I highly recommend that you limit your model to only learning two or three numbers, so that you can get decent results with less training time." ] }, { "cell_type": "markdown", "metadata": { "id": "uoO-aBOrsHWh", "colab_type": "text" }, "source": [ "# Exercise Option #3 - Advanced Difficulty\n", "You may notice the current GAN with 2000 iterations only gives so-so output. Unfortunately, if you keep training past this point, the output just gets worse. I haven't yet been able to figure out how to change the model to get better results. Can you?" ] }, { "cell_type": "code", "metadata": { "id": "Ufi0IeBv10j8", "colab_type": "code", "colab": {} }, "source": [ "" ], "execution_count": null, "outputs": [] } ] }