{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "view-in-github" }, "source": [ "\"Open" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# for tf 2.0\n", "#!pip install -U tensorflow-gpu" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "colab": {}, "colab_type": "code", "id": "ckOHCuiArv5c" }, "outputs": [ { "data": { "text/plain": [ "'2.0.0'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import tensorflow as tf\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import os\n", "import PIL\n", "import time\n", "from skimage.io import imshow\n", "\n", "from IPython.display import display\n", "tf.__version__" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "colab": {}, "colab_type": "code", "id": "1V2PJHrDrxf2" }, "outputs": [], "source": [ "(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 34 }, "colab_type": "code", "id": "L0iNo21Arykj", "outputId": "05458ce2-9340-4569-f2f6-2712f80e1b1c" }, "outputs": [ { "data": { "text/plain": [ "(dtype('uint8'), (60000, 28, 28))" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_images.dtype, train_images.shape" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 314 }, "colab_type": "code", "id": "uAcCsSinus1d", "outputId": "6c5b8499-8d08-415c-c2e3-36520c5c4a30" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "imshow(train_images[0])" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "colab": {}, "colab_type": "code", "id": "uSDHJmuwtxT4" }, "outputs": [], "source": [ "def img_to_float(img):\n", " return (np.float32(img)[..., None]-127.5)/127.5\n", "def img_to_uint8(img):\n", " return np.uint8(img*127.5+128).clip(0, 255)[...,0]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 314 }, "colab_type": "code", "id": "9yGVvMP9vUn0", "outputId": "e930d29b-1f49-471f-bce8-353c729eddca" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "train_img_f32 = img_to_float(train_images)\n", "imshow(img_to_uint8(train_img_f32[0]))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "colab": {}, "colab_type": "code", "id": "oSrY5b6ev0kO" }, "outputs": [], "source": [ "BUFFER_SIZE = train_img_f32.shape[0]\n", "BATCH_SIZE = 32\n", "train_dataset_y = tf.data.Dataset.from_tensor_slices(train_labels).map(lambda y: tf.one_hot(y, 10))\n", "train_dataset_x = tf.data.Dataset.from_tensor_slices(train_img_f32)\n", "train_dataset = tf.data.Dataset.zip((train_dataset_x, train_dataset_y)).shuffle(BUFFER_SIZE).batch(BATCH_SIZE)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "colab": {}, "colab_type": "code", "id": "ZaJFsMs2v1R1" }, "outputs": [], "source": [ "from tensorflow.keras.layers import Dense, BatchNormalization, LeakyReLU, Reshape, Conv2DTranspose, Input, concatenate\n", "from tensorflow.keras import Model\n", "latent_dim = 100\n", "\n", "_0 = Input((latent_dim,))\n", "_1 = Input((10,))\n", "_ = concatenate([_0, _1])\n", "_ = Dense(7*7*256, use_bias=False, input_shape=(latent_dim,))(_)\n", "_ = BatchNormalization()(_)\n", "_ = LeakyReLU()(_)\n", "_ = Reshape((7, 7, 256))(_)\n", "_ = Conv2DTranspose(128, (5, 5), strides=(1, 1), padding='same', use_bias=False)(_)\n", "_ = BatchNormalization()(_)\n", "_ = LeakyReLU()(_)\n", "_ = Conv2DTranspose(64, (5, 5), strides=(2, 2), padding='same', use_bias=False)(_)\n", "_ = BatchNormalization()(_)\n", "_ = LeakyReLU()(_)\n", "_ = Conv2DTranspose(1, (5, 5), strides=(2, 2), padding='same', use_bias=False, activation='tanh')(_)\n", "generator = Model(inputs=[_0,_1], outputs=_)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "colab": {}, "colab_type": "code", "id": "kqdl08rxvWiS" }, "outputs": [], "source": [ "from tensorflow.keras.layers import Conv2D, Dropout, Flatten\n", "_i = Input((28,28, 1))\n", "_ = Conv2D(64, (5, 5), strides=(2, 2), padding='same')(_i)\n", "_ = LeakyReLU()(_)\n", "_ = Dropout(0.3)(_)\n", "_ = Conv2D(128, (5, 5), strides=(2, 2), padding='same')(_)\n", "_ = LeakyReLU()(_)\n", "_ = Dropout(0.3)(_)\n", "_ = Flatten()(_)\n", "_0 = Dense(1)(_)\n", "_1 = Dense(10)(_)\n", "\n", "discriminator = Model(inputs=_i, outputs=[_0, _1])" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "colab": {}, "colab_type": "code", "id": "nd8zcnhjzKWq" }, "outputs": [], "source": [ "BCE = tf.keras.losses.BinaryCrossentropy(from_logits=True)\n", "CCE = tf.keras.losses.CategoricalCrossentropy(from_logits=True)\n", "def generator_loss(generated_output, labels):\n", " out_d, out_c = generated_output\n", " loss_d = BCE(tf.ones_like(out_d), out_d)\n", " loss_c = CCE(labels, out_c)\n", " return loss_d+loss_c" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "colab": {}, "colab_type": "code", "id": "fgWHoC6FzbUA" }, "outputs": [], "source": [ "def discriminator_loss(real_output, generated_output, labels):\n", " # [1,1,...,1] with real output since it is true and we want our generated examples to look like it\n", " real_out_d, real_out_c = real_output\n", " real_loss_d = BCE(tf.ones_like(real_out_d), real_out_d)\n", " real_loss_c = CCE(labels, real_out_c)\n", " real_loss = real_loss_d + real_loss_c\n", "\n", " # [0,0,...,0] with generated images since they are fake\n", " generated_out_d, generated_out_c = generated_output\n", " generated_loss = BCE(tf.zeros_like(generated_out_d), generated_out_d)\n", " total_loss = real_loss + generated_loss\n", "\n", " return total_loss" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "colab": {}, "colab_type": "code", "id": "KCYwQqxgz8o_" }, "outputs": [], "source": [ "generator_optimizer = tf.keras.optimizers.Adam(1e-4)\n", "discriminator_optimizer = tf.keras.optimizers.Adam(1e-4)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "colab": {}, "colab_type": "code", "id": "Rb2-KU6K1J0I" }, "outputs": [], "source": [ "EPOCHS = 50\n", "num_examples_to_generate = 20\n", "\n", "# We'll re-use this random vector used to seed the generator so\n", "# it will be easier to see the improvement over time.\n", "random_vector_for_generation = tf.random.normal([num_examples_to_generate,\n", " latent_dim])\n", "condition_vector_generation = tf.one_hot(list(range(10))+list(range(10)), 10)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "colab": {}, "colab_type": "code", "id": "Xnu88uGR1etc" }, "outputs": [], "source": [ "@tf.function\n", "def train_step(images, labels):\n", " # generating noise from a normal distribution\n", " noise = tf.random.normal([BATCH_SIZE, latent_dim])\n", " \n", " with tf.GradientTape() as gen_tape, tf.GradientTape() as disc_tape:\n", " generated_images= generator([noise, labels], training=True)\n", " real_output = discriminator(images, training=True)\n", " generated_output = discriminator(generated_images, training=True)\n", " \n", " gen_loss = generator_loss(generated_output, labels)\n", " disc_loss = discriminator_loss(real_output, generated_output, labels)\n", " \n", " gradients_of_generator = gen_tape.gradient(gen_loss, generator.trainable_variables)\n", " gradients_of_discriminator = disc_tape.gradient(disc_loss, discriminator.trainable_variables)\n", " \n", " generator_optimizer.apply_gradients(zip(gradients_of_generator, generator.trainable_variables))\n", " discriminator_optimizer.apply_gradients(zip(gradients_of_discriminator, discriminator.trainable_variables))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 874 }, "colab_type": "code", "id": "1DPQkOVx2yon", "outputId": "1e45a090-fff8-4f8c-dd0d-af96f55f7db3", "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 16.534207582473755\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "1 11.346590757369995\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "2 11.369076013565063\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "3 11.440730094909668\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "4 11.184944868087769\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "5 11.39745545387268\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "6 11.733301401138306\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "7 11.54923415184021\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "8 11.390678405761719\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "9 11.645015954971313\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "10 11.33017086982727\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "11 11.41501784324646\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "12 11.527951955795288\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "13 11.528112411499023\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "14 11.430882453918457\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for epoch in range(15):\n", " start_time = time.time()\n", " for images, labels in train_dataset:\n", " train_step(images, labels)\n", " fake = generator([random_vector_for_generation, condition_vector_generation], training=False)\n", " fake_concat = np.transpose(img_to_uint8(fake), [1,0,2]).reshape((28,-1))\n", " print(epoch, time.time()-start_time)\n", " display(PIL.Image.fromarray(fake_concat))\n", " \n", " " ] } ], "metadata": { "accelerator": "GPU", "colab": { "collapsed_sections": [], "include_colab_link": true, "name": "ACGAN-intro for MNIST", "provenance": [], "version": "0.3.2" }, "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.6.8" } }, "nbformat": 4, "nbformat_minor": 1 }