From 4f070ffbd61685e3c2ec8fe38f5901a729124749 Mon Sep 17 00:00:00 2001 From: Mokke Meguru Date: Wed, 8 Jul 2020 06:22:02 +0900 Subject: [PATCH] Add files via upload --- .../01_What_is_the_invertible_layer.ipynb | 533 ++++++++++++++++++ 1 file changed, 533 insertions(+) create mode 100644 tutorials/01_What_is_the_invertible_layer.ipynb diff --git a/tutorials/01_What_is_the_invertible_layer.ipynb b/tutorials/01_What_is_the_invertible_layer.ipynb new file mode 100644 index 0000000..fbe480f --- /dev/null +++ b/tutorials/01_What_is_the_invertible_layer.ipynb @@ -0,0 +1,533 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "TFGENZOO_Tutorial (1)", + "provenance": [], + "collapsed_sections": [ + "xCocI6HkSU1e" + ], + "toc_visible": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "OtBSaeMy691o", + "colab_type": "text" + }, + "source": [ + "# TFGENZOO_Tutorial (1) What is the invertible layer\n", + "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](http://colab.research.google.com/github/MokkeMeguru/blob/master/tutorials/01_What_is_the_invertible_layer.ipynb)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "TaFTbnor7L8v", + "colab_type": "text" + }, + "source": [ + "Invertible layer is the component of the Flow-based Model.\n", + "\n", + "Flow-based Model is one of the generative neural networks like GANs and VAEs" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "prBLMb4d8a57", + "colab_type": "text" + }, + "source": [ + "![image.png](data:image/png;base64,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)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "EnkxUoGg8fux", + "colab_type": "text" + }, + "source": [ + "\"**Invertible**\", is the importest word in Flow-based Model.\n", + "\n", + "We **should** use bi-directional function as each layer.\n", + "\n", + "These layers constructs the Flow-based Model like OpenAI's Glow, Google's RealNVP, NeuralODE, and i-RevNet / i-ResNet." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-yWRcok09OZj", + "colab_type": "text" + }, + "source": [ + "# What is the TFGENZOO\n", + "TFGENZOO is the library to help constructing generative neural networks. \n", + "\n", + "Now (v1.2.x) , we supported to construct basic Flow-based Model like Glow." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "vbNxnFboHDmU", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 833 + }, + "outputId": "d0fd3561-039d-40b3-f6a1-2824ec5aefa8" + }, + "source": [ + "# Install TFGENZOO\n", + "!pip install TFGENZOO==1.2.4.post6" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Collecting TFGENZOO==1.2.4.post6\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/07/fa/c20e8f3a1b89a72dc51dafc0d8dc992489a21ce4d06557d683d92a9b1c6c/TFGENZOO-1.2.4.post6-py3-none-any.whl (47kB)\n", + "\u001b[K |████████████████████████████████| 51kB 1.6MB/s \n", + "\u001b[?25hRequirement already satisfied: tensorflow>=2.1.0 in /usr/local/lib/python3.6/dist-packages (from TFGENZOO==1.2.4.post6) (2.2.0)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.6/dist-packages (from TFGENZOO==1.2.4.post6) (1.0.5)\n", + "Requirement already satisfied: tensorflow-probability>=0.9.0 in /usr/local/lib/python3.6/dist-packages (from TFGENZOO==1.2.4.post6) (0.10.0)\n", + "Requirement already satisfied: six>=1.12.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.12.0)\n", + "Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (3.2.1)\n", + "Requirement already satisfied: scipy==1.4.1; python_version >= \"3\" in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.4.1)\n", + "Requirement already satisfied: wrapt>=1.11.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.12.1)\n", + "Requirement already satisfied: grpcio>=1.8.6 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.30.0)\n", + "Requirement already satisfied: astunparse==1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.6.3)\n", + "Requirement already satisfied: absl-py>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (0.9.0)\n", + "Requirement already satisfied: tensorflow-estimator<2.3.0,>=2.2.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (2.2.0)\n", + "Requirement already satisfied: google-pasta>=0.1.8 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (0.2.0)\n", + "Requirement already satisfied: gast==0.3.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (0.3.3)\n", + "Requirement already satisfied: protobuf>=3.8.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (3.10.0)\n", + "Requirement already satisfied: keras-preprocessing>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.1.2)\n", + "Requirement already satisfied: h5py<2.11.0,>=2.10.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (2.10.0)\n", + "Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.1.0)\n", + "Requirement already satisfied: numpy<2.0,>=1.16.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.18.5)\n", + "Requirement already satisfied: tensorboard<2.3.0,>=2.2.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (2.2.2)\n", + "Requirement already satisfied: wheel>=0.26; python_version >= \"3\" in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (0.34.2)\n", + "Requirement already satisfied: python-dateutil>=2.6.1 in /usr/local/lib/python3.6/dist-packages (from pandas->TFGENZOO==1.2.4.post6) (2.8.1)\n", + "Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas->TFGENZOO==1.2.4.post6) (2018.9)\n", + "Requirement already satisfied: decorator in /usr/local/lib/python3.6/dist-packages (from tensorflow-probability>=0.9.0->TFGENZOO==1.2.4.post6) (4.4.2)\n", + "Requirement already satisfied: cloudpickle>=1.2.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow-probability>=0.9.0->TFGENZOO==1.2.4.post6) (1.3.0)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from protobuf>=3.8.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (47.3.1)\n", + "Requirement already satisfied: google-auth<2,>=1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.17.2)\n", + "Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.0.1)\n", + "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.6.0.post3)\n", + "Requirement already satisfied: requests<3,>=2.21.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (2.23.0)\n", + "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (0.4.1)\n", + "Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (3.2.2)\n", + "Requirement already satisfied: rsa<5,>=3.1.4; python_version >= \"3\" in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (4.6)\n", + "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (0.2.8)\n", + "Requirement already satisfied: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (4.1.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (2020.6.20)\n", + "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.24.3)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (2.9)\n", + "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (3.0.4)\n", + "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.3.0)\n", + "Requirement already satisfied: importlib-metadata; python_version < \"3.8\" in /usr/local/lib/python3.6/dist-packages (from markdown>=2.6.8->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (1.6.1)\n", + "Requirement already satisfied: pyasn1>=0.1.3 in /usr/local/lib/python3.6/dist-packages (from rsa<5,>=3.1.4; python_version >= \"3\"->google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (0.4.8)\n", + "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (3.1.0)\n", + "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.6/dist-packages (from importlib-metadata; python_version < \"3.8\"->markdown>=2.6.8->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.1.0->TFGENZOO==1.2.4.post6) (3.1.0)\n", + "Installing collected packages: TFGENZOO\n", + "Successfully installed TFGENZOO-1.2.4.post6\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "TKWgQLokHgqi", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "outputId": "c91b7ed9-6962-4410-e2a1-714966e472bd" + }, + "source": [ + "import tensorflow as tf\n", + "import TFGENZOO\n", + "print(f'Tensorflow {tf.__version__} / TFGENZO {TFGENZOO.__version__}')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Tensorflow 2.2.0 / TFGENZO 1.2.4.post6\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UfIa_shWLUKH", + "colab_type": "text" + }, + "source": [ + "# Three components of Flow-based Model\n", + "The main components of Flow-based Model is \n", + "\n", + "1. Normalizing\n", + "2. Permuting\n", + "3. Coupling\n", + "\n", + "Normalizing is the layer to normalize **input tensor**.\n", + "\n", + "Permuting is the layer that shuffle element of input tensor.\n", + "\n", + "Coupling is the layer is convert the input tensor into the tensor following the distribution e.g. gaussian.\n", + "\n", + "We implemented some basic Layer with detailed document. \n", + "If you want to know the formula or implementation detail, please visit our Documentation from the repo. https://github.com/MokkeMeguru/TFGENZOO .\n", + "\n", + "And also, you can confirm the document from your coding environment such as VSCode or Emacs or Vim with Python Language Server Protocol." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xCocI6HkSU1e", + "colab_type": "text" + }, + "source": [ + "## Normalization : Actnorm\n", + "Actnorm is the layer proposed in Glow (OpenAI) " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "RaNSMtBoNQKT", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "outputId": "fff8ac43-4859-4e59-f091-14d3ebdaf8ff" + }, + "source": [ + "from TFGENZOO.flows import Actnorm\n", + "\n", + "actnorm = Actnorm()\n", + "\n", + "# input data is the 3-D data like the rgb image.\n", + "x = tf.random.normal([16, 32, 32, 3])\n", + "\n", + "# here is the forward function\n", + "z, log_det_jacobian = actnorm(x)\n", + "\n", + "# here is the inverse function\n", + "\n", + "rev_x, inverse_log_det_jacobian = actnorm(z, inverse=True)" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "initialization at actnorm_20\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Hu2kg7v6T3BZ", + "colab_type": "text" + }, + "source": [ + "You can see the message \"initialization at actrnom\".\n", + "\n", + "It is the important log about Actnorm.\n", + "Actrnom requires **data-dependent initialization** which initialize the first batch of dataset." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "5-JeDHXJUJ1G", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "outputId": "6fbdf3c1-1641-4654-b671-160cc31096b7" + }, + "source": [ + "print(f'reconstruction loss is {tf.reduce_mean((rev_x - x)**2)}, and also, reconstruction effect is {tf.reduce_mean(log_det_jacobian + inverse_log_det_jacobian)}')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "reconstruction loss is 2.8776044911580636e-15, and also, reconstruction effect is 0.0\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "HthJQxnwVA9j", + "colab_type": "text" + }, + "source": [ + "## Permutation: Inv1x1Conv\n", + "Invertible 1x1Conv is proposed in Glow (OpenAI)" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "6E0QArSHVJYC", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "outputId": "7cf09fe6-d309-407c-fe55-ac20ad4bf72d" + }, + "source": [ + "from TFGENZOO.flows import Inv1x1Conv\n", + "\n", + "inv1x1Conv = Inv1x1Conv()\n", + "\n", + "# input data is the 3-D data like the rgb image.\n", + "x = tf.random.normal([16, 32, 32, 3])\n", + "\n", + "# here is the forward function\n", + "z, log_det_jacobian = inv1x1Conv(x)\n", + "\n", + "# here is the inverse function\n", + "\n", + "rev_x, inverse_log_det_jacobian = inv1x1Conv(z, inverse=True)\n", + "\n", + "print(f'reconstruction loss is {tf.reduce_mean((rev_x - x)**2)}, and also, reconstruction effect is {tf.reduce_mean(log_det_jacobian + inverse_log_det_jacobian)}')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "reconstruction loss is 9.438383946202156e-15, and also, reconstruction effect is 0.0\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "m9aF1C45FCYN", + "colab_type": "text" + }, + "source": [ + "## Coupling: AffineCoupling\n", + "AffineCoupling is proposed in RealNVP" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "XYJPVrJM5wvE", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "outputId": "3988ae29-f02c-482f-b5a2-65e77dd4a503" + }, + "source": [ + "from TFGENZOO.flows import AffineCoupling\n", + "import tensorflow.keras.layers as layers\n", + "\n", + "channel = 6\n", + "assert channel % 2 == 0\n", + "\n", + "scale_shift_net = tf.keras.Sequential([\n", + " layers.Conv2D(32, 3, padding=\"same\"),\n", + " layers.Conv2D(64, 3, padding=\"same\"),\n", + " layers.Conv2D(64, 3, padding=\"same\"),\n", + " layers.Conv2D(channel, 3, padding=\"same\")])\n", + "\n", + "affineCoupling = AffineCoupling(scale_shift_net=scale_shift_net)\n", + "\n", + "# input data is the 3-D data like the rgb image.\n", + "x = tf.random.normal([16, 16, 16, channel])\n", + "\n", + "# here is the forward function\n", + "z, log_det_jacobian = affineCoupling(x)\n", + "\n", + "# here is the inverse function\n", + "\n", + "rev_x, inverse_log_det_jacobian = affineCoupling(z, inverse=True)\n", + "\n", + "print(f'reconstruction loss is {tf.reduce_mean((rev_x - x)**2)}, and also, reconstruction effect is {tf.reduce_mean(log_det_jacobian + inverse_log_det_jacobian)}')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "reconstruction loss is 8.330419217293498e-16, and also, reconstruction effect is 0.0\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "MSNmaM7-FQBE", + "colab_type": "text" + }, + "source": [ + "# A Step of Flow: Norm. + Perm. + Coupling\n", + "We generally use the set of flow layers, Norm.+ Perm. + Coupling as **A Step of Flow**\n", + "\n", + "We can construct the set as **FlowModule**\n" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "goLjKcR6HrT6", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 85 + }, + "outputId": "d107ad7b-9391-4dda-b63c-2931aaceedd5" + }, + "source": [ + "from TFGENZOO.flows import FlowModule\n", + "from TFGENZOO.layers.resnet import ShallowResNet\n", + "\n", + "channel = 6\n", + "assert channel % 2 == 0\n", + "\n", + "fm = []\n", + "fm.append(Actnorm())\n", + "fm.append(Inv1x1Conv())\n", + "fm.append(AffineCoupling(scale_shift_net_template=lambda x: ShallowResNet(x)))\n", + "\n", + "stepOfFlow = FlowModule(fm)\n", + "\n", + "\n", + "x = tf.random.normal([16, 16, 16, channel])\n", + "\n", + "# here is the forward function\n", + "z, ldj = stepOfFlow(x)\n", + "\n", + "# here is the inverse function\n", + "rev_x, ildj = stepOfFlow(z, inverse=True)\n", + "\n", + "print(f'reconstruction loss is {tf.reduce_mean((rev_x - x)**2)}, and also, reconstruction effect is {tf.reduce_mean(log_det_jacobian + inverse_log_det_jacobian)}')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "initialization at actnorm_32\n", + "initialization at actnorm_activation_46\n", + "initialization at actnorm_activation_47\n", + "reconstruction loss is 1.3926969081830883e-14, and also, reconstruction effect is 0.0\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "KK9aOrDTFGa3", + "colab_type": "text" + }, + "source": [ + "This procedure is the same as the below code. (To simplify, the below example removes the calculation about log_det_jacobian)" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "qNOkfuFtDcm0", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 85 + }, + "outputId": "a886d462-be3a-445d-c77c-80b918ff1864" + }, + "source": [ + "actnorm = Actnorm()\n", + "inv1x1Conv = Inv1x1Conv()\n", + "affineCoupling = AffineCoupling(scale_shift_net_template=lambda x: ShallowResNet(x))\n", + "\n", + "tx = x\n", + "tx, _ = actnorm(tx)\n", + "tx, _ = inv1x1Conv(tx)\n", + "tx, _ = affineCoupling(tx)\n", + "\n", + "tz = tx\n", + "tz,_ = affineCoupling(tz, inverse=True)\n", + "tz,_ = inv1x1Conv(tz, inverse=True)\n", + "tz,_ = actnorm(tz, inverse=True)\n", + "\n", + "rev_x = tz\n", + "\n", + "print(f'reconstruction loss is {tf.reduce_mean((rev_x - x)**2)}')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "initialization at actnorm_31\n", + "initialization at actnorm_activation_44\n", + "initialization at actnorm_activation_45\n", + "reconstruction loss is 1.2398427824775876e-14\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "5PHjK0F5Fqnm", + "colab_type": "text" + }, + "source": [ + "# Conclusion\n", + "\n", + "- Flow-based Model is the invertible neural network. Besides, this model is constructed by some invertible layers.\n", + "- The main layers of invertible layers are **Normalization**, **Permutation** and **Coupling**\n", + "- The set of the three layer is often called **A step of Flow**." + ] + } + ] +} \ No newline at end of file