diff --git "a/docs/notebooks/ex06b - image denoising.ipynb" "b/docs/notebooks/ex06b - image denoising.ipynb" new file mode 100644--- /dev/null +++ "b/docs/notebooks/ex06b - image denoising.ipynb" @@ -0,0 +1,1009 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "7qRouQU6CBYp" + }, + "source": [ + "# Image Denoising\n", + "\n", + "In this notebook you will see an example of an **image denoising**, using an _autoencoder_, inspired into Francois Chollet [tutorial](https://blog.keras.io/building-autoencoders-in-keras.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xQVZ7LqAkLfN" + }, + "source": [ + "## What is an image denoising?\n", + "\n", + "An **image denoising** is an algorithm that learns _what_ is noise (in some _noisy image_) and _how_ to remove it, based into the _true signal_ / _original_ (image without noisy). The results are images very close to the true ones, for example, as in the image below:\n", + "\n", + "![Example of image denoising](https://upload.wikimedia.org/wikipedia/en/e/e8/ROF_Denoising_Example.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "3mS9b2VlkLfO" + }, + "source": [ + "## Image denoising using autoencoders\n", + "\n", + "**Autoencoders** are based on _Neural Networks (NNs)_ and are known as **Convolutional Neural Networks** (**CNNs** or **convnets**). A **convnet** is a __Deep Learning algorithm__ which takes an input image, assign importance (learnable weight, biases and retains spatial relationships in the data into each one of theirs layers) to various aspects/parts in the image and is able to differentiate/reconstruct the same.\n", + "\n", + "The general idea behind this kind of code can be visualized here:\n", + "\n", + "![General autoencoder](https://www.pyimagesearch.com/wp-content/uploads/2020/02/keras_denoising_autoencoder_overview.png)\n", + "\n", + "Then, the **autoencoder** compreehends an _encoder_ and a _decoder_. The **encoder** does the _encoding process_, i.e., transforms the image into a _compressed representation_ at the same time that starts the noisy reduction. Then, the _compressed representation_ goes to **decoder** that performs the _decoder process_, restoring the image to its true and recognizable shape. At the end of the process, we remove almost all noise in the image." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "PlefLaHBDM-d" + }, + "source": [ + "## Libraries" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "qck3CaT4RjqG" + }, + "outputs": [], + "source": [ + "import keras\n", + "from keras import layers\n", + "from keras.datasets import mnist\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "8zuLUyPPDYbQ" + }, + "source": [ + "## Data\n", + "\n", + "Here, we are using as our data the [MNIST](https://keras.io/api/datasets/mnist/) dataset.\n", + "\n", + "This is a dataset of 60 000 images of size 28 $\\times$ 28 grayscale images of hand written of 10 digits (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), along with a test set of 10 000 images." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Es7vRf4TEGxT" + }, + "source": [ + "### Importing data\n", + "\n", + "This dataset is mostly used in _classification problems_, that is why they have the images and a second information, the labels of each image.\n", + "\n", + "But, as we are going to map digits images to clean them, we are not going to use the labels.\n", + "\n", + "In this way, our process is going to take the **noised images** and clear the same based into the **true images** as _targets_." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "nEuuZgQxRpjN", + "outputId": "55182890-77e0-489f-bfa7-9545c4cd1c42", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n", + "11490434/11490434 [==============================] - 0s 0us/step\n" + ] + } + ], + "source": [ + "(x_train, _), (x_test, _) = mnist.load_data()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "u_f1ANSIwvWQ", + "outputId": "b0ff039d-810e-4990-8320-bf9bf4311a10" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "((60000, 28, 28), (10000, 28, 28))" + ] + }, + "metadata": {}, + "execution_count": 3 + } + ], + "source": [ + "x_train.shape, x_test.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "lm5aObAyJ9KC" + }, + "outputs": [], + "source": [ + "dimension = x_train.shape[1]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7iwNnFCcF0Ii" + }, + "source": [ + "### Pre-processing data" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ySGkoOvGFaK4" + }, + "source": [ + "Because here we are doing a simple example, we will use a fraction of the complete dataset: just 1000 images, dividing if on 700 as _train_ and 300 images as _test_." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "98_nnVm9wzLO" + }, + "outputs": [], + "source": [ + "num_data = 1000\n", + "frac_train = 0.7\n", + "frac_test = 0.3\n", + "x_train = x_train[0:int(frac_train*num_data)]\n", + "x_test = x_test[0:int(frac_test*num_data)]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "u40Mvyi8GKwb" + }, + "source": [ + "We are going to normalize the images between 0 and 1 and to reshape them." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "CU7dOwLuRtqZ" + }, + "outputs": [], + "source": [ + "norm_factor = 255.\n", + "x_train = x_train.astype('float32')/norm_factor\n", + "x_test = x_test.astype('float32')/norm_factor\n", + "x_train = np.reshape(x_train, (len(x_train), dimension, dimension, 1))\n", + "x_test = np.reshape(x_test, (len(x_test), dimension, dimension, 1))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "bcqjoWCPHGcf" + }, + "source": [ + "Here, we need to noisy the images, then, we apply a Gaussian noisy matrix and clip the images between 0 and 1." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Mvs20GYpR_2D" + }, + "outputs": [], + "source": [ + "noise_factor = 0.5\n", + "x_train_noisy = x_train + noise_factor * np.random.normal(loc = 0.0, scale = 1.0, size = x_train.shape)\n", + "x_test_noisy = x_test + noise_factor * np.random.normal(loc = 0.0, scale = 1.0, size = x_test.shape)\n", + "\n", + "x_train_noisy = np.clip(x_train_noisy, 0., 1.)\n", + "x_test_noisy = np.clip(x_test_noisy, 0., 1.)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zglXXB4WJtPf" + }, + "source": [ + "Visualizing some noise images images." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 743 + }, + "id": "9HO1aCFnSIe6", + "outputId": "0eaf2af6-ad78-4092-f8e2-88072056cff5" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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Lzg4GMOHD8f777+PzMxMm3X9+vUDgBKjVxcvXgwAeOSRR6TtZmdn2yy7urri7rvvhqIouH79ujXesGFD9O3bF+vWrUNSUhL69OmDhg0b3s4pVZhOp7PJL+DGTwhu/dsQERGB1NRUHD582Br7888/kZSUVGI7Ly8vvPnmmzbnfNMff/zhuM5XA16RVaPRo0dj7NixGDx4MB5++GH89NNP+Oabb0okz8svv4wvvvgC/fv3x6hRo9CxY0fk5+fj559/xqZNm3DmzJkqTbjevXvD1dUVAwYMwAsvvICrV69i5cqV8PX1tbma9PPzw4svvoi33noLjz76KPr06YOffvoJX3/9NRo2bGjzMVFNO0eqHq+++irWrl2L48ePo23bttZ4+/btMXLkSKxYsQI5OTkICwvDDz/8gNWrV2PgwIHo0aOHtM3evXvD398fXbp0gZ+fH3799VcsW7YMjzzyiHW4+00jRozAkCFDAABz586tnJMsh/79+2Pt2rUwGAy4++67kZqaip07d1q/o75p2rRpWLduHR5++GFMnDjROvy+adOm+PPPP6055uXlhfj4eDz99NO47777EBkZiUaNGuHcuXP48ssv0aVLl9v6GLW6sZBVozFjxuD06dNYtWoVtm/fjm7dumHHjh3o2bOnzXbu7u5ISUnBm2++iY0bN2LNmjXw8vJCy5YtMWfOHOuXxVWlVatW2LRpE2bOnImXXnoJ/v7+GDduHBo1alRixOOCBQvg7u6OlStXYufOnQgNDcW3336Lrl272syGUNPOkapHixYtMHz4cKxevbrEug8++ADNmzdHYmIiNm/eDH9/f8TExGDWrFmltvnCCy8gKSkJixcvxtWrV9GkSRNMmjQJM2fOLLHtgAEDUL9+fVgsFjz66KMOOy97vfPOO9DpdEhKSkJhYSG6dOmCnTt3IiIiwma7wMBA7Nq1C5MmTcKbb76JRo0aISoqCh4eHpg0aZJNjg0bNgwBAQGYP38+Fi1aBJPJhDvuuAPdunW7rVHVNYFGufX6laiS5eTkoH79+pg3bx5effXV6u4OkVVxcTECAgIwYMAArFq1qrq7U2HR0dF4//33cfXqVengktqE35FRpbp27VqJ2M3vOXhrGapptmzZgj/++AMjRoyo7q6U2605lp2djbVr16Jr165OUcQAXpFRJUtMTERiYiL69euHevXqYe/e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\n" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbIAAADyCAYAAAAoXEDEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAydUlEQVR4nO3de1hU1f4/8PcwwMgdUQFJUNS8pKknUyJvmCZiWd46oplaWal4i8oTZqlZ4qW0UsM0AzXM0rLSyvLuzxOYmsoxy9S84AVUkhkuMsDM/v3h17GRtYDB4bKZ9+t55nmaz9p77bVpPq7ZM59ZW6MoigIiIiKVcqruARAREd0JTmRERKRqnMiIiEjVOJEREZGqcSIjIiJV40RGRESqxomMiIhUjRMZERGpGicyIiJSNU5kDiAiIgIRERHVPQyiKlHVr/ddu3ZBo9Fg165dVXZMssaJ7A5oNJpyPfgCJ7KWlJQEjUaDOnXq4MKFCyXaIyIi0LZt22oYGamRc3UPQM3WrFlj9Xz16tXYunVriXjr1q2rclgl/PTTT9V6fCIZo9GIuXPnYvHixXbrs6pf7927d8f169fh6upapcelWziR3YERI0ZYPU9NTcXWrVtLxG+Xn58Pd3f3yhyaFSYY1VQdOnTAihUrEBcXh6CgILv0WdWvdycnJ9SpU6dKj0nW+NFiJbv5EcnBgwfRvXt3uLu7Y9q0aQBufDQ5c+bMEvs0adIEo0ePtoplZ2djypQpCA4Ohk6nQ/PmzTFv3jyYzeZyjeGf3xnc/Ez/iy++wKxZs3DXXXfBy8sLQ4YMgV6vh9FoxJQpU+Dv7w9PT088/fTTMBqNVn0mJibioYcegr+/P3Q6He655x4kJCSUOLbZbMbMmTMRFBQEd3d39OzZE8eOHbP7OZI6TZs2DSaTCXPnzi1z2+LiYsyePRvNmjWDTqdDkyZNMG3atBKvTdF3ZIsXL0abNm3g7u6OunXr4v7778fatWsBADt37oRGo8HGjRtLHHPt2rXQaDRISUmRjkv0HdnNvE9LS0OPHj3g7u6O5s2bY8OGDQCA3bt3IywsDG5ubmjZsiW2bdtm1efZs2cxfvx4tGzZEm5ubqhXrx6eeOIJnDlzpsTxbx7Dzc0NjRo1wltvvYXExERoNJoS2//www/o1q0bPDw84OXlhUceeQS//fab9NzUgldkVSArKwtRUVGIjo7GiBEjEBAQYNP++fn56NGjBy5cuIAXXngBISEh+PnnnxEXF4dLly7hvffeq9C44uPj4ebmhldffRUnT57E4sWL4eLiAicnJ1y7dg0zZ85EamoqkpKSEBoaijfeeMOyb0JCAtq0aYPHHnsMzs7O2LRpE8aPHw+z2YyYmBjLdnFxcZg/fz769++PyMhIHDlyBJGRkSgoKKiSc6SaLTQ0FCNHjsSKFSvw6quvlnpVNmbMGKxatQpDhgzBSy+9hH379iE+Ph6///67cBK6acWKFZg0aRKGDBmCyZMno6CgAGlpadi3bx+GDx+OiIgIBAcHIzk5GQMHDrTaNzk5Gc2aNUN4eLjN53bt2jU8+uijiI6OxhNPPIGEhARER0cjOTkZU6ZMwdixYzF8+HAsWLAAQ4YMQXp6Ory8vAAA+/fvx88//4zo6Gg0atQIZ86cQUJCAiIiInDs2DHLJzoXLlxAz549odFoEBcXBw8PD3z88cfQ6XQlxrNmzRqMGjUKkZGRmDdvHvLz85GQkICuXbvi0KFDaNKkic3nWGMoZDcxMTHK7X/SHj16KACUZcuWldgegDJjxowS8caNGyujRo2yPJ89e7bi4eGh/Pnnn1bbvfrqq4pWq1XOnTtX6rh69Oih9OjRw/J8586dCgClbdu2SmFhoSU+bNgwRaPRKFFRUVb7h4eHK40bN7aK5efnlzhOZGSk0rRpU8vzjIwMxdnZWRkwYIDVdjNnzlQA2PUcSV0SExMVAMr+/fuVU6dOKc7OzsqkSZMs7T169FDatGljeX748GEFgDJmzBirfl5++WUFgLJjxw6rff/5en/88cet+hKJi4tTdDqdkp2dbYldvnxZcXZ2FuboP93Mp507d1qNAYCydu1aS+yPP/5QAChOTk5KamqqJf7jjz8qAJTExERLTJRfKSkpCgBl9erVltjEiRMVjUajHDp0yBLLyspS/Pz8FADK6dOnFUVRlJycHMXX11d57rnnrPrMyMhQfHx8SsTVhh8tVgGdToenn366wvuvX78e3bp1Q926dXH16lXLo3fv3jCZTNizZ0+F+h05ciRcXFwsz8PCwqAoCp555hmr7cLCwpCeno7i4mJLzM3NzfLfer0eV69eRY8ePfDXX39Br9cDALZv347i4mKMHz/eqr+JEydW2TlSzde0aVM89dRTWL58OS5duiTc5vvvvwcAxMbGWsVfeuklAMB3330n7d/X1xfnz5/H/v37pduMHDkSRqPR8tEfAHz++ecoLi4u8ztvGU9PT0RHR1uet2zZEr6+vmjdujXCwsIs8Zv//ddff1li/8yvoqIiZGVloXnz5vD19cWvv/5qaduyZQvCw8PRoUMHS8zPzw9PPvmk1Vi2bt2K7OxsDBs2zCq/tFotwsLCsHPnzgqdY03BjxarwF133XVHX0CfOHECaWlpaNCggbD98uXLFeo3JCTE6rmPjw8AIDg4uETcbDZDr9ejXr16AID//ve/mDFjBlJSUpCfn2+1vV6vh4+PD86ePQsAaN68uVW7n58f6tataxWrrHMkdZg+fTrWrFmDuXPn4v333y/RfvbsWTg5OZV4LQUGBsLX19fyWhP5z3/+g23btqFz585o3rw5+vTpg+HDh6NLly6WbVq1aoVOnTohOTkZzz77LIAbHys+8MADJY5ZXo0aNYJGo7GK+fj4CPMLuPFR5E3Xr19HfHw8EhMTceHCBSiKYmm7+UYRuPF3EX3sefuYT5w4AQB46KGHhGP19vYuzynVWJzIqsA/312Vh8lksnpuNpvx8MMPY+rUqcLtW7RoUaFxabVam+I3k+nUqVPo1asXWrVqhYULFyI4OBiurq74/vvvsWjRogoVZ1TWOZI6NG3aFCNGjMDy5cvx6quvSre7fWIoj9atW+P48ePYvHkztmzZgi+//BIffvgh3njjDcyaNcuy3ciRIzF58mScP38eRqMRqampWLJkSYXOB6h4fgE3PrVITEzElClTEB4eDh8fH2g0GkRHR1c4v4Ab35MFBgaWaHd2VvdUoO7Rq1zdunWRnZ1tFSssLCzx8UqzZs2Qm5uL3r17V+Ho5DZt2gSj0Yhvv/3W6qru9o8nGjduDAA4efIkQkNDLfGsrCyrd59AzTtHqnrTp0/Hp59+innz5pVoa9y4McxmM06cOGH1u8zMzExkZ2dbXmsyHh4eGDp0KIYOHYrCwkIMGjQIb7/9NuLi4iyl89HR0YiNjcVnn32G69evw8XFBUOHDrXvSZbThg0bMGrUKLz77ruWWEFBQYl/Lxo3boyTJ0+W2P/2WLNmzQAA/v7+tTLH+B1ZNWrWrFmJ736WL19e4ors3//+N1JSUvDjjz+W6CM7O9vqu6uqcPMd5e0fdyQmJlpt16tXLzg7O5coyxe9y61p50hVr1mzZhgxYgQ++ugjZGRkWLX169cPAEpUry5cuBAA8Mgjj0j7zcrKsnru6uqKe+65B4qioKioyBKvX78+oqKi8OmnnyI5ORl9+/ZF/fr17+SUKkyr1VrlF3DjJwS3/9sQGRmJlJQUHD582BL7+++/kZycXGI7b29vzJkzx+qcb7py5Yr9Bl8NeEVWjcaMGYOxY8di8ODBePjhh3HkyBH8+OOPJZLnlVdewbfffotHH30Uo0ePRseOHZGXl4f//e9/2LBhA86cOVOlCdenTx+4urqif//+eOGFF5Cbm4sVK1bA39/f6moyICAAkydPxrvvvovHHnsMffv2xZEjR/DDDz+gfv36Vh8T1bRzpOrx2muvYc2aNTh+/DjatGljibdv3x6jRo3C8uXLkZ2djR49euCXX37BqlWrMGDAAPTs2VPaZ58+fRAYGIguXbogICAAv//+O5YsWYJHHnnEUu5+08iRIzFkyBAAwOzZsyvnJMvh0UcfxZo1a+Dj44N77rkHKSkp2LZtm+U76pumTp2KTz/9FA8//DAmTpxoKb8PCQnB33//bckxb29vJCQk4KmnnsJ9992H6OhoNGjQAOfOncN3332HLl263NHHqNWNE1k1eu6553D69GmsXLkSW7ZsQbdu3bB161b06tXLajt3d3fs3r0bc+bMwfr167F69Wp4e3ujRYsWmDVrluXL4qrSsmVLbNiwAdOnT8fLL7+MwMBAjBs3Dg0aNChR8Thv3jy4u7tjxYoV2LZtG8LDw/HTTz+ha9euVqsh1LRzpOrRvHlzjBgxAqtWrSrR9vHHH6Np06ZISkrCxo0bERgYiLi4OMyYMaPUPl944QUkJydj4cKFyM3NRaNGjTBp0iRMnz69xLb9+/dH3bp1YTab8dhjj9ntvGz1/vvvQ6vVIjk5GQUFBejSpQu2bduGyMhIq+2Cg4Oxc+dOTJo0CXPmzEGDBg0QExMDDw8PTJo0ySrHhg8fjqCgIMydOxcLFiyA0WjEXXfdhW7dut1RVXVNoFFuv34lqmTZ2dmoW7cu3nrrLbz22mvVPRwii+LiYgQFBaF///5YuXJldQ+nwqZMmYKPPvoIubm50uKS2oTfkVGlun79eonYze85eGsZqmm+/vprXLlyBSNHjqzuoZTb7TmWlZWFNWvWoGvXrg4xiQG8IqNKlpSUhKSkJPTr1w+enp7Yu3cvPvvsM/Tp00dY2EFUHfbt24e0tDTMnj0b9evXt/rRcU3XoUMHREREoHXr1sjMzMTKlStx8eJFbN++Hd27d6/u4VUJfkdGlapdu3ZwdnbG/PnzYTAYLAUgb731VnUPjcgiISEBn376KTp06ICkpKTqHo5N+vXrhw0bNmD58uXQaDS47777sHLlSoeZxABekRERkcrxOzIiIlI1TmRERKRqlfYd2dKlS7FgwQJkZGSgffv2WLx4MTp37lzmfmazGRcvXoSXl1eF1lUjqk6KoiAnJwdBQUFwcrLP+8SK5hLAfCJ1K3c+Vca9YdatW6e4uroqn3zyifLbb78pzz33nOLr66tkZmaWuW96eroCgA8+VP1IT0+v9lxiPvFRWx5l5VOlFHuEhYWhU6dOliVPzGYzgoODMXHixFJXtgZurNnn6+uL9D9/g/dty8cQ1XSGnBwEt2iD7Oxsu6xGcie5BNzKp3OHfoa3l6dVm8bDV7qfknXBpnGakktZ3sjTUxh2fsb2H8N/2/o+YfyhBxqLD524UdqX6culwvjsyQnC+MzzR8sYXfllD44SxuennJPuM+fib8K46c8Dwri2xf02j0vRXxXGNT62Lw93/MFuwniLLaX8P1lpvWC0wViE0Pe/KjOf7P7RYmFhIQ4ePIi4uDhLzMnJCb1790ZKSkqJ7Y1GI4xGo+V5Tk4OAMDby0v198ghx2WPj/FszSWgtHzyLPHGUOMpzy+lUC9tEzHVKeV+e5I25wrkt7tG/PGSt4v4nzLPUo5hctMJ4zrJ/zt7/ntkdhb/UFl27NKOb/L0EMa1FRivYi4QxjUV6MtT8lFgaRcoJp34tVJWPtm92OPq1aswmUwICAiwigcEBJRY0RoA4uPj4ePjY3ncftM5Ikdlay4BzCdyTNVetRgXFwe9Xm95pKenV/eQiFSL+USOyO4fLdavXx9arRaZmZlW8czMTOGdSXU6HXQ68SU+kSOzNZcAeT5pPHxLfJRo2iv/rkIT2kYYd7pLfKdu55cXSfuSudg1TBgP2rtPus/A9OPCuGnuRJuPr42OFcbnPDHJ5r5kTAe3CuNesc8L4/O6p0r7Ml86JYxrW4n/jqZvPpL2tSlmoTA+4Lz471sRrdMOCePFM8ZI9/l/ST9bPc8r592w7X5F5urqio4dO2L79u2WmNlsxvbt2xEeHm7vwxHVWswlovKplN+RxcbGYtSoUbj//vvRuXNnvPfee8jLy1P9PW+IqhpziahslTKRDR06FFeuXMEbb7yBjIwMdOjQAVu2bCnxpTURlY65RFS2SlvZY8KECZgwYUJldU/kMJhLRKWr9qpFIiKiO8GJjIiIVI031iRyAMXxk1Csc7GKaQYMk26vcRMvK2VPsjL7sR6NpPssyzsvjGt6P2rz8ZW/Lwrj5oM7hHGnB/oJ49djnpIew331d7YN6uER0qacJx4Wxr3Wi0v8tY+/IO1rgKRNVhrv9FSMtC8l3yA+frse4h18faV99Tx7zOq5wWAAGoZIt7eMr8wtiIiIajBOZEREpGqcyIiISNU4kRERkapxIiMiIlVj1WINUzx7rLwxL08YvrhbvNDnnDRxVVZpFvRtJYy79+8pjGtH235zRKp62hfnQut92/3I6ojvY1Ua06/bhHFlXaJ0H+f5yTb1JatMBOQ3/NR26ivdR2ZccGdh/MM/xVWL5v/tFcZjvzwiPca0E+JjhKT8IowXz3xO2pf7sIHSNhHzud+lbRp/8e19Cs9lCuPuzf9l07FL4/ziO9I28+Wz1s9zcsvVJ6/IiIhI1TiRERGRqnEiIyIiVeNERkREqsaJjIiIVE2jKIpS3YP4J4PBAB8fH+gvnYO3t3fZO6jUhS7i25PPOWx7pWFV6OnrJowPPrJdGAcATX1xZVRtZjAY4NMwBHq9vka8fkvLJ9NvP0v2ArRtHqzsoUHJvSaO669I9zF/slAYL04XV9tNSd5v+8DsqJ2HThi/VmwSxl9dHy/tS9tLvjamrYoTpgvjzuPeEsbNfx6Q9qUcFVdgajo9JI67yatlb/83o7z5xCsyIiJSNU5kRESkapzIiIhI1TiRERGRqnEiIyIiVbP7RDZz5kxoNBqrR6tW4vX7iEiOuURUPpWyaHCbNm2wbdutBUGdnR13beKqKLOPrOsujPfudbcwfulohrSvhX+Iy5h3Zl8Xxgcsel3al/PbSdI2Kp/KzKWKlNif7tRJGA/db3uZu3nvt+KGYPHrFgAmzN0sjHs4Vf6HSwPqeQrjX2fJF7ZNyzMK4/WctcL44qHyRbhPFUwVxt//fasw7hQsf9OjCReXxpvWiX/eoI2OlfZl+nWPzce3t0qZYZydnREYGFgZXRM5FOYSUdkq5W3MiRMnEBQUhKZNm+LJJ5/EuXPnKuMwRLUec4mobHa/IgsLC0NSUhJatmyJS5cuYdasWejWrRuOHj0KLy+vEtsbjUYYjbcuvw0Gg72HRKRKtuYSwHwix2T3iSwqKsry3+3atUNYWBgaN26ML774As8++2yJ7ePj4zFr1ix7D4NI9WzNJYD5RI6p0r8h9fX1RYsWLXDy5Elhe1xcHPR6veWRnp5e2UMiUqWycglgPpFjqvRywtzcXJw6dQpPPfWUsF2n00GnEy+sqRam//0/ads7aZds6qufn3xBzaiDPwrjGu964ngdcZVV0+JC6TEeb9peGP9GUplVdOlvaV+OW6taOcrKJUCeT6Y/D8Dkaf3a0rYSV9SWJuQl2xeuVf6W5IAhWxiuSDVlntksjC8a1lG6z/wvjwjjM66dEcZNXy4RxvsOniA9xmTPEGH8bf1ZYXysRyNpXzIVqQ7cP2iSMP7AX0eFcdMf+6R9lVbRWFXsfkX28ssvY/fu3Thz5gx+/vlnDBw4EFqtFsOG2W/lZiJHwFwiKh+7v2k+f/48hg0bhqysLDRo0ABdu3ZFamoqGjRoYO9DEdVqzCWi8rH7RLZu3Tp7d0nkkJhLROXDtRaJiEjVOJEREZGqsbDMHs7+KW0yK+K4rDqxX9ouaV+auvZZqsg043lp29bsPJv6cn3m6TsdDlUBbYv7oS3lVvG3K170srif8W/afGzzzi/FDe7iqlrT/i3Svlq5uQrjE55+QBh3XrBW2tdrTcZJ20S0kupE077vpPsYFXE15WZJpeHSz96Q9qX8liaO50gqhzUaaV+y6kSlsEAYd2r+L/m4iovEh3d2EcZLq/LW3ttN2lYaXpEREZGqcSIjIiJV40RGRESqxomMiIhUjRMZERGpGicyIiJSNZbf24H2UfEtNQDgvdMPixvcxPeT0njWtceQSvXT6lRpW75J8nsBcijOL75j0/YZ3cXl7wAQuEf8elMkC/1qnOTvrycmvSbu65i4NL14/mRpX87TE8R9SUrQ5wa2FsanLrD9Jyib/xYvwh0VcJd0H+fH5D+bEckf9ai0zX3VZmFc41pHGFcU+b8LmlLK/IWKjNKmgucGWD8vKi5Xl7wiIyIiVeNERkREqsaJjIiIVI0TGRERqRonMiIiUjVWLVYyTQPxrc6rQvGbLwjju/XXbe4r2l+84KxTp0ib+6KaQblyTtpm6+vWO7S+/Diyird8vTBs2vuttC+nrv2FcXNQY/H2Te6R9mX6IUnc4CmuKJ76/5KFcWV9ovQYU1uLF/r+6M8rwrg27BFpXzKmtN3CuKwyEQCUvy+JG2RV06VVJrro5G0C2vt6y9tWWLcVGgzA+rJfi7wiIyIiVeNERkREqsaJjIiIVI0TGRERqRonMiIiUjWbqxb37NmDBQsW4ODBg7h06RI2btyIAQMGWNoVRcGMGTOwYsUKZGdno0uXLkhISMDdd99tz3HTP5i+/0QYf+0d8S3jc03iNe4AoI2H+FbyDybHC+ManXsZoyOZ6s6lilTUmo7sFMZdG8rXCDVvFK9piKJCcbxVe2lfGl9/Ybx4pfgY2gZ+0r4mLPhB2maLJVPkVXjzf88Qxhc/30UYN/95QNqXU4v7hXHjuwuEcfdVPaR9mZbMFMa10xaLdzBclfZlNoqroJUr58XxbfKqVOfYd6VtpbH5iiwvLw/t27fH0qVLhe3z58/HBx98gGXLlmHfvn3w8PBAZGQkCgrEC3ESOSrmEpF92HxFFhUVhaioKGGboih47733MH36dDz++OMAgNWrVyMgIABff/01oqOj72y0RLUIc4nIPuz6Hdnp06eRkZGB3r1vXWr7+PggLCwMKSkpwn2MRiMMBoPVg8jRVSSXAOYTOSa7TmQZGTc+Dw4ICLCKBwQEWNpuFx8fDx8fH8sjODjYnkMiUqWK5BLAfCLHVO1Vi3FxcdDr9ZZHenp6dQ+JSLWYT+SI7DqRBQbeWFcsMzPTKp6ZmWlpu51Op4O3t7fVg8jRVSSXAOYTOSa7LhocGhqKwMBAbN++HR06dAAAGAwG7Nu3D+PGjbPnoegfzDu2CuOlldnLjOrTUhjXPviYzX1RxdXUXNK27ylukMUrYGdj+UK/Pc8eE8Z1S7+0+TjLZorjYz0a2dTPoc/kJfOt3MQ/Z3FZ9LlNxyiN25LVwnjuv/tI93Gf944wrnEWjxd+QfIBGPPF8YI8YdjpmanSrsx/HbZ+nivu43Y2T2S5ubk4efKk5fnp06dx+PBh+Pn5ISQkBFOmTMFbb72Fu+++G6GhoXj99dcRFBRk9fsYImIuEdmLzRPZgQMH0LPnrXdfsbGxAIBRo0YhKSkJU6dORV5eHp5//nlkZ2eja9eu2LJlC+rUqWO/URPVAswlIvuweSKLiIiQ318IgEajwZtvvok333zzjgZGVNsxl4jso9qrFomIiO4EJzIiIlI1u1YtUuU61VG8aOjHJ8W3TZd5u4v4tvAA4P7xFzb1ReolWwAYKKU6UeL6M/KqVrdPxIvEms/9Lox3nzncpmMDgFIoXrjW9Mkc6T6aAHEl3tLN4oVr5w9+VRjPKCqSHmPyX/uFcSU7UxjX+AYI4wCwLki8WPQT3y4Rxl/+TlzhCQDLvmgnbRNRiozSNtnC4ZpQ244BlDx/p3KuTMMrMiIiUjVOZEREpGqcyIiISNU4kRERkapxIiMiIlVj1WINo1yT36Jj09m/hXFDsXhNxZbuLsK496pV0mNo6niWMjqqTUqrTDRtWyvep7e4olBWmVgap5DWwnjx5cs294Xca8KwdkSsfB+NRhge59/WpkOPu/8u+SG869nUV2mGnj8ujBc8P9BuxzDt3yKMazv1tbmv4mWvC+MfTE+W7hN79S+bjwPwioyIiFSOExkREakaJzIiIlI1TmRERKRqnMiIiEjVWLVYw+y9r5e07cR1+ZpuImMebSOMOzVsZlM/pH6mTSthcre+j5nyS4p0e83A6MoeknStxV+WbZfu01mZKIzn//eoML7l1wvSvnZkS+5sLLF053JhXNu5n039lKb4nRelbdqJbwvjf6WeFcaX5Z23+fjK4VRxQwWqFp3HzhbGYyVxADB99aH18+sF5ToWr8iIiEjVOJEREZGqcSIjIiJV40RGRESqxomMiIhUzeaJbM+ePejfvz+CgoKg0Wjw9ddfW7WPHj0aGo3G6tG3r+0VL0S1HXOJyD5sLr/Py8tD+/bt8cwzz2DQoEHCbfr27YvExETLc51OV/ER1lKmTSuE8W+zcmzu69mgusK4W8JnNvdFVacqc0lzX3doPD2sYtqB42zuR8mX3Hq+8Lr82Lfdvv4m2aLBD57+TX58RRHGPc/8Txjf0db20vj5vVsI47Iy++KPZ0n7mjBZnOdLPxfv4/zyImlfxa+IF2xuc/SwMG4+eUjal1PzfwnjpiPinzEcb9tB2lfrHd+Ij+HfWBj/0F/+85+REdZt14tM0m3/yeaJLCoqClFRUaVuo9PpEBgYaGvXRA6FuURkH5XyHdmuXbvg7++Pli1bYty4ccjKyqqMwxDVeswlorLZfWWPvn37YtCgQQgNDcWpU6cwbdo0REVFISUlBVqttsT2RqMRRqPR8txgkHx0QeRgbM0lgPlEjsnuE1l09K2lbe699160a9cOzZo1w65du9CrV8nll+Lj4zFrlvwzZiJHZWsuAcwnckyVXn7ftGlT1K9fHydPnhS2x8XFQa/XWx7p6emVPSQiVSorlwDmEzmmSl80+Pz588jKykLDhg2F7TqdrlZXNSo5fwvjeyeKq5PyTeKqrNK06iquDtLU8bS5L6q5ysolQJ5P5pULYda5WMVM+fJKQ5dFn4sbnF2FYdP706R9OcctEcYPt2wvjHc4fkTal0ajEcbHSaoThzfwkfZ1IFd8/t7f7BDGTUf3CuM/zZJXB8sW7lWKjML4WI9GNvclI6tMBADzpVPCuG7JBmG85bxJ8r6+TRIff8wMYfyFxeKFnwHgytJ1Vs/zTJVUtZibm2v1jvD06dM4fPgw/Pz84Ofnh1mzZmHw4MEIDAzEqVOnMHXqVDRv3hyRkZG2HoqoVmMuEdmHzRPZgQMH0LNnT8vz2NhYAMCoUaOQkJCAtLQ0rFq1CtnZ2QgKCkKfPn0we/bsWn3VRVQRzCUi+7B5IouIiJD+KBEAfvzxxzsaEJGjYC4R2QfXWiQiIlXjREZERKpW6VWLjq7w1eeE8S+u2L6m4ittxUsVcU1FKovzGwlw9va2iuU/3V+6vdNOcdWi+duvxP3PS5L2Zdq7URhvf+S/0n1kSqvqE1l7RS9tW5owQRjf2fgeYTzixK/CeJ/xvaXHKF4urtyb8OJK8ZhWxkr7OnpPB2G87bHD0n1kNJJ1EAvGitf8nLLmF2lfCfrTNh3baYj47w4ADW57rrteAMTMLbtPm0ZARERUw3AiIyIiVeNERkREqsaJjIiIVI0TGRERqRonMiIiUjWNUtrSAtXAYDDAx8cH+kvn4H1bubAaveIdIoxXZHHgJef3C+OauryDcE1hMBjg0zAEer2+Rrx+b+ZT1iv/hrfOesFf2WK+FXGp2wPSNv/4/wjj+e9/KIx7Jn4h7WtcwL3ieHA9YTwhXX4j0oH1vITxyHO/S/epbPmjHpW2ua/aLIwXLxUv2LxjnvhnDwDQR3KOxa+NFu/g5yftSzsmThg3p+0Rb99tsLQvpbjQ6rnBkAPf4GZl5hOvyIiISNU4kRERkapxIiMiIlXjREZERKrGiYyIiFSNiwariHItQ9ygdRHH7cldXDGkcZYfWykuEjfkG2w+vJIjrj7LmzTe5r5kNC5aYdxjlbz6S6Nzt9vxK9PnCdvgprF+3zrymTPS7Z0Cmgjj5x8ME8aDPv1I3lfTDsK4R7N2wrhy8ZS0LxlZdeKCyJbSfTy/+EEYL576pDDuPD9ZGL8cES49Rr23xRWbps/FfRkvXpP25WYQn6NzzBzxsRdtkvYlVSTO2QlvyCtJl2g0wrjTkDHCeGkLPy89sN7quTk3T7qt1bHKtRUREVENxYmMiIhUjRMZERGpGicyIiJSNU5kRESkajZVLcbHx+Orr77CH3/8ATc3Nzz44IOYN28eWra8VRlUUFCAl156CevWrYPRaERkZCQ+/PBDBAQE2H3wjmbivfJb01e21/4VJIz7Nq0v3cdwRlxlNfvgBbuMqaq8P2uctM15zqoK9VnVufTkicN2Wfux0c/7hHHTL99L97n2QowwXnfrf8U7NLR5WOhb10MYf+XH49J9ljm7CuMffJIijP+5VF5tJzP8ydeE8fVXxZW7RaUsfbso9hlh/MXPDto8rhWSysH3ht8vjC9d+7q0r5jhs8X7BIr/zSjVn2nWz/MLyrWbTVdku3fvRkxMDFJTU7F161YUFRWhT58+yMu7VSL54osvYtOmTVi/fj12796NixcvYtCgQbYchqjWYy4R2Y9NV2Rbtmyxep6UlAR/f38cPHgQ3bt3h16vx8qVK7F27Vo89NBDAIDExES0bt0aqampeOAB+QrZRI6EuURkP3f0HZlerwcA+P3fEv8HDx5EUVERevfubdmmVatWCAkJQUqK+HLdaDTCYDBYPYgcjT1yCWA+kWOq8ERmNpsxZcoUdOnSBW3btgUAZGRkwNXVFb6+vlbbBgQEICNDvCpFfHw8fHx8LI/g4OCKDolIleyVSwDziRxThSeymJgYHD16FOvWrbujAcTFxUGv11se6enpd9QfkdrYK5cA5hM5pgqttThhwgRs3rwZe/bsQaNGt6pfAgMDUVhYiOzsbKt3kpmZmQgMFN/FWKfTQafTVWQYRKpnz1wCmE/kmGyayBRFwcSJE7Fx40bs2rULoaGhVu0dO3aEi4sLtm/fjsGDb9zO+vjx4zh37hzCw+ULa9Zm41uKS6XfOSb/eKgmevvQRXGDLF4BdZzEi48CgLNkYVKZSffK/7EPiOxgU1+aR4bYtH151IRcUoqM8ra/Lwnjuzv3E8Z7lFJ+Ly2zlx1btth0KR4d1lEY3/LhHuk+Ez3FH7uWVgIvsnT3SmlbTI9nhfF+kp8LfH9NvkhuRcrsZdycxB/GTVl7QBiP2Xva5mPkbxC/Jj78TbxYMwA4NbnX6rnWYAAwo8xj2TSRxcTEYO3atfjmm2/g5eVl+azex8cHbm5u8PHxwbPPPovY2Fj4+fnB29sbEydORHh4OKusiP6BuURkPzZNZAkJCQCAiIgIq3hiYiJGjx4NAFi0aBGcnJwwePBgqx9xEtEtzCUi+7H5o8Wy1KlTB0uXLsXSpUsrPCii2o65RGQ/XGuRiIhUjRMZERGpWoXK76n8QvfvF8bfn/mceIfCQrsd++pe8YKp9ly0d07PZtI2j3aNberL6fmX5W23VTPRndO4yMv0NQFNhPEWjbyEcSfJ9qVRDFfF8cvy377NDgsRxidIqhPfHSB/3dR58glh/Gjs+8J4myfF1aKyysTSNK/rLow/VMpHzl1D6wrj/qPFlaTawS9I+0rv95gwHthJnLMuM8V/EwD4YOZkYdz1g/XC+KbglsI4AIQ187N6nmMySbf9J16RERGRqnEiIyIiVeNERkREqsaJjIiIVI0TGRERqZpGKc8vM6uQwWCAj48P9JfO2eXW7ERVyWAwwKdhCPR6fY14/d7Mp78T34a3ex2rNqdHnpHup5GsbWn6+VthXDn4s7Qv54lzxfuYisXH1tpeTG3a+bkwru05VLqP+dIpYdypobwSVyT3332kbW7PjRTGldS9wrjz68tsOjYAmNa+K4w7DRVXEwKA+fdUYVzbtqv4GBsTpH1pB44T77N+sXj7JyZK+7pdefOJV2RERKRqnMiIiEjVOJEREZGqcSIjIiJV40RGRESqxomMiIhUjeX3RHZUU8vvs16IgrfOxarNOX61dD/TphXCuLa/eLHr5QHykvXnM8Vl7kUvDxPGXd75TNqXTM6gXsK4Wxv5wtWaPo8I407/EveFYvGC3hpf/9IHVwNde7iLMO7ZXrwoszb2TWlfyjHxwuja3sNtH9htWH5PREQOgRMZERGpGicyIiJSNU5kRESkajZNZPHx8ejUqRO8vLzg7++PAQMG4Phx67sQR0REQKPRWD3Gjh1r10ETqR1zich+bKpa7Nu3L6Kjo9GpUycUFxdj2rRpOHr0KI4dOwYPDw8AN5KvRYsWePPNW1Uu7u7u5a7gYtUiqVl5q6yqIpcs45HkkynxLel+2qenl/sYZTH9kCQ+RtRoux3Dnq6PeVwYdx0kjmv7yRdfLn5d3OY8+xObx1UUGy3ua87Hkh3EVZYAoPHyE8ZzoyOFccP5bGlfQXv3SdtsZc48Y33cnFzUbd+1zHyyaZnpLVu2WD1PSkqCv78/Dh48iO7du1vi7u7uCAwMtKVrIofCXCKynzv6jkyv1wMA/PysZ/fk5GTUr18fbdu2RVxcHPLz8+/kMES1HnOJqOJsv/HP/zGbzZgyZQq6dOmCtm3bWuLDhw9H48aNERQUhLS0NPznP//B8ePH8dVXXwn7MRqNMBqNlucGg6GiQyJSJXvlEsB8IsdU4YksJiYGR48exd691jeIe/755y3/fe+996Jhw4bo1asXTp06hWbNSv76Pz4+HrNmzaroMIhUz165BDCfyDFV6KPFCRMmYPPmzdi5cycaNWpU6rZhYWEAgJMnTwrb4+LioNfrLY/09PSKDIlIleyZSwDziRyTTVdkiqJg4sSJ2LhxI3bt2oXQ0NAy9zl8+DAAoGHDhsJ2nU4HnU5nyzCIVK8ycgmQ51PemMHQulinu0fyD9J+bF1r0Xz8F2lftlYnmn5aI++rz1PC+PEO9wnji05clva1ZLJkTUWJC7OXCeN3uXlI96lIdaKMxsNdHK/jKYzrh0RI+/LZvEsY91z3ozheyriKXxstjDu/nVTKXmIaF91tz4vKtZ9NE1lMTAzWrl2Lb775Bl5eXsjIyAAA+Pj4wM3NDadOncLatWvRr18/1KtXD2lpaXjxxRfRvXt3tGvXzpZDEdVqzCUi+7FpIktISABw4/ct/5SYmIjRo0fD1dUV27Ztw3vvvYe8vDwEBwdj8ODBmD7dfr9JIaoNmEtE9mPzR4ulCQ4Oxu7du+9oQESOgLlEZD9ca5GIiFSNExkREakaJzIiIlK1Cv8gmojUw+PjL+Fhw2LDmpb/sqn/zDGTpG2zfj0vjH94ao8wbvpuk7QvWfl9i1/3C+PzHpOX2GskPyp3vVv8/v6ufuKFdrU9h0qPoRReFx/b1U26j4x2hrj8X8nLFsaNuUZh3N5kZfbmM/8TxpXz8t9BarsOtHqucS7fyjS8IiMiIlXjREZERKrGiYyIiFSNExkREalajSv2uPlDUUNOTjWPhMh2N1+3Ntx4vVJVNJ/MuXnCuJPktjA5JpO0r0KI/xaGnFxhvLiwWNqXq+T4ill8fEOxfFzm65JiCCfJ+3vXAmFYW8qtcpRC8T4a1/KtIWjVV7Fkn0LxPepK+39Spwpu7yN7DSl54gIYoOTfsrz5pFFqSsb9n/PnzyM4OLi6h0F0R9LT08tczb4qMJ+oNigrn2rcRGY2m3Hx4kV4eXkhJycHwcHBSE9Ph7cNpcO1gcFg4Lmr8NwVRUFOTg6CgoLgJHtnX4WYTzeo+TV1p9R87uXNpxr30aKTk5Nl5tVoNAAAb29v1f0PsBeeu/rO3cfHp7qHYMF8ssZzV9+5lyefqv8tIxER0R3gREZERKpWoycynU6HGTNmOOQdpHnujnnulcmR/64899p97jWu2IOIiMgWNfqKjIiIqCycyIiISNU4kRERkapxIiMiIlWr0RPZ0qVL0aRJE9SpUwdhYWH45ZdfqntIdrdnzx70798fQUFB0Gg0+Prrr63aFUXBG2+8gYYNG8LNzQ29e/fGiRMnqmewdhYfH49OnTrBy8sL/v7+GDBgAI4fP261TUFBAWJiYlCvXj14enpi8ODByMzMrKYRq5cj5BLguPnk6LlUYyeyzz//HLGxsZgxYwZ+/fVXtG/fHpGRkbh8+XJ1D82u8vLy0L59eyxdulTYPn/+fHzwwQdYtmwZ9u3bBw8PD0RGRqKgQLwYqZrs3r0bMTExSE1NxdatW1FUVIQ+ffogL+/WYqMvvvgiNm3ahPXr12P37t24ePEiBg0aVI2jVh9HySXAcfPJ4XNJqaE6d+6sxMTEWJ6bTCYlKChIiY+Pr8ZRVS4AysaNGy3PzWazEhgYqCxYsMASy87OVnQ6nfLZZ59Vwwgr1+XLlxUAyu7duxVFuXGuLi4uyvr16y3b/P777woAJSUlpbqGqTqOmEuK4tj55Gi5VCOvyAoLC3Hw4EH07t3bEnNyckLv3r2RkpJSjSOrWqdPn0ZGRobV38HHxwdhYWG18u+g1+sBAH5+fgCAgwcPoqioyOr8W7VqhZCQkFp5/pWBuXSLI+WTo+VSjZzIrl69CpPJhICAAKt4QEAAMjIyqmlUVe/muTrC38FsNmPKlCno0qUL2rZtC+DG+bu6usLX19dq29p4/pWFuXSLo+STI+ZSjVv9nhxTTEwMjh49ir1791b3UIhUzRFzqUZekdWvXx9arbZERU1mZiYCAwOraVRV7+a51va/w4QJE7B582bs3LnT6uZ5gYGBKCwsRHZ2ttX2te38KxNz6RZHyCdHzaUaOZG5urqiY8eO2L59uyVmNpuxfft2hIeHV+PIqlZoaCgCAwOt/g4GgwH79u2rFX8HRVEwYcIEbNy4ETt27EBoaKhVe8eOHeHi4mJ1/sePH8e5c+dqxflXBebSLbU5nxw+l6q72kRm3bp1ik6nU5KSkpRjx44pzz//vOLr66tkZGRU99DsKicnRzl06JBy6NAhBYCycOFC5dChQ8rZs2cVRVGUuXPnKr6+vso333yjpKWlKY8//rgSGhqqXL9+vZpHfufGjRun+Pj4KLt27VIuXbpkeeTn51u2GTt2rBISEqLs2LFDOXDggBIeHq6Eh4dX46jVx1FySVEcN58cPZdq7ESmKIqyePFiJSQkRHF1dVU6d+6spKamVveQ7G7nzp0KgBKPUaNGKYpyo2T49ddfVwICAhSdTqf06tVLOX78ePUO2k5E5w1ASUxMtGxz/fp1Zfz48UrdunUVd3d3ZeDAgcqlS5eqb9Aq5Qi5pCiOm0+Onku8jQsREalajfyOjIiIqLw4kRERkapxIiMiIlXjREZERKrGiYyIiFSNExkREakaJzIiIlI1TmRERKRqnMiIiEjVOJEREZGqcSIjIiJV40RGRESq9v8BdxhDTYHfRRcAAAAASUVORK5CYII=\n" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "n = 3\n", + "for i in range(n):\n", + " fig, axes = plt.subplots(1, 2)\n", + " fig.set_size_inches(5, 5)\n", + " axes[0].set_title('True image')\n", + " im0 = axes[0].imshow(x_test[i].reshape(dimension, dimension), cmap = 'Reds')\n", + " axes[1].set_title('Noisy image')\n", + " im1 = axes[1].imshow(x_test_noisy[i].reshape(dimension, dimension), cmap = 'Reds')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "iRDLL0fAKQgr" + }, + "source": [ + "## Building the Autoencoder" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "jtXTZ0X5KfNj" + }, + "source": [ + "Defining the input images for the **autoencoder**." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ItQ7wEhJSS_D" + }, + "outputs": [], + "source": [ + "input_img = keras.Input(shape = (dimension, dimension, 1))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "vmvHAWQ9Km6V" + }, + "source": [ + "### Encoder" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "o5gMXia7SYgJ" + }, + "outputs": [], + "source": [ + "x = layers.Conv2D(filters = 32, kernel_size = (3, 3), activation = 'relu', padding = 'same')(input_img)\n", + "x = layers.MaxPooling2D(pool_size = (2, 2), padding = 'same')(x)\n", + "x = layers.Conv2D(filters = 32, kernel_size = (3, 3), activation = 'relu', padding = 'same')(x)\n", + "encoded = layers.MaxPooling2D(pool_size = (2, 2), padding = 'same')(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "jnN0Pb6TLEdl" + }, + "source": [ + "### Decoder" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ZgnGidX0SxWJ" + }, + "outputs": [], + "source": [ + "x = layers.Conv2D(filters = 32, kernel_size = (3, 3), activation = 'relu', padding = 'same')(encoded)\n", + "x = layers.UpSampling2D(size = (2, 2))(x)\n", + "x = layers.Conv2D(filters = 32, kernel_size = (3, 3), activation = 'relu', padding = 'same')(x)\n", + "x = layers.UpSampling2D(size = (2, 2))(x)\n", + "decoded = layers.Conv2D(filters = 1, kernel_size = (3, 3), activation = 'sigmoid', padding = 'same')(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "59oEyALlLge_" + }, + "source": [ + "### Autoencoder" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "3CdahDXxS7b4" + }, + "outputs": [], + "source": [ + "autoencoder = keras.Model(input_img, decoded)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "8J55gRD_Lkmo" + }, + "source": [ + "Visualizing the autoencoder." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "yhkLKtIMTDTs", + "outputId": "9f2c6489-4c36-45d2-ba98-db134ea2b560" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Model: \"model\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " input_1 (InputLayer) [(None, 28, 28, 1)] 0 \n", + " \n", + " conv2d (Conv2D) (None, 28, 28, 32) 320 \n", + " \n", + " max_pooling2d (MaxPooling2D (None, 14, 14, 32) 0 \n", + " ) \n", + " \n", + " conv2d_1 (Conv2D) (None, 14, 14, 32) 9248 \n", + " \n", + " max_pooling2d_1 (MaxPooling (None, 7, 7, 32) 0 \n", + " 2D) \n", + " \n", + " conv2d_2 (Conv2D) (None, 7, 7, 32) 9248 \n", + " \n", + " up_sampling2d (UpSampling2D (None, 14, 14, 32) 0 \n", + " ) \n", + " \n", + " conv2d_3 (Conv2D) (None, 14, 14, 32) 9248 \n", + " \n", + " up_sampling2d_1 (UpSampling (None, 28, 28, 32) 0 \n", + " 2D) \n", + " \n", + " conv2d_4 (Conv2D) (None, 28, 28, 1) 289 \n", + " \n", + "=================================================================\n", + "Total params: 28,353\n", + "Trainable params: 28,353\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "autoencoder.summary()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "p53WqKowLriI" + }, + "source": [ + "### Compilation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "NAqXl7JOTcq4" + }, + "outputs": [], + "source": [ + "autoencoder.compile(optimizer='adam', loss='binary_crossentropy')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "qavUxTB1Lv5V" + }, + "source": [ + "### Fitting" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "vuOy8CDfTKa1", + "outputId": "c11db884-ed6b-4edc-a23e-bfe50d9b0d92" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1/40\n", + "7/7 [==============================] - 6s 441ms/step - loss: 0.5975 - val_loss: 0.4967\n", + "Epoch 2/40\n", + "7/7 [==============================] - 2s 356ms/step - loss: 0.4953 - val_loss: 0.4634\n", + "Epoch 3/40\n", + "7/7 [==============================] - 2s 363ms/step - loss: 0.4549 - val_loss: 0.4271\n", + "Epoch 4/40\n", + "7/7 [==============================] - 2s 385ms/step - loss: 0.4033 - val_loss: 0.3633\n", + "Epoch 5/40\n", + "7/7 [==============================] - 2s 325ms/step - loss: 0.3357 - val_loss: 0.2944\n", + "Epoch 6/40\n", + "7/7 [==============================] - 1s 177ms/step - loss: 0.2707 - val_loss: 0.2455\n", + "Epoch 7/40\n", + "7/7 [==============================] - 1s 139ms/step - loss: 0.2330 - val_loss: 0.2277\n", + "Epoch 8/40\n", + "7/7 [==============================] - 1s 175ms/step - loss: 0.2175 - val_loss: 0.2218\n", + "Epoch 9/40\n", + "7/7 [==============================] - 1s 174ms/step - loss: 0.2049 - val_loss: 0.2049\n", + "Epoch 10/40\n", + "7/7 [==============================] - 1s 173ms/step - loss: 0.1944 - val_loss: 0.1937\n", + "Epoch 11/40\n", + "7/7 [==============================] - 1s 138ms/step - loss: 0.1864 - val_loss: 0.1869\n", + "Epoch 12/40\n", + "7/7 [==============================] - 1s 172ms/step - loss: 0.1804 - val_loss: 0.1813\n", + "Epoch 13/40\n", + "7/7 [==============================] - 1s 168ms/step - loss: 0.1774 - val_loss: 0.1776\n", + "Epoch 14/40\n", + "7/7 [==============================] - 2s 305ms/step - loss: 0.1716 - val_loss: 0.1744\n", + "Epoch 15/40\n", + "7/7 [==============================] - 1s 216ms/step - loss: 0.1678 - val_loss: 0.1712\n", + "Epoch 16/40\n", + "7/7 [==============================] - 1s 175ms/step - loss: 0.1654 - val_loss: 0.1670\n", + "Epoch 17/40\n", + "7/7 [==============================] - 1s 175ms/step - loss: 0.1623 - val_loss: 0.1661\n", + "Epoch 18/40\n", + "7/7 [==============================] - 1s 176ms/step - loss: 0.1587 - val_loss: 0.1633\n", + "Epoch 19/40\n", + "7/7 [==============================] - 1s 172ms/step - loss: 0.1559 - val_loss: 0.1602\n", + "Epoch 20/40\n", + "7/7 [==============================] - 1s 168ms/step - loss: 0.1534 - val_loss: 0.1581\n", + "Epoch 21/40\n", + "7/7 [==============================] - 1s 167ms/step - loss: 0.1508 - val_loss: 0.1556\n", + "Epoch 22/40\n", + "7/7 [==============================] - 1s 173ms/step - loss: 0.1491 - val_loss: 0.1540\n", + "Epoch 23/40\n", + "7/7 [==============================] - 2s 337ms/step - loss: 0.1463 - val_loss: 0.1515\n", + "Epoch 24/40\n", + "7/7 [==============================] - 3s 394ms/step - loss: 0.1447 - val_loss: 0.1527\n", + "Epoch 25/40\n", + "7/7 [==============================] - 2s 369ms/step - loss: 0.1446 - val_loss: 0.1537\n", + "Epoch 26/40\n", + "7/7 [==============================] - 2s 356ms/step - loss: 0.1470 - val_loss: 0.1493\n", + "Epoch 27/40\n", + "7/7 [==============================] - 2s 345ms/step - loss: 0.1434 - val_loss: 0.1492\n", + "Epoch 28/40\n", + "7/7 [==============================] - 1s 170ms/step - loss: 0.1400 - val_loss: 0.1452\n", + "Epoch 29/40\n", + "7/7 [==============================] - 1s 171ms/step - loss: 0.1376 - val_loss: 0.1438\n", + "Epoch 30/40\n", + "7/7 [==============================] - 1s 139ms/step - loss: 0.1360 - val_loss: 0.1422\n", + "Epoch 31/40\n", + "7/7 [==============================] - 1s 175ms/step - loss: 0.1360 - val_loss: 0.1411\n", + "Epoch 32/40\n", + "7/7 [==============================] - 2s 328ms/step - loss: 0.1348 - val_loss: 0.1428\n", + "Epoch 33/40\n", + "7/7 [==============================] - 1s 175ms/step - loss: 0.1329 - val_loss: 0.1411\n", + "Epoch 34/40\n", + "7/7 [==============================] - 1s 179ms/step - loss: 0.1316 - val_loss: 0.1391\n", + "Epoch 35/40\n", + "7/7 [==============================] - 1s 177ms/step - loss: 0.1312 - val_loss: 0.1399\n", + "Epoch 36/40\n", + "7/7 [==============================] - 1s 176ms/step - loss: 0.1299 - val_loss: 0.1370\n", + "Epoch 37/40\n", + "7/7 [==============================] - 1s 128ms/step - loss: 0.1292 - val_loss: 0.1363\n", + "Epoch 38/40\n", + "7/7 [==============================] - 1s 174ms/step - loss: 0.1281 - val_loss: 0.1357\n", + "Epoch 39/40\n", + "7/7 [==============================] - 1s 178ms/step - loss: 0.1269 - val_loss: 0.1347\n", + "Epoch 40/40\n", + "7/7 [==============================] - 1s 176ms/step - loss: 0.1258 - val_loss: 0.1346\n" + ] + } + ], + "source": [ + "validation_split = 0.8\n", + "history = autoencoder.fit(x_train_noisy, x_train, epochs = 40, batch_size = 20, shuffle = True, validation_split = validation_split)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "w9cwHmo0L9kL" + }, + "source": [ + "### Tracking the history of the training stage" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2jHDeAlBwW21", + "outputId": "f10c23b5-88d4-4b72-f150-fded63a461b5" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "dict_keys(['loss', 'val_loss'])" + ] + }, + "metadata": {}, + "execution_count": 16 + } + ], + "source": [ + "history.history.keys()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "xUjfYnorxFDi" + }, + "outputs": [], + "source": [ + "train_loss = history.history['loss']\n", + "train_val_loss = history.history['val_loss']\n", + "epochs = range(1, len(train_loss) + 1)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UfLzzWZSMET9" + }, + "source": [ + "Visualizing the history of the training." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 452 + }, + "id": "dfltbv9BxK1f", + "outputId": "10509139-1682-4fe1-9b03-d9db20a4ff0e" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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s6rv8Nq1a1eN7afyd6qu90dFRRESEuLqTjp++/HH3LZtG5s3byY+Pr7G48wzzwScfx/dVf07O5nffvsNq9VKWlpavfucd955XHnllTz44IPExcUxatQoXn755RpjWKRl05gR8SnH/4u3Wm5uLueddx6RkZHMmjWLzp07ExISwnfffceUKVPcuj3UZrPVud04ST95U7zXHXa7nQsvvJAjR44wZcoUunXrRqtWrdi3bx/jx4+vdX711dPUxowZw9///ndycnKIiIhg6dKlXHfddTXutLjzzjt5+eWXueeeexg8eDBRUVFYLBauvfZar962e80117BmzRruu+8++vTpQ3h4OA6HgxEjRnj9duFqp/r3oq73u3NMh8NBz549efLJJ+vcNyUlxa3Ph7r/e2sMi8XC4sWLWbduHR988AHLly/npptu4oknnmDdunW1Aqa0PAoj4vNWr17N4cOHeeedd1yD+AAyMzNNrOqYNm3aEBISUuedFO7cXbFp0yZ+/fVX5s+fz9ixY13bV6xY0eiaUlNTWblyJYWFhTW+CLZu3er2McaMGcODDz7IkiVLSEhIID8/n2uvvbbGPosXL2bcuHE17vgoLS1t1CRj7tZ89OhRVq5cyYMPPsj06dNd27dt21brmJ7MJJqamlrn76e6GzA1NdXtY3lT586d+eGHH7jgggsaPL+mmEm1c+fOOBwOtmzZQp8+fU6676BBgxg0aBB///vfefPNN7n++ut56623anRJScukbhrxedX/Wjz+X4fl5eX885//NKukGmw2GxkZGbz33nvs37/ftX379u188sknbr0fap6fYRg89dRTja7p4osvprKykueff961zW6388wzz7h9jO7du9OzZ08WLlzIwoULSUpKqhEGq2s/sSXgmWeeqXWbcVPWXNfvC2Du3Lm1jtmqVSsAt8LRxRdfzPr161m7dq1rW1FREf/617/o0KHDSbspTqdrrrmGffv28eKLL9Z6raSkhKKiItfzVq1anfLss6NHj8ZqtTJr1qxarU7V1+Do0aO1rkd1cFFXjYBaRsQPDBkyhJiYGMaNG8ddd92FxWLhtddea7JukqYwc+ZMPv30U4YOHcqtt96K3W7n2WefpUePHmzcuPGk7+3WrRudO3fm3nvvZd++fURGRrJkyRK3xx7U5bLLLmPo0KFMnTqVnTt3kpaWxjvvvOPx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ERUaiGHAjkNFZpcjIiLe5LBD5hewabHzp6P5/yP0/PPP55577qn39ZkzZ9KnT5/TVk9TUxjBuSKiumpERFqALUthbg+Yfyksmej8ObeHc7sXXHbZZYwYMaLO17744gssFgs//vijVz7blyiMVOlcNfmZZmIVEfFTW5bCorGQv7/m9vwDzu1eCCQTJ05kxYoV7N27t9ZrL7/8Mv3796dXr15N/rm+RmGkilpGRET8mMMOy6YARh0vVm1bNrXJu2wuvfRS4uPjay2SV1hYyNtvv83EiRM5fPgw1113HW3btiUsLIyePXuyYMGCU/pch8PBrFmzaNeuHcHBwfTp06fGgnvl5eXccccdJCUlERISQmpqKrNnzwbAMAxmzpxJ+/btCQ4OJjk5mbvuuuuU6mmIwkiV6jCilhERET+0a03tFpEaDMjf59yvCQUEBDB27FheeeUVDONYEHr77bex2+1cd911lJaW0q9fPz766CN++uknbr75Zm688cZ6V/J1x1NPPcUTTzzB448/zo8//sjw4cMZOXIk27ZtA+Dpp59m6dKlLFq0iK1bt/LGG2/QoUMHAJYsWcI//vEPXnjhBbZt28Z7771Hz549T+n30JAArx7dh1TfUbMjpwi7w8BmtZhckYiINJnC7KbdzwM33XQTjz32GJ9//jnnn38+4OyiufLKK4mKiiIqKop7773Xtf+dd97J8uXLWbRoEQMHDmzUZz7++ONMmTKFa6+9FoBHHnmEVatWMXfuXJ577jl2797NGWecwe9+9zssFgupqamu9+7evZvExEQyMjIIDAykffv2ja7DXWoZqdIuJoygACvllQ72Hi02uxwREWlK4QlNu58HunXrxpAhQ3jppZcA2L59O1988QUTJ04EwG6389BDD9GzZ09at25NeHg4y5cvZ/fu3Y36vPz8fPbv38/QoUNrbB86dCg///wzAOPHj2fjxo107dqVu+66i08//dS139VXX01JSQmdOnVi0qRJvPvuu1RWVjaqFncpjFSxWS10inMOYtVMrCIifiZ1CEQmA/W1elsgsq1zPy+YOHEiS5YsoaCggJdffpnOnTtz3nnnAfDYY4/x1FNPMWXKFFatWsXGjRsZPnw45eXeW0n+7LPPJjMzk4ceeoiSkhKuueYarrrqKgBSUlLYunUr//znPwkNDeW2227j3HPPpaKiwmv1KIwc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yzlSWM7hojKOFJVTWuGgvNJOhd2g3O6gvNJBhd35KK90UG43XH8uqbCTV1zBkeJyjhY5u5JOvPsI3A86w63ra425ybbE8VL4zWyJPp+YsCCiwwKJDg0kKiyItNzV9N08h5CSY11dRmRbLCd2GYFn4cWTfU+BwoiIiEgTczgM8ksrOFIVTI4UVXC0qNwZeIrKKSitpKS8kqJyOyXldorLKykutx/3qKSsooIBllNb86hVSHVocf6MCg0kJiyI/iVfcsHOJwkvOzbeoyI8meL/+RshvUcTHNDQzLFta4+NOQUKIyIiIs2QYRiUVjgoLKskr6SCvJKaA3nzSirILa4gt8T53Pmac3vBcUsT1OdkrTShgTaiQgNdASY6xEpf42cSrLkM7n0WiT1/36S382ptGhERkWbIYrEQGmQjNMhGfESwR++ttDvIL63kaFVIqQ4y1eElr7ico8UVHC1uw66SCvJKKogsqSC/pAKHASUVdkoq7GTll7qOubxqlaZ3zu9Poklr3iiMiIiI+IgAm5XWVbcse8LhMCgoqySv2BlQckuqw8yxR7voUC9V3TCFERERET9ntVbflh1odil10to0IiIiYiqFERERETGVwoiIiIiYSmFERERETKUwIiIiIqZSGBERERFTKYyIiIiIqRRGRERExFQKIyIiImIqhRERERExlcKIiIiImEphREREREylMCIiIiKm8olVew3DACA/P9/kSkRERMRd1d/b1d/j9fGJMFJQUABASkqKyZWIiIiIpwoKCoiKiqr3dYvRUFxpBhwOB/v37yciIgKLxXLSffPz80lJSWHPnj1ERkaepgpPv5Zwni3hHEHn6W90nv6jJZwjePc8DcOgoKCA5ORkrNb6R4b4RMuI1WqlXbt2Hr0nMjLSr//yVGsJ59kSzhF0nv5G5+k/WsI5gvfO82QtItU0gFVERERMpTAiIiIipvK7MBIcHMyMGTMIDg42uxSvagnn2RLOEXSe/kbn6T9awjlC8zhPnxjAKiIiIv7L71pGRERExLcojIiIiIipFEZERETEVAojIiIiYiqFERERETGVX4WR5557jg4dOhASEkJ6ejrr1683u6QmNXPmTCwWS41Ht27dzC7rlP33v//lsssuIzk5GYvFwnvvvVfjdcMwmD59OklJSYSGhpKRkcG2bdvMKfYUNHSe48ePr3V9R4wYYU6xjTR79mwGDBhAREQEbdq0YfTo0WzdurXGPqWlpdx+++3ExsYSHh7OlVdeSXZ2tkkVN44753n++efXup633HKLSRU3zvPPP0+vXr1cM3MOHjyYTz75xPW6P1xLaPg8/eFanmjOnDlYLBbuuece1zYzr6ffhJGFCxcyefJkZsyYwXfffUfv3r0ZPnw4Bw8eNLu0JnXWWWdx4MAB1+PLL780u6RTVlRURO/evXnuuefqfP3RRx/l6aefZt68eXz99de0atWK4cOHU1paeporPTUNnSfAiBEjalzfBQsWnMYKT93nn3/O7bffzrp161ixYgUVFRUMGzaMoqIi1z5//vOf+eCDD3j77bf5/PPP2b9/P1dccYWJVXvOnfMEmDRpUo3r+eijj5pUceO0a9eOOXPmsGHDBr799lt+//vfM2rUKDZv3gz4x7WEhs8TfP9aHu+bb77hhRdeoFevXjW2m3o9DT8xcOBA4/bbb3c9t9vtRnJysjF79mwTq2paM2bMMHr37m12GV4FGO+++67rucPhMBITE43HHnvMtS03N9cIDg42FixYYEKFTePE8zQMwxg3bpwxatQoU+rxloMHDxqA8fnnnxuG4bx2gYGBxttvv+3a5+effzYAY+3atWaVecpOPE/DMIzzzjvPuPvuu80ryktiYmKM//u///Pba1mt+jwNw7+uZUFBgXHGGWcYK1asqHFeZl9Pv2gZKS8vZ8OGDWRkZLi2Wa1WMjIyWLt2rYmVNb1t27aRnJxMp06duP7669m9e7fZJXlVZmYmWVlZNa5tVFQU6enpfndtAVavXk2bNm3o2rUrt956K4cPHza7pFOSl5cHQOvWrQHYsGEDFRUVNa5nt27daN++vU9fzxPPs9obb7xBXFwcPXr0YNq0aRQXF5tRXpOw2+289dZbFBUVMXjwYL+9lieeZzV/uZa33347l1xySY3rBub/t+kTq/Y2JCcnB7vdTkJCQo3tCQkJ/PLLLyZV1fTS09N55ZVX6Nq1KwcOHODBBx/knHPO4aeffiIiIsLs8rwiKysLoM5rW/2avxgxYgRXXHEFHTt25LfffuN///d/ueiii1i7di02m83s8jzmcDi45557GDp0KD169ACc1zMoKIjo6Oga+/ry9azrPAH+8Ic/kJqaSnJyMj/++CNTpkxh69atvPPOOyZW67lNmzYxePBgSktLCQ8P59133yUtLY2NGzf61bWs7zzBf67lW2+9xXfffcc333xT6zWz/9v0izDSUlx00UWuP/fq1Yv09HRSU1NZtGgREydONLEyaQrXXnut6889e/akV69edO7cmdWrV3PBBReYWFnj3H777fz0009+Ma7pZOo7z5tvvtn15549e5KUlMQFF1zAb7/9RufOnU93mY3WtWtXNm7cSF5eHosXL2bcuHF8/vnnZpfV5Oo7z7S0NL+4lnv27OHuu+9mxYoVhISEmF1OLX7RTRMXF4fNZqs16jc7O5vExESTqvK+6OhozjzzTLZv3252KV5Tff1a2rUF6NSpE3FxcT55fe+44w4+/PBDVq1aRbt27VzbExMTKS8vJzc3t8b+vno96zvPuqSnpwP43PUMCgqiS5cu9OvXj9mzZ9O7d2+eeuopv7uW9Z1nXXzxWm7YsIGDBw9y9tlnExAQQEBAAJ9//jlPP/00AQEBJCQkmHo9/SKMBAUF0a9fP1auXOna5nA4WLlyZY0+P39TWFjIb7/9RlJSktmleE3Hjh1JTEyscW3z8/P5+uuv/fraAuzdu5fDhw/71PU1DIM77riDd999l//85z907Nixxuv9+vUjMDCwxvXcunUru3fv9qnr2dB51mXjxo0APnU96+JwOCgrK/Oba1mf6vOsiy9eywsuuIBNmzaxceNG16N///5cf/31rj+bej29PkT2NHnrrbeM4OBg45VXXjG2bNli3HzzzUZ0dLSRlZVldmlN5i9/+YuxevVqIzMz0/jqq6+MjIwMIy4uzjh48KDZpZ2SgoIC4/vvvze+//57AzCefPJJ4/vvvzd27dplGIZhzJkzx4iOjjbef/9948cffzRGjRpldOzY0SgpKTG5cs+c7DwLCgqMe++911i7dq2RmZlpfPbZZ8bZZ59tnHHGGUZpaanZpbvt1ltvNaKioozVq1cbBw4ccD2Ki4td+9xyyy1G+/btjf/85z/Gt99+awwePNgYPHiwiVV7rqHz3L59uzFr1izj22+/NTIzM43333/f6NSpk3HuueeaXLlnpk6danz++edGZmam8eOPPxpTp041LBaL8emnnxqG4R/X0jBOfp7+ci3rcuJdQmZeT78JI4ZhGM8884zRvn17IygoyBg4cKCxbt06s0tqUmPGjDGSkpKMoKAgo23btsaYMWOM7du3m13WKVu1apUB1HqMGzfOMAzn7b1//etfjYSEBCM4ONi44IILjK1bt5pbdCOc7DyLi4uNYcOGGfHx8UZgYKCRmppqTJo0yefCdF3nBxgvv/yya5+SkhLjtttuM2JiYoywsDDj8ssvNw4cOGBe0Y3Q0Hnu3r3bOPfcc43WrVsbwcHBRpcuXYz77rvPyMvLM7dwD910001GamqqERQUZMTHxxsXXHCBK4gYhn9cS8M4+Xn6y7Wsy4lhxMzraTEMw/B++4uIiIhI3fxizIiIiIj4LoURERERMZXCiIiIiJhKYURERERMpTAiIiIiplIYEREREVMpjIiIiIipFEZERETEVAojIiIiYiqFERERETGVwoiIiIiY6v8D6BSQB5WTe60AAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.figure(dpi = 100)\n", + "plt.plot(epochs, train_loss, label = 'Loss')\n", + "plt.plot(epochs, train_val_loss, 'o', label = 'Val loss')\n", + "plt.title('Training and validation metrics')\n", + "plt.legend()\n", + "plt.savefig('history.png')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cWNTSsB3MP0u" + }, + "source": [ + "### Prediction" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "_uKB2CCgxQb9", + "outputId": "a765c802-a7a3-4c94-eac0-ef3d7b199aca", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "10/10 [==============================] - 0s 22ms/step\n" + ] + } + ], + "source": [ + "all_denoised_images = autoencoder.predict(x_test_noisy)" + ] + }, + { + "cell_type": "code", + "source": [ + "print(x_test_noisy[0:1, :, :, 0:1].shape)\n", + "plt.imshow(autoencoder.predict(x_test_noisy[0:1, :, :, 0:1]).reshape((28, 28)))" + ], + "metadata": { + "id": "61yWjWFQWTqR", + "outputId": "22c27344-84f3-4c07-fa83-3d85d4575d9a", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 485 + } + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "(1, 28, 28, 1)\n", + "1/1 [==============================] - 0s 45ms/step\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 41 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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sRlxzhseyI+vzlOa/I/3n04We9eE/uMz7xpJGowwjDSZzO+CAwBcmQggAIAJAggAYIIAAgCYIIAAACYIIACACQIIAGCCAAIAmCCAAAAmCCAAgAkCCABgggACAJgggAAAJuIclYvLIo7JzJG+OKZNxzF1W5JcJI7J0UwXjpuLY8K3i+N8kKTAmYB3zYlIpnfNv/df7V3z+kdf96657vCfvWuQfFwBAQBMEEAAABMEEADABAEEADBBAAEATBBAAAATBBAAwAQBBAAwQQABAEwQQAAAEwQQAMAEAQQAMMEw0pEmjmGfLpKEPpASAqPi+xIfW9zrXTPg0r1rNh2Z611T9Gv/oaeDPT3eNUg+roAAACYIIACACQIIAGCCAAIAmCCAAAAmCCAAgAkCCABgggACAJgggAAAJgggAIAJAggAYIIAAgCYYBgpMEwERmV415y8sTiufS2dstu75obRR71rftF2s/9+DvzVu2bQOe8aJB9XQAAAEwQQAMAEAQQAMEEAAQBMEEAAABMEEADABAEEADBBAAEATBBAAAATBBAAwAQBBAAwQQABAEwwjBSwkJbuX1M2zbukbVnAfz+S1of2eNf850C+d01of6Z3jTvS7l2D1MQVEADABAEEADDhHUA7d+7UbbfdpuLiYgUCAW3bti3m+RUrVigQCMQsixcvTlS/AIARwjuA+vr6VFZWpg0bNpx3m8WLF6u9vT26vPLKK5fUJABg5PG+CaGqqkpVVVVfuk0wGFRhYWHcTQEARr6kvAbU0NCg/Px8XX/99XrwwQd1/Pjx827b39+vcDgcswAARr6EB9DixYv10ksvqb6+Xj/96U/V2NioqqoqDQ4ODrl9XV2dQqFQdCkpKUl0SwCAFJTw9wHddddd0Y9nzpypWbNmaerUqWpoaNCCBQvO2b62tlY1NTXRx+FwmBACgCtA0m/DnjJlivLy8tTS0jLk88FgUNnZ2TELAGDkS3oAHTlyRMePH1dRUVGydwUAGEa8fwXX29sbczXT1tamffv2KTc3V7m5uXr66ae1bNkyFRYWqrW1VY8++qiuvfZaLVq0KKGNAwCGN+8A2rNnj2699dbo489fv1m+fLk2btyo/fv361e/+pW6urpUXFyshQsX6kc/+pGCwWDiugYADHveATR//nw55877/G9+85tLaggYduIYLJp+Xal3zadP93vXvHLDr7xrJGlahv8Q065Ij3dN9qEz3jWR0wPeNUhNzIIDAJgggAAAJgggAIAJAggAYIIAAgCYIIAAACYIIACACQIIAGCCAAIAmCCAAAAmCCAAgAkCCABgggACAJhI+J/kBq40owomeNf88eFc75r/O3O9d01uWqZ3jSSNjaNu36lJ3jXjPvqbd82gi3jXIDVxBQQAMEEAAQBMEEAAABMEEADABAEEADBBAAEATBBAAAATBBAAwAQBBAAwQQABAEwQQAAAEwQQAMAEw0iBfxQIeJecuuFq75p/nvMH75qi9LHeNemB+H7G/GzwhHfNpoMV3jVXt3/iXSPn/GuQkrgCAgCYIIAAACYIIACACQIIAGCCAAIAmCCAAAAmCCAAgAkCCABgggACAJgggAAAJgggAIAJAggAYIJhpMA/CIzK8K5pu8P/y6gm+yPvmngGix450+tdI0n/48h/867J/19B75rBnh7vGowcXAEBAEwQQAAAEwQQAMAEAQQAMEEAAQBMEEAAABMEEADABAEEADBBAAEATBBAAAATBBAAwAQBBAAwwTBS4B+kj/+Kd820rx7xrpmQ7j+Ec2+/866pO7LUu0aSjv/PUu+a4B/2e9c45/9vwsjBFRAAwAQBBAAw4RVAdXV1uummm5SVlaX8/HwtXbpUzc3NMducOnVK1dXVGj9+vMaNG6dly5aps7MzoU0DAIY/rwBqbGxUdXW1du3apbffflsDAwNauHCh+vr6ots8/PDDevPNN/X666+rsbFRR48e1R133JHwxgEAw5vXTQg7duyIebx582bl5+dr7969mjdvnrq7u/WLX/xCW7Zs0be//W1J0qZNm3TDDTdo165d+uY3v5m4zgEAw9olvQbU3d0tScrNzZUk7d27VwMDA6qsrIxuM336dE2aNElNTU1Dfo7+/n6Fw+GYBQAw8sUdQJFIRGvWrNHcuXM1Y8YMSVJHR4cyMzOVk5MTs21BQYE6OjqG/Dx1dXUKhULRpaSkJN6WAADDSNwBVF1drQMHDujVV1+9pAZqa2vV3d0dXQ4fPnxJnw8AMDzE9UbU1atX66233tLOnTs1ceLE6PrCwkKdPn1aXV1dMVdBnZ2dKiwsHPJzBYNBBYPBeNoAAAxjXldAzjmtXr1aW7du1bvvvqvS0th3S8+ePVsZGRmqr6+PrmtubtahQ4dUUVGRmI4BACOC1xVQdXW1tmzZou3btysrKyv6uk4oFNKYMWMUCoV0//33q6amRrm5ucrOztZDDz2kiooK7oADAMTwCqCNGzdKkubPnx+zftOmTVqxYoUk6Wc/+5nS0tK0bNky9ff3a9GiRfr5z3+ekGYBACNHwKXYNMBwOKxQKKT5WqJRgQzrdjBMBUbFN2d3YF6Zd83KjW9414xOG/Cueeajf/KuyfvpGO8aSQo0/T//oshgXPvCyHPGDahB29Xd3a3s7OzzbscsOACACQIIAGCCAAIAmCCAAAAmCCAAgAkCCABgggACAJgggAAAJgggAIAJAggAYIIAAgCYIIAAACYIIACAifhGBgOXUyDgXZI2ZXJcu/rzv6R71+Sm93rXfHjyGu+arH8Nedek7fl37xpJcky2xmXAFRAAwAQBBAAwQQABAEwQQAAAEwQQAMAEAQQAMEEAAQBMEEAAABMEEADABAEEADBBAAEATBBAAAATDCPF5ZXmP+xzVHGhd81H/z3Pu0aS/mn2Pu+aSBw/x/3rvpu9a6Y1fuRdE+nv964BLheugAAAJgggAIAJAggAYIIAAgCYIIAAACYIIACACQIIAGCCAAIAmCCAAAAmCCAAgAkCCABgggACAJhI3WGkgcDZ5WI5l7xekDBpV431rvlsbol3zbe+8R/eNZJ0a8h/4Oef+ou8a8btHeNdE+k74V0DpDKugAAAJgggAIAJAggAYIIAAgCYIIAAACYIIACACQIIAGCCAAIAmCCAAAAmCCAAgAkCCABgggACAJhI3WGkzkliwGhK8xkW+1/iGUY6MNZ/Pz0DQe8aSfq3v83yrtnZONO7Ztr//ti75kxk0LsGSGVcAQEATBBAAAATXgFUV1enm266SVlZWcrPz9fSpUvV3Nwcs838+fMVCARilgceeCChTQMAhj+vAGpsbFR1dbV27dqlt99+WwMDA1q4cKH6+vpitlu5cqXa29ujy7p16xLaNABg+PO6CWHHjh0xjzdv3qz8/Hzt3btX8+bNi64fO3asCgsLE9MhAGBEuqTXgLq7uyVJubm5Metffvll5eXlacaMGaqtrdWJE+f/U8L9/f0Kh8MxCwBg5Iv7NuxIJKI1a9Zo7ty5mjFjRnT9Pffco8mTJ6u4uFj79+/XY489pubmZr3xxhtDfp66ujo9/fTT8bYBABim4g6g6upqHThwQO+//37M+lWrVkU/njlzpoqKirRgwQK1trZq6tSp53ye2tpa1dTURB+Hw2GVlJTE2xYAYJiIK4BWr16tt956Szt37tTEiRO/dNvy8nJJUktLy5ABFAwGFQzG96ZBAMDw5RVAzjk99NBD2rp1qxoaGlRaWnrBmn379kmSioqK4moQADAyeQVQdXW1tmzZou3btysrK0sdHR2SpFAopDFjxqi1tVVbtmzRd77zHY0fP1779+/Xww8/rHnz5mnWLP8RJwCAkcsrgDZu3Cjp7JtN/9GmTZu0YsUKZWZm6p133tFzzz2nvr4+lZSUaNmyZXr88ccT1jAAYGTw/hXclykpKVFjY+MlNQQAuDKk7jRspL4L/EAylEhXt3fNhN8e8675pP9a7xpJOuI/eFvTfvuJd82Zox3+OwJGGIaRAgBMEEAAABMEEADABAEEADBBAAEATBBAAAATBBAAwAQBBAAwQQABAEwQQAAAEwQQAMAEAQQAMJG6w0jT0qVA+sVvHxlMXi8YWsB/cueFJqoPuZvjn3nX5P5uwLtGkjQY8S6JHP+b/36c/34AM95f6wHpIr7UuQICAJgggAAAJgggAIAJAggAYIIAAgCYIIAAACYIIACACQIIAGCCAAIAmCCAAAAmCCAAgImUmwX3+aywM85zlpdjFtzl5z8LLuD8a9Iip/33E+n3rpEkReKYBef8+4v4nt+SFMccPSAx/L5uP//+faHZjykXQD09PZKk992bFzXMDobi+f+JJxfiqYljPiiA84jze3FPT49CodB5nw+4eMYTJ1EkEtHRo0eVlZWlwBcmsIbDYZWUlOjw4cPKzs426tAex+EsjsNZHIezOA5npcJxcM6pp6dHxcXFSks7/ys9KXcFlJaWpokTJ37pNtnZ2Vf0CfY5jsNZHIezOA5ncRzOsj4OX3bl8zluQgAAmCCAAAAmhlUABYNBrV27VsFg0LoVUxyHszgOZ3EczuI4nDWcjkPK3YQAALgyDKsrIADAyEEAAQBMEEAAABMEEADAxLAJoA0bNuiaa67R6NGjVV5ert///vfWLV12Tz31lAKBQMwyffp067aSbufOnbrttttUXFysQCCgbdu2xTzvnNOTTz6poqIijRkzRpWVlTp48KBNs0l0oeOwYsWKc86PxYsX2zSbJHV1dbrpppuUlZWl/Px8LV26VM3NzTHbnDp1StXV1Ro/frzGjRunZcuWqbOz06jj5LiY4zB//vxzzocHHnjAqOOhDYsAeu2111RTU6O1a9fqgw8+UFlZmRYtWqRjx45Zt3bZ3XjjjWpvb48u77//vnVLSdfX16eysjJt2LBhyOfXrVun559/Xi+++KJ2796tq666SosWLdKpU6cuc6fJdaHjIEmLFy+OOT9eeeWVy9hh8jU2Nqq6ulq7du3S22+/rYGBAS1cuFB9fX3RbR5++GG9+eabev3119XY2KijR4/qjjvuMOw68S7mOEjSypUrY86HdevWGXV8Hm4YmDNnjquuro4+HhwcdMXFxa6urs6wq8tv7dq1rqyszLoNU5Lc1q1bo48jkYgrLCx0zz77bHRdV1eXCwaD7pVXXjHo8PL44nFwzrnly5e7JUuWmPRj5dixY06Sa2xsdM6d/b/PyMhwr7/+enSbjz76yElyTU1NVm0m3RePg3POfetb33Lf+9737Jq6CCl/BXT69Gnt3btXlZWV0XVpaWmqrKxUU1OTYWc2Dh48qOLiYk2ZMkX33nuvDh06ZN2Sqba2NnV0dMScH6FQSOXl5Vfk+dHQ0KD8/Hxdf/31evDBB3X8+HHrlpKqu7tbkpSbmytJ2rt3rwYGBmLOh+nTp2vSpEkj+nz44nH43Msvv6y8vDzNmDFDtbW1OnHihEV755Vyw0i/6NNPP9Xg4KAKCgpi1hcUFOhPf/qTUVc2ysvLtXnzZl1//fVqb2/X008/rVtuuUUHDhxQVlaWdXsmOjo6JGnI8+Pz564Uixcv1h133KHS0lK1trbqhz/8oaqqqtTU1KT09HTr9hIuEolozZo1mjt3rmbMmCHp7PmQmZmpnJycmG1H8vkw1HGQpHvuuUeTJ09WcXGx9u/fr8cee0zNzc164403DLuNlfIBhL+rqqqKfjxr1iyVl5dr8uTJ+vWvf63777/fsDOkgrvuuiv68cyZMzVr1ixNnTpVDQ0NWrBggWFnyVFdXa0DBw5cEa+DfpnzHYdVq1ZFP545c6aKioq0YMECtba2aurUqZe7zSGl/K/g8vLylJ6efs5dLJ2dnSosLDTqKjXk5ORo2rRpamlpsW7FzOfnAOfHuaZMmaK8vLwReX6sXr1ab731lt57772YP99SWFio06dPq6urK2b7kXo+nO84DKW8vFySUup8SPkAyszM1OzZs1VfXx9dF4lEVF9fr4qKCsPO7PX29qq1tVVFRUXWrZgpLS1VYWFhzPkRDoe1e/fuK/78OHLkiI4fPz6izg/nnFavXq2tW7fq3XffVWlpaczzs2fPVkZGRsz50NzcrEOHDo2o8+FCx2Eo+/btk6TUOh+s74K4GK+++qoLBoNu8+bN7o9//KNbtWqVy8nJcR0dHdatXVbf//73XUNDg2tra3O//e1vXWVlpcvLy3PHjh2zbi2penp63Icffug+/PBDJ8mtX7/effjhh+7jjz92zjn3k5/8xOXk5Ljt27e7/fv3uyVLlrjS0lJ38uRJ484T68uOQ09Pj3vkkUdcU1OTa2trc++88477+te/7q677jp36tQp69YT5sEHH3ShUMg1NDS49vb26HLixInoNg888ICbNGmSe/fdd92ePXtcRUWFq6ioMOw68S50HFpaWtwzzzzj9uzZ49ra2tz27dvdlClT3Lx584w7jzUsAsg551544QU3adIkl5mZ6ebMmeN27dpl3dJld+edd7qioiKXmZnprr76anfnnXe6lpYW67aS7r333nM6+1fpY5bly5c7587eiv3EE0+4goICFwwG3YIFC1xzc7Nt00nwZcfhxIkTbuHChW7ChAkuIyPDTZ482a1cuXLE/ZA21L9fktu0aVN0m5MnT7rvfve77itf+YobO3asu/322117e7td00lwoeNw6NAhN2/ePJebm+uCwaC79tpr3Q9+8APX3d1t2/gX8OcYAAAmUv41IADAyEQAAQBMEEAAABMEEADABAEEADBBAAEATBBAAAATBBAAwAQBBAAwQQABAEwQQAAAEwQQAMDE/wfRsF8bL6qPjwAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Save Model" + ], + "metadata": { + "id": "Lxf88fRYMCaE" + } + }, + { + "cell_type": "code", + "source": [ + "autoencoder.save(\"denoising_mnist_ae_model.h5\")" + ], + "metadata": { + "id": "50CAaA2EMDMq" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "fcNSKR8BMTx8" + }, + "source": [ + "### Evaluation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "oW_etasixi3m", + "outputId": "5b4f553c-133e-48cb-aae3-160be0e6f382" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "15/15 [==============================] - 0s 26ms/step - loss: 0.1309\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.13088959455490112" + ] + }, + "metadata": {}, + "execution_count": 20 + } + ], + "source": [ + "test_loss = autoencoder.evaluate(x_test_noisy, x_test, batch_size = 20)\n", + "test_loss" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xbB-gxeUMnJx" + }, + "source": [ + "# Visual results\n", + "\n", + "Here, we can compare our visual results looking side by side the noisy, targets and denoised images." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 677 + }, + "id": "NEwT4ZpoyB0F", + "outputId": "8fcfeb98-c42c-40b9-fa34-cd7e76408d36" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "n = 3\n", + "for i in range(n):\n", + " fig, axes = plt.subplots(1, 3)\n", + " fig.set_size_inches(8, 2)\n", + " axes[0].set_title('Noisy image')\n", + " im0 = axes[0].imshow(x_test_noisy[i].reshape(dimension, dimension), cmap = 'Reds')\n", + " axes[1].set_title('Target image')\n", + " im1 = axes[1].imshow(x_test[i].reshape(dimension, dimension), cmap = 'Reds')\n", + " axes[2].set_title('Denoised image')\n", + " im2 = axes[2].imshow(all_denoised_images[i].reshape(dimension, dimension), cmap = 'Reds')\n", + " plt.savefig(f'comparison-{i}.png')" + ] + }, + { + "cell_type": "code", + "source": [ + "plt.imshow(x_test_noisy[0], cmap = 'Reds')\n", + "plt.axis('off')\n", + "plt.show()" + ], + "metadata": { + "id": "xPqP0-H5Lnmi", + "outputId": "9814e4f2-ce48-4698-93ed-377e03f99381", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 406 + } + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "print(x_test_noisy[0][:, :, 0].shape)" + ], + "metadata": { + "id": "QM7a-6IoW9l6", + "outputId": "55796f75-f2ba-4f7c-e1fc-04cfdadc8af3", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "(28, 28)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "plt.imsave('image.png', x_test_noisy[0][:, :, 0])" + ], + "metadata": { + "id": "csd63SB6W4qd" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "r4usMdsRyesT", + "outputId": "380d37ff-1279-44f8-e86d-626dedc82424", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 406 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.imshow(all_denoised_images[0].reshape(dimension, dimension), cmap='Reds')\n", + "plt.axis('off')\n", + "plt.show()" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "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.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file