{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# DiffAugment is all you need\n\nPaper: Differentiable Augmentation for Data-Efficient GAN Training https://arxiv.org/abs/2006.10738\nOfficial code: https://github.com/mit-han-lab/data-efficient-gans/tree/master/DiffAugment-stylegan2\n\nExperiment:\n\n1. Copy and edit any succesful notebook. I took here https://www.kaggle.com/animesh2099/monet-gan by animesh2099 and remove augmentation if it is used\n\n2. Add code from file https://github.com/mit-han-lab/data-efficient-gans/blob/master/DiffAugment-stylegan2/DiffAugment_tf.py \n\n3. In train_step I added concatenating real and fake images together, augmenting it with DiffAugment, and separating to real and fake batches again:\n\n            batch_size = tf.shape(real_monet)[0]\n            both_monet = tf.concat([real_monet, fake_monet], axis=0)            \n            \n            aug_monet = aug_fn(both_monet)\n            \n            aug_real_monet = aug_monet[:batch_size]\n            aug_fake_monet = aug_monet[batch_size:]\n\n\n4. Add function to use DiffAugment:\n\n        def aug_fn(image):\n            return DiffAugment(image,\"color,translation,cutout\")\n\n  \n5. We do not afraid overfitting so increase BATCH_SIZE to 16 for example and add some more epochs\n\n6. Run and compare result to the baseline notebook.\n\n","metadata":{}},{"cell_type":"markdown","source":"![image.png](attachment:22d9de24-55b6-498c-a2ec-23ef772d0954.png)","metadata":{},"attachments":{"22d9de24-55b6-498c-a2ec-23ef772d0954.png":{"image/png":"iVBORw0KGgoAAAANSUhEUgAABDMAAAEcCAYAAADa9f//AAAgAElEQVR4AeydCVwU5f/HXS5PFLyPvE1TU1OzX9pdluXxK8u0rEyzzLTSyuz4qek/LbXMDi2P0jTPvDlERVAQxVtBRQ1BQUVAQQQRNnb5/J9ndmeZnZ1dBlj2gO+8XsvO8Z1nnnnPs8M8n/k+328V0EQEiAARIAJEgAgQASJABIgAESACRIAIEAE3IlDFjepKVSUCRIAIEAEiQASIABEgAkSACBABIkAEiABIzKBGQASIABEgAkSACBABIkAEiAARIAJEgAi4FQESM9zqclFliQARIAJEgAgQASJABIgAESACRIAIEAESM6gNEAEiQASIABEgAkSACBABIkAEiAARIAJuRYDEDLe6XFRZIkAEiAARIAJEgAgQASJABIgAESACRIDEDGoDRIAIEAEiQASIABEgAkSACBABIkAEiIBbESAxw60uF1WWCBABIkAEiAARIAJEgAgQASJABIgAESAxg9oAESACRIAIEAEiQASIABEgAkSACBABIuBWBEjMcKvLRZUlAkSACBABIkAEiAARIAJEgAgQASJABEjMoDZABIgAESACRIAIEAEiQASIABEgAkSACLgVARIz3OpyUWWJABEgAkSACBABIkAEiAARIAJEgAgQARIzqA0QASJABIgAESACRIAIEAEiQASIABEgAm5FgMQMt7pcVFkiQASIABEgAkSACBABIkAEiAARIAJEgMQMagNEgAgQASJABIgAESACRIAIEAEiQASIgFsRIDHDrS4XVZYIEAEiQASIABEgAkSACBABIkAEiAARIDGD2gARIAJEgAgQASJABIgAESACRIAIEAEi4FYESMxwq8tFlSUCRIAIEAEiQASIABEgAkSACBABIkAESMygNkAEiAARIAJEgAgQASJABIgAESACRIAIuBUBEjPc6nJRZYkAESACRIAIEAEiQASIABEgAkSACBABEjOoDRABIkAEiAARIAJEgAgQASJABIgAESACbkWAxAy3ulxUWSJABIgAESACRIAIEAEiQASIABEgAkSAxAxqA0SACBABIkAEiAARIAJEgAgQASJABIiAWxEgMcOtLhdVlggQASJABIgAESACRIAIEAEiQASIABEgMYPaABEgAkSACBABIkAEiAARIAJEgAgQASLgVgRIzHCry0WVJQJEgAgQASJABIgAESACRIAIEAEiQARIzKA2QASIABEgAkSACBABIkAEiAARIAJEgAi4FQESM9zqclFliQARIAJEgAgQASJABIgAESACRIAIEAESM6gNEAEiQASIABEgAkSACBABIkAEiAARIAJuRYDEDLe6XFRZIkAEiAARIAJEgAgQASJABIgAESACRIDEDGoDRIAIEAEiQASIABEgAkSACBABIkAEiIBbESAxw60uF1WWCBABIkAEiAARIAJEgAgQASJABIgAESAxg9oAESACRIAIEAEiQASIABEgAkSACBABIuBWBEjMcKvLRZUlAkSACBABIkAEiAARIAJEgAgQASJABEjMoDZABIgAESACRIAIEAEiQASIABEgAkSACLgVARIz3OpyUWWJABEgAkSACBABIkAEiAARIAJEgAgQARIzqA0QASJABIgAESACRIAIEAEiQASIABEgAm5FgMQMt7pcVFkiQASIABEgAkSACBABIkAEiAARIAJEgMQMagNEgAgQASJABIgAESACRIAIEAEiQASIgFsRIDHDrS4XVZYIEAEioI5AwdVTyDhwENnX8tTtQFZEgAgQASJABIgAESACRMCNCJCY4UYXi6pKBIgAEVBFQJ+CxAF1EeDri6Bhq1GgaicyIgJEgAgQASJABIgAESAC7kOAxAz3uVZUUyJABIiAOgL6q0jsbxQzhv5VMjEj9yASxr6CQ6+MRcLBXHXHIysiQASIgJRA7lXcij6AjLhr0EnX0zwRIAJEgAgQATsSIDHDjjCpKCJABIiASxAog5hRmP47ouv6Mq+OujiwNA2FLnFCVAkiQATch4AeeYsGIJB5hgXUH4bkHPepOdWUCBABIkAE3IsAiRnudb2otkSACLgxgcLMBGSyt5WZ569DLzmPgsuxQnyLWylGTwh9Fm4fY281z/C3mjpoYwOQOHs64mb+jMuHrpntKxSjz0R20FKcnz4NZ39aj8xrSVY8M/QouBSNq3/Mx7lpU3Dm63m4uO0o8vINlSnMOI+MoCmI9Odihj8i/xeE6/uikJUs8dDQ30T2rhWInzkNZ6Z/i4R1UciVbJacFs0SASJQKQnocee3/gYxo95QJGeXBEIuMhaOxeGhr+D4woMl8yoryWHIlggQASJABCoEARIzKsRlpJMgAkTA9QlokTmlp+EBv/37SDMKCDCLb7FKeHgv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"}}},{"cell_type":"code","source":"import tensorflow as tf\nfrom tensorflow import keras\nfrom tensorflow.keras import layers\nimport tensorflow_addons as tfa\n\nfrom kaggle_datasets import KaggleDatasets\nimport matplotlib.pyplot as plt\nimport numpy as np\n\ntry:\n    tpu = tf.distribute.cluster_resolver.TPUClusterResolver()\n    print('Device:', tpu.master())\n    tf.config.experimental_connect_to_cluster(tpu)\n    tf.tpu.experimental.initialize_tpu_system(tpu)\n    strategy = tf.distribute.experimental.TPUStrategy(tpu)\nexcept:\n    strategy = tf.distribute.get_strategy()\nprint('Number of replicas:', strategy.num_replicas_in_sync)\n\nAUTO = tf.data.experimental.AUTOTUNE\nprint(tf.__version__)","metadata":{"_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","papermill":{"duration":10.22236,"end_time":"2020-09-05T15:00:53.606766","exception":false,"start_time":"2020-09-05T15:00:43.384406","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2023-06-02T18:26:11.559532Z","iopub.execute_input":"2023-06-02T18:26:11.559836Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"with strategy.scope():\n# Differentiable Augmentation for Data-Efficient GAN Training\n# Shengyu Zhao, Zhijian Liu, Ji Lin, Jun-Yan Zhu, and Song Han\n# https://arxiv.org/pdf/2006.10738\n# from https://github.com/mit-han-lab/data-efficient-gans/blob/master/DiffAugment_tf.py\n\n\n\n    def DiffAugment(x, policy='', channels_first=False):\n        if policy:\n            if channels_first:\n                x = tf.transpose(x, [0, 2, 3, 1])\n            for p in policy.split(','):\n                for f in AUGMENT_FNS[p]:\n                    x = f(x)\n            if channels_first:\n                x = tf.transpose(x, [0, 3, 1, 2])\n        return x\n\n\n    def rand_brightness(x):\n        magnitude = tf.random.uniform([tf.shape(x)[0], 1, 1, 1]) - 0.5\n        x = x + magnitude\n        return x\n\n\n    def rand_saturation(x):\n        magnitude = tf.random.uniform([tf.shape(x)[0], 1, 1, 1]) * 2\n        x_mean = tf.reduce_sum(x, axis=3, keepdims=True) * 0.3333333333333333333\n        x = (x - x_mean) * magnitude + x_mean\n        return x\n\n\n    def rand_contrast(x):\n        magnitude = tf.random.uniform([tf.shape(x)[0], 1, 1, 1]) + 0.5\n        x_mean = tf.reduce_sum(x, axis=[1, 2, 3], keepdims=True) * 5.086e-6\n        x = (x - x_mean) * magnitude + x_mean\n        return x\n\n    def rand_translation(x, ratio=0.125):\n        batch_size = tf.shape(x)[0]\n        image_size = tf.shape(x)[1:3]\n        shift = tf.cast(tf.cast(image_size, tf.float32) * ratio + 0.5, tf.int32)\n        translation_x = tf.random.uniform([batch_size, 1], -shift[0], shift[0] + 1, dtype=tf.int32)\n        translation_y = tf.random.uniform([batch_size, 1], -shift[1], shift[1] + 1, dtype=tf.int32)\n        grid_x = tf.clip_by_value(tf.expand_dims(tf.range(image_size[0], dtype=tf.int32), 0) + translation_x + 1, 0, image_size[0] + 1)\n        grid_y = tf.clip_by_value(tf.expand_dims(tf.range(image_size[1], dtype=tf.int32), 0) + translation_y + 1, 0, image_size[1] + 1)\n        x = tf.gather_nd(tf.pad(x, [[0, 0], [1, 1], [0, 0], [0, 0]]), tf.expand_dims(grid_x, -1), batch_dims=1)\n        x = tf.transpose(tf.gather_nd(tf.pad(tf.transpose(x, [0, 2, 1, 3]), [[0, 0], [1, 1], [0, 0], [0, 0]]), tf.expand_dims(grid_y, -1), batch_dims=1), [0, 2, 1, 3])\n        return x\n\n\n    def rand_cutout(x, ratio=0.5):\n        batch_size = tf.shape(x)[0]\n        image_size = tf.shape(x)[1:3]\n        cutout_size = tf.cast(tf.cast(image_size, tf.float32) * ratio + 0.5, tf.int32)\n        offset_x = tf.random.uniform([tf.shape(x)[0], 1, 1], maxval=image_size[0] + (1 - cutout_size[0] % 2), dtype=tf.int32)\n        offset_y = tf.random.uniform([tf.shape(x)[0], 1, 1], maxval=image_size[1] + (1 - cutout_size[1] % 2), dtype=tf.int32)\n        grid_batch, grid_x, grid_y = tf.meshgrid(tf.range(batch_size, dtype=tf.int32), tf.range(cutout_size[0], dtype=tf.int32), tf.range(cutout_size[1], dtype=tf.int32), indexing='ij')\n        cutout_grid = tf.stack([grid_batch, grid_x + offset_x - cutout_size[0] // 2, grid_y + offset_y - cutout_size[1] // 2], axis=-1)\n        mask_shape = tf.stack([batch_size, image_size[0], image_size[1]])\n        cutout_grid = tf.maximum(cutout_grid, 0)\n        cutout_grid = tf.minimum(cutout_grid, tf.reshape(mask_shape - 1, [1, 1, 1, 3]))\n        mask = tf.maximum(1 - tf.scatter_nd(cutout_grid, tf.ones([batch_size, cutout_size[0], cutout_size[1]], dtype=tf.float32), mask_shape), 0)\n        x = x * tf.expand_dims(mask, axis=3)\n        return x\n\n\n    AUGMENT_FNS = {\n        'color': [rand_brightness, rand_saturation, rand_contrast],\n        'translation': [rand_translation],\n        'cutout': [rand_cutout],\n}\n    def aug_fn(image):\n        return DiffAugment(image,\"color,translation,cutout\")","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def data_augment_color(image):\n    image = tf.image.random_flip_left_right(image)\n    image = DiffAugment(image,\"color\")\n    return image","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def data_augment_flip(image):\n    image = tf.image.random_flip_left_right(image)\n    return image","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\nGCS_PATH = KaggleDatasets().get_gcs_path('gan-getting-started')\n\n","metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","papermill":{"duration":0.756937,"end_time":"2020-09-05T15:00:54.386131","exception":false,"start_time":"2020-09-05T15:00:53.629194","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import re\nMONET_FILENAMES = tf.io.gfile.glob(str(GCS_PATH + '/monet_tfrec/*.tfrec'))\nprint('Monet TFRecord Files:', len(MONET_FILENAMES))\n\nPHOTO_FILENAMES = tf.io.gfile.glob(str(GCS_PATH + '/photo_tfrec/*.tfrec'))\nprint('Photo TFRecord Files:', len(PHOTO_FILENAMES))\n\ndef count_data_items(filenames):\n    n = [int(re.compile(r\"-([0-9]*)\\.\").search(filename).group(1)) for filename in filenames]\n    return np.sum(n)\n\nn_monet_samples = count_data_items(MONET_FILENAMES)\nn_photo_samples = count_data_items(PHOTO_FILENAMES)\n\nBATCH_SIZE =  128\nEPOCHS_NUM = 28\n\nprint(f'Monet TFRecord files: {len(MONET_FILENAMES)}')\nprint(f'Monet image files: {n_monet_samples}')\nprint(f'Photo TFRecord files: {len(PHOTO_FILENAMES)}')\nprint(f'Photo image files: {n_photo_samples}')\nprint(f\"Batch_size: {BATCH_SIZE}\")\nprint(f\"Epochs number: {EPOCHS_NUM}\")","metadata":{"papermill":{"duration":0.195174,"end_time":"2020-09-05T15:00:54.604928","exception":false,"start_time":"2020-09-05T15:00:54.409754","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"IMAGE_SIZE = [256, 256]\n\ndef decode_image(image):\n    image = tf.image.decode_jpeg(image, channels=3)\n    image = (tf.cast(image, tf.float32) / 127.5) - 1\n    image = tf.reshape(image, [*IMAGE_SIZE, 3])\n    return image\n\ndef read_tfrecord(example):\n    tfrecord_format = {\n        \"image_name\": tf.io.FixedLenFeature([], tf.string),\n        \"image\": tf.io.FixedLenFeature([], tf.string),\n        \"target\": tf.io.FixedLenFeature([], tf.string)\n    }\n    example = tf.io.parse_single_example(example, tfrecord_format)\n    image = decode_image(example['image'])\n    return image","metadata":{"papermill":{"duration":0.037166,"end_time":"2020-09-05T15:00:54.664517","exception":false,"start_time":"2020-09-05T15:00:54.627351","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def load_dataset(filenames):\n    dataset = tf.data.TFRecordDataset(filenames)\n    dataset = dataset.map(read_tfrecord, num_parallel_calls=AUTO)\n    return dataset\n\ndef get_gan_dataset(monet_files, photo_files, augment=None, repeat=True, shuffle=True, batch_size=1):\n\n    monet_ds = load_dataset(monet_files)\n    photo_ds = load_dataset(photo_files)\n    \n\n        \n    if repeat:\n        monet_ds = monet_ds.repeat()\n        photo_ds = photo_ds.repeat()\n    if shuffle:\n        monet_ds = monet_ds.shuffle(2048)\n        photo_ds = photo_ds.shuffle(2048)\n        \n    monet_ds = monet_ds.batch(batch_size, drop_remainder=True)\n    photo_ds = photo_ds.batch(batch_size, drop_remainder=True)\n#     monet_ds = monet_ds.cache()\n#     photo_ds = photo_ds.cache()\n    if augment:\n        monet_ds = monet_ds.map(augment, num_parallel_calls=AUTO)\n        photo_ds = photo_ds.map(augment, num_parallel_calls=AUTO)\n        \n    monet_ds = monet_ds.prefetch(AUTO)\n    photo_ds = photo_ds.prefetch(AUTO)\n    \n    gan_ds = tf.data.Dataset.zip((monet_ds, photo_ds))\n    \n    return gan_ds\n\ndef get_photo_dataset(photo_files, augment=None, repeat=False, shuffle=False, batch_size=1):\n\n\n    photo_ds = load_dataset(photo_files)\n    \n\n        \n    if repeat:\n        photo_ds = photo_ds.repeat()\n    if shuffle:\n        photo_ds = photo_ds.shuffle(2048)\n\n\n        \n    photo_ds = photo_ds.batch(batch_size, drop_remainder=True)\n#     monet_ds = monet_ds.cache()\n#     photo_ds = photo_ds.cache()\n    if augment:\n        photo_ds = photo_ds.map(augment, num_parallel_calls=AUTO)\n    \n    photo_ds = photo_ds.prefetch(AUTO)\n    \n    \n    return photo_ds","metadata":{"papermill":{"duration":0.050518,"end_time":"2020-09-05T15:00:54.739068","exception":false,"start_time":"2020-09-05T15:00:54.68855","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"full_dataset = get_gan_dataset(MONET_FILENAMES, PHOTO_FILENAMES, augment=data_augment_flip, repeat=True, shuffle=False, batch_size=BATCH_SIZE)\n","metadata":{"papermill":{"duration":1.677169,"end_time":"2020-09-05T15:00:56.439085","exception":false,"start_time":"2020-09-05T15:00:54.761916","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"example_monet , example_photo = next(iter(full_dataset))","metadata":{"papermill":{"duration":7.840585,"end_time":"2020-09-05T15:01:04.303119","exception":false,"start_time":"2020-09-05T15:00:56.462534","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.subplot(121)\nplt.title('Photo')\nplt.imshow(example_photo[0] * 0.5 + 0.5)\n\nplt.subplot(122)\nplt.title('Monet')\nplt.imshow(example_monet[0] * 0.5 + 0.5)","metadata":{"papermill":{"duration":0.924623,"end_time":"2020-09-05T15:01:05.25081","exception":false,"start_time":"2020-09-05T15:01:04.326187","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"OUTPUT_CHANNELS = 3\n\ndef downsample(filters, size, apply_instancenorm=True):\n    initializer = tf.random_normal_initializer(0., 0.02)\n    gamma_init = keras.initializers.RandomNormal(mean=0.0, stddev=0.02)\n\n    result = keras.Sequential()\n    result.add(layers.Conv2D(filters, size, strides=2, padding='same',\n                             kernel_initializer=initializer, use_bias=False))\n\n    if apply_instancenorm:\n        result.add(tfa.layers.InstanceNormalization(gamma_initializer=gamma_init))\n\n    result.add(layers.LeakyReLU())\n\n    return result","metadata":{"papermill":{"duration":0.040391,"end_time":"2020-09-05T15:01:05.318656","exception":false,"start_time":"2020-09-05T15:01:05.278265","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def upsample(filters, size, apply_dropout=False):\n    initializer = tf.random_normal_initializer(0., 0.02)\n    gamma_init = keras.initializers.RandomNormal(mean=0.0, stddev=0.02)\n\n    result = keras.Sequential()\n    result.add(layers.Conv2DTranspose(filters, size, strides=2,\n                                      padding='same',\n                                      kernel_initializer=initializer,\n                                      use_bias=False))\n\n    result.add(tfa.layers.InstanceNormalization(gamma_initializer=gamma_init))\n\n    if apply_dropout:\n        result.add(layers.Dropout(0.5))\n\n    result.add(layers.ReLU())\n\n    return result","metadata":{"papermill":{"duration":0.041198,"end_time":"2020-09-05T15:01:05.387172","exception":false,"start_time":"2020-09-05T15:01:05.345974","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def Generator():\n    inputs = layers.Input(shape=[256,256,3])\n\n    # bs = batch size\n    down_stack = [\n        downsample(64, 4, apply_instancenorm=False), # (bs, 128, 128, 64)\n        downsample(128, 4), # (bs, 64, 64, 128)\n        downsample(256, 4), # (bs, 32, 32, 256)\n        downsample(512, 4), # (bs, 16, 16, 512)\n        downsample(512, 4), # (bs, 8, 8, 512)\n        downsample(512, 4), # (bs, 4, 4, 512)\n        downsample(512, 4), # (bs, 2, 2, 512)\n        downsample(512, 4), # (bs, 1, 1, 512)\n    ]\n\n    up_stack = [\n        upsample(512, 4, apply_dropout=True), # (bs, 2, 2, 1024)\n        upsample(512, 4, apply_dropout=True), # (bs, 4, 4, 1024)\n        upsample(512, 4, apply_dropout=True), # (bs, 8, 8, 1024)\n        upsample(512, 4), # (bs, 16, 16, 1024)\n        upsample(256, 4), # (bs, 32, 32, 512)\n        upsample(128, 4), # (bs, 64, 64, 256)\n        upsample(64, 4), # (bs, 128, 128, 128)\n    ]\n\n    initializer = tf.random_normal_initializer(0., 0.02)\n    last = layers.Conv2DTranspose(OUTPUT_CHANNELS, 4,\n                                  strides=2,\n                                  padding='same',\n                                  kernel_initializer=initializer,\n                                  activation='tanh') # (bs, 256, 256, 3)\n\n    x = inputs\n\n    # Downsampling through the model\n    skips = []\n    for down in down_stack:\n        x = down(x)\n        skips.append(x)\n\n    skips = reversed(skips[:-1])\n\n    # Upsampling and establishing the skip connections\n    for up, skip in zip(up_stack, skips):\n        x = up(x)\n        x = layers.Concatenate()([x, skip])\n\n    x = last(x)\n\n    return keras.Model(inputs=inputs, outputs=x)","metadata":{"papermill":{"duration":0.048335,"end_time":"2020-09-05T15:01:05.462961","exception":false,"start_time":"2020-09-05T15:01:05.414626","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def Discriminator():\n    initializer = tf.random_normal_initializer(0., 0.02)\n    gamma_init = keras.initializers.RandomNormal(mean=0.0, stddev=0.02)\n\n    inp = layers.Input(shape=[256, 256, 3], name='input_image')\n\n    x = inp\n\n    down1 = downsample(64, 4, False)(x) # (bs, 128, 128, 64)\n    down2 = downsample(128, 4)(down1) # (bs, 64, 64, 128)\n    down3 = downsample(256, 4)(down2) # (bs, 32, 32, 256)\n\n    zero_pad1 = layers.ZeroPadding2D()(down3) # (bs, 34, 34, 256)\n    conv = layers.Conv2D(512, 4, strides=1,\n                         kernel_initializer=initializer,\n                         use_bias=False)(zero_pad1) # (bs, 31, 31, 512)\n\n    norm1 = tfa.layers.InstanceNormalization(gamma_initializer=gamma_init)(conv)\n\n    leaky_relu = layers.LeakyReLU()(norm1)\n\n    zero_pad2 = layers.ZeroPadding2D()(leaky_relu) # (bs, 33, 33, 512)\n\n    last = layers.Conv2D(1, 4, strides=1,\n                         kernel_initializer=initializer)(zero_pad2) # (bs, 30, 30, 1)\n\n    return tf.keras.Model(inputs=inp, outputs=last)","metadata":{"papermill":{"duration":0.044869,"end_time":"2020-09-05T15:01:05.5357","exception":false,"start_time":"2020-09-05T15:01:05.490831","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"with strategy.scope():\n    monet_generator = Generator() # transforms photos to Monet-esque paintings\n    photo_generator = Generator() # transforms Monet paintings to be more like photos\n\n    monet_discriminator = Discriminator() # differentiates real Monet paintings and generated Monet paintings\n    photo_discriminator = Discriminator() # differentiates real photos and generated photos\n","metadata":{"papermill":{"duration":10.106708,"end_time":"2020-09-05T15:01:15.67027","exception":false,"start_time":"2020-09-05T15:01:05.563562","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"to_monet = monet_generator(example_photo)\n\nplt.subplot(1, 2, 1)\nplt.title(\"Original Photo\")\nplt.imshow(example_photo[0] * 0.5 + 0.5)\n\nplt.subplot(1, 2, 2)\nplt.title(\"Monet-esque Photo\")\nplt.imshow(to_monet[0] * 0.5 + 0.5)\nplt.show()","metadata":{"papermill":{"duration":0.892227,"end_time":"2020-09-05T15:01:16.59085","exception":false,"start_time":"2020-09-05T15:01:15.698623","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"class CycleGan(keras.Model):\n    def __init__(\n        self,\n        monet_generator,\n        photo_generator,\n        monet_discriminator,\n        photo_discriminator,\n        lambda_cycle=10,\n    ):\n        super(CycleGan, self).__init__()\n        self.m_gen = monet_generator\n        self.p_gen = photo_generator\n        self.m_disc = monet_discriminator\n        self.p_disc = photo_discriminator\n        self.lambda_cycle = lambda_cycle\n        \n    def compile(\n        self,\n        m_gen_optimizer,\n        p_gen_optimizer,\n        m_disc_optimizer,\n        p_disc_optimizer,\n        gen_loss_fn,\n        disc_loss_fn,\n        cycle_loss_fn,\n        identity_loss_fn\n    ):\n        super(CycleGan, self).compile()\n        self.m_gen_optimizer = m_gen_optimizer\n        self.p_gen_optimizer = p_gen_optimizer\n        self.m_disc_optimizer = m_disc_optimizer\n        self.p_disc_optimizer = p_disc_optimizer\n        self.gen_loss_fn = gen_loss_fn\n        self.disc_loss_fn = disc_loss_fn\n        self.cycle_loss_fn = cycle_loss_fn\n        self.identity_loss_fn = identity_loss_fn\n        \n    def train_step(self, batch_data):\n        real_monet, real_photo = batch_data\n        batch_size = tf.shape(real_monet)[0]\n        with tf.GradientTape(persistent=True) as tape:\n            # photo to monet back to photo\n            fake_monet = self.m_gen(real_photo, training=True)\n            cycled_photo = self.p_gen(fake_monet, training=True)\n\n            # monet to photo back to monet\n            fake_photo = self.p_gen(real_monet, training=True)\n            cycled_monet = self.m_gen(fake_photo, training=True)\n\n            # generating itself\n            same_monet = self.m_gen(real_monet, training=True)\n            same_photo = self.p_gen(real_photo, training=True)\n\n            ################## My code #####################\n            \n            both_monet = tf.concat([real_monet, fake_monet], axis=0)            \n            \n            aug_monet = aug_fn(both_monet)\n            \n            aug_real_monet = aug_monet[:batch_size]\n            aug_fake_monet = aug_monet[batch_size:]\n            \n            ################ End of my code #################\n            \n            # discriminator used to check, inputing real images\n            disc_real_monet = self.m_disc(aug_real_monet, training=True) # aug_real_monet\n            disc_real_photo = self.p_disc(real_photo, training=True)\n\n            # discriminator used to check, inputing fake images\n            disc_fake_monet = self.m_disc(aug_fake_monet, training=True) # aug_fake_monet\n            disc_fake_photo = self.p_disc(fake_photo, training=True)\n\n            # evaluates generator loss\n            monet_gen_loss = self.gen_loss_fn(disc_fake_monet)\n            photo_gen_loss = self.gen_loss_fn(disc_fake_photo)\n\n            # evaluates total cycle consistency loss\n            total_cycle_loss = self.cycle_loss_fn(real_monet, cycled_monet, self.lambda_cycle) + self.cycle_loss_fn(real_photo, cycled_photo, self.lambda_cycle)\n\n            # evaluates total generator loss\n            total_monet_gen_loss = monet_gen_loss + total_cycle_loss + self.identity_loss_fn(real_monet, same_monet, self.lambda_cycle)\n            total_photo_gen_loss = photo_gen_loss + total_cycle_loss + self.identity_loss_fn(real_photo, same_photo, self.lambda_cycle)\n\n            # evaluates discriminator loss\n            monet_disc_loss = self.disc_loss_fn(disc_real_monet, disc_fake_monet)\n            photo_disc_loss = self.disc_loss_fn(disc_real_photo, disc_fake_photo)\n\n        # Calculate the gradients for generator and discriminator\n        monet_generator_gradients = tape.gradient(total_monet_gen_loss,\n                                                  self.m_gen.trainable_variables)\n        photo_generator_gradients = tape.gradient(total_photo_gen_loss,\n                                                  self.p_gen.trainable_variables)\n\n        monet_discriminator_gradients = tape.gradient(monet_disc_loss,\n                                                      self.m_disc.trainable_variables)\n        photo_discriminator_gradients = tape.gradient(photo_disc_loss,\n                                                      self.p_disc.trainable_variables)\n\n        # Apply the gradients to the optimizer\n        self.m_gen_optimizer.apply_gradients(zip(monet_generator_gradients,\n                                                 self.m_gen.trainable_variables))\n\n        self.p_gen_optimizer.apply_gradients(zip(photo_generator_gradients,\n                                                 self.p_gen.trainable_variables))\n\n        self.m_disc_optimizer.apply_gradients(zip(monet_discriminator_gradients,\n                                                  self.m_disc.trainable_variables))\n\n        self.p_disc_optimizer.apply_gradients(zip(photo_discriminator_gradients,\n                                                  self.p_disc.trainable_variables))\n        \n        return {\n            \"monet_gen_loss\": total_monet_gen_loss,\n            \"photo_gen_loss\": total_photo_gen_loss,\n            \"monet_disc_loss\": monet_disc_loss,\n            \"photo_disc_loss\": photo_disc_loss\n        }\n","metadata":{"papermill":{"duration":0.065128,"end_time":"2020-09-05T15:01:16.687162","exception":false,"start_time":"2020-09-05T15:01:16.622034","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"with strategy.scope():\n    def discriminator_loss(real, generated):\n        real_loss = tf.keras.losses.BinaryCrossentropy(from_logits=True, reduction=tf.keras.losses.Reduction.NONE)(tf.ones_like(real), real)\n\n        generated_loss = tf.keras.losses.BinaryCrossentropy(from_logits=True, reduction=tf.keras.losses.Reduction.NONE)(tf.zeros_like(generated), generated)\n\n        total_disc_loss = real_loss + generated_loss\n\n        return total_disc_loss * 0.5\n","metadata":{"papermill":{"duration":0.04366,"end_time":"2020-09-05T15:01:16.761742","exception":false,"start_time":"2020-09-05T15:01:16.718082","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"with strategy.scope():\n    def generator_loss(generated):\n        return tf.keras.losses.BinaryCrossentropy(from_logits=True,\n                                                  reduction=tf.keras.losses.Reduction.NONE)(tf.ones_like(generated), generated)","metadata":{"papermill":{"duration":0.041247,"end_time":"2020-09-05T15:01:16.834375","exception":false,"start_time":"2020-09-05T15:01:16.793128","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"with strategy.scope():\n    def calc_cycle_loss(real_image, cycled_image, LAMBDA):\n        loss1 = tf.reduce_mean(tf.abs(real_image - cycled_image))\n\n        return LAMBDA * loss1","metadata":{"papermill":{"duration":0.041509,"end_time":"2020-09-05T15:01:16.907265","exception":false,"start_time":"2020-09-05T15:01:16.865756","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"with strategy.scope():\n    def identity_loss(real_image, same_image, LAMBDA):\n        loss = tf.reduce_mean(tf.abs(real_image - same_image))\n        return LAMBDA * 0.5 * loss\n","metadata":{"papermill":{"duration":0.041668,"end_time":"2020-09-05T15:01:16.980907","exception":false,"start_time":"2020-09-05T15:01:16.939239","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"with strategy.scope():\n    monet_generator_optimizer = tf.keras.optimizers.Adam(2e-4, beta_1=0.5)\n    photo_generator_optimizer = tf.keras.optimizers.Adam(2e-4, beta_1=0.5)\n\n    monet_discriminator_optimizer = tf.keras.optimizers.Adam(2e-4, beta_1=0.5)\n    photo_discriminator_optimizer = tf.keras.optimizers.Adam(2e-4, beta_1=0.5)","metadata":{"papermill":{"duration":0.044367,"end_time":"2020-09-05T15:01:17.057075","exception":false,"start_time":"2020-09-05T15:01:17.012708","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"with strategy.scope():\n    cycle_gan_model = CycleGan(\n        monet_generator, photo_generator, monet_discriminator, photo_discriminator\n    )\n\n    cycle_gan_model.compile(\n        m_gen_optimizer = monet_generator_optimizer,\n        p_gen_optimizer = photo_generator_optimizer,\n        m_disc_optimizer = monet_discriminator_optimizer,\n        p_disc_optimizer = photo_discriminator_optimizer,\n        gen_loss_fn = generator_loss,\n        disc_loss_fn = discriminator_loss,\n        cycle_loss_fn = calc_cycle_loss,\n        identity_loss_fn = identity_loss\n    )\n","metadata":{"papermill":{"duration":0.078165,"end_time":"2020-09-05T15:01:17.166571","exception":false,"start_time":"2020-09-05T15:01:17.088406","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cycle_gan_model.fit(\n    full_dataset,\n    epochs=EPOCHS_NUM,\n    steps_per_epoch=(max(n_monet_samples, n_photo_samples)//4),\n)\n\n","metadata":{"papermill":{"duration":6851.503073,"end_time":"2020-09-05T16:55:28.70592","exception":false,"start_time":"2020-09-05T15:01:17.202847","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"with strategy.scope():\n    monet_generator_optimizer = tf.keras.optimizers.Adam(1e-4, beta_1=0.5)\n    photo_generator_optimizer = tf.keras.optimizers.Adam(1e-4, beta_1=0.5)\n\n    monet_discriminator_optimizer = tf.keras.optimizers.Adam(1e-4, beta_1=0.5)\n    photo_discriminator_optimizer = tf.keras.optimizers.Adam(1e-4, beta_1=0.5)\n    cycle_gan_model.compile(\n        m_gen_optimizer = monet_generator_optimizer,\n        p_gen_optimizer = photo_generator_optimizer,\n        m_disc_optimizer = monet_discriminator_optimizer,\n        p_disc_optimizer = photo_discriminator_optimizer,\n        gen_loss_fn = generator_loss,\n        disc_loss_fn = discriminator_loss,\n        cycle_loss_fn = calc_cycle_loss,\n        identity_loss_fn = identity_loss\n    )","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cycle_gan_model.fit(\n    full_dataset,\n    epochs=4,\n    steps_per_epoch=(max(n_monet_samples, n_photo_samples)//4),\n)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import PIL\ndef predict_and_save(input_ds, generator_model, output_path):\n    i = 1\n    for img in input_ds:\n        prediction = generator_model(img, training=False)[0].numpy() # make predition\n        prediction = (prediction * 127.5 + 127.5).astype(np.uint8)   # re-scale\n        im = PIL.Image.fromarray(prediction)\n        im.save(f'{output_path}{str(i)}.jpg')\n        i += 1","metadata":{"papermill":{"duration":21.724166,"end_time":"2020-09-05T16:56:12.027787","exception":false,"start_time":"2020-09-05T16:55:50.303621","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import os\nos.makedirs('../images/') # Create folder to save generated images\n\npredict_and_save(load_dataset(PHOTO_FILENAMES).batch(1), monet_generator, '../images/')\n","metadata":{"papermill":{"duration":2318.649071,"end_time":"2020-09-05T17:35:12.083938","exception":false,"start_time":"2020-09-05T16:56:33.434867","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import shutil\nshutil.make_archive('/kaggle/working/images/', 'zip', '../images')\n\nprint(f\"Generated samples: {len([name for name in os.listdir('../images/') if os.path.isfile(os.path.join('../images/', name))])}\")","metadata":{"papermill":{"duration":26.671201,"end_time":"2020-09-05T17:36:00.294664","exception":false,"start_time":"2020-09-05T17:35:33.623463","status":"completed"},"tags":[],"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cycle_gan_model.p_gen.save_weights(\"p_gen_weights.h5\")\ncycle_gan_model.m_gen.save_weights(\"m_gen_weights.h5\")\n\ncycle_gan_model.p_disc.save_weights(\"p_disc_weights.h5\")\ncycle_gan_model.m_disc.save_weights(\"m_disc_weights.h5\")","metadata":{"trusted":true},"execution_count":null,"outputs":[]}]}