Download this file

1737 lines (1737 with data), 131.3 kB

{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": [],
      "machine_shape": "hm"
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "8XnVMPBXmtRa"
      },
      "source": [
        "# TensorNetworks in Neural Networks.\n",
        "\n",
        "Here, we have a small toy example of how to use a TN inside of a fully connected neural network.\n",
        "\n",
        "First off, let's install tensornetwork"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7HGRsYNAFxME"
      },
      "source": [
        "# !pip install tensornetwork\n",
        "\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "import tensorflow as tf\n",
        "# Import tensornetwork\n",
        "import tensornetwork as tn\n",
        "import random\n",
        "import time\n",
        "# Set the backend to tesorflow\n",
        "# (default is numpy)\n",
        "tn.set_default_backend(\"tensorflow\")\n",
        "np.random.seed(42)\n",
        "random.seed(42)\n",
        "tf.random.set_seed(42)"
      ],
      "execution_count": 235,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "g1OMCo5XmrYu"
      },
      "source": [
        "# TensorNetwork layer definition\n",
        "\n",
        "Here, we define the TensorNetwork layer we wish to use to replace the fully connected layer. Here, we simply use a 2 node Matrix Product Operator network to replace the normal dense weight matrix.\n",
        "\n",
        "We TensorNetwork's NCon API to keep the code short."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "wvSMKtPufnLp"
      },
      "source": [
        "class TNLayer(tf.keras.layers.Layer):\n",
        "\n",
        "  def __init__(self):\n",
        "    super(TNLayer, self).__init__()\n",
        "    # Create the variables for the layer.\n",
        "    self.a_var = tf.Variable(tf.random.normal(shape=(32, 32, 2),\n",
        "                                              stddev=1.0/32.0),\n",
        "                             name=\"a\", trainable=True)\n",
        "    self.b_var = tf.Variable(tf.random.normal(shape=(32, 32, 2),\n",
        "                                              stddev=1.0/32.0),\n",
        "                             name=\"b\", trainable=True)\n",
        "    self.bias = tf.Variable(tf.zeros(shape=(32, 32)),\n",
        "                            name=\"bias\", trainable=True)\n",
        "\n",
        "  def call(self, inputs):\n",
        "    # Define the contraction.\n",
        "    # We break it out so we can parallelize a batch using\n",
        "    # tf.vectorized_map (see below).\n",
        "    def f(input_vec, a_var, b_var, bias_var):\n",
        "      # Reshape to a matrix instead of a vector.\n",
        "      input_vec = tf.reshape(input_vec, (32, 32))\n",
        "\n",
        "      # Now we create the network.\n",
        "      a = tn.Node(a_var)\n",
        "      b = tn.Node(b_var)\n",
        "      x_node = tn.Node(input_vec)\n",
        "      a[1] ^ x_node[0]\n",
        "      b[1] ^ x_node[1]\n",
        "      a[2] ^ b[2]\n",
        "\n",
        "      # The TN should now look like this\n",
        "      #   |     |\n",
        "      #   a --- b\n",
        "      #    \\   /\n",
        "      #      x\n",
        "\n",
        "      # Now we begin the contraction.\n",
        "      c = a @ x_node\n",
        "      result = (c @ b).tensor\n",
        "\n",
        "      # To make the code shorter, we also could've used Ncon.\n",
        "      # The above few lines of code is the same as this:\n",
        "      # result = tn.ncon([x, a_var, b_var], [[1, 2], [-1, 1, 3], [-2, 2, 3]])\n",
        "\n",
        "      # Finally, add bias.\n",
        "      return result + bias_var\n",
        "\n",
        "    # To deal with a batch of items, we can use the tf.vectorized_map\n",
        "    # function.\n",
        "    # https://www.tensorflow.org/api_docs/python/tf/vectorized_map\n",
        "    result = tf.vectorized_map(\n",
        "        lambda vec: f(vec, self.a_var, self.b_var, self.bias), inputs)\n",
        "    return tf.nn.relu(tf.reshape(result, (-1, 1024)))"
      ],
      "execution_count": 236,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "V-CVqIhPnhY_"
      },
      "source": [
        "# Smaller model\n",
        "These two models are effectively the same, but notice how the TN layer has nearly 10x fewer parameters."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "XPBvnB95jg4b",
        "outputId": "699df8a6-5ee1-4930-82b2-a7718a235478",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        }
      },
      "source": [
        "Dense = tf.keras.layers.Dense\n",
        "fc_model = tf.keras.Sequential(\n",
        "    [\n",
        "     tf.keras.Input(shape=(2,)),\n",
        "     Dense(1024, activation=tf.nn.relu),\n",
        "     Dense(1024, activation=tf.nn.relu),\n",
        "     Dense(1, activation=None)])\n",
        "fc_model.summary()"
      ],
      "execution_count": 237,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Model: \"sequential_40\"\n",
            "_________________________________________________________________\n",
            " Layer (type)                Output Shape              Param #   \n",
            "=================================================================\n",
            " dense_100 (Dense)           (None, 1024)              3072      \n",
            "                                                                 \n",
            " dense_101 (Dense)           (None, 1024)              1049600   \n",
            "                                                                 \n",
            " dense_102 (Dense)           (None, 1)                 1025      \n",
            "                                                                 \n",
            "=================================================================\n",
            "Total params: 1053697 (4.02 MB)\n",
            "Trainable params: 1053697 (4.02 MB)\n",
            "Non-trainable params: 0 (0.00 Byte)\n",
            "_________________________________________________________________\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "bbKsmK8wIFTp",
        "outputId": "6cb440f6-a75c-4964-e8c5-a8b67f21b578",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        }
      },
      "source": [
        "tn_model = tf.keras.Sequential(\n",
        "    [\n",
        "     tf.keras.Input(shape=(2,)),\n",
        "     Dense(1024, activation=tf.nn.relu),\n",
        "     # Here, we replace the dense layer with our MPS.\n",
        "     TNLayer(),\n",
        "     TNLayer(),\n",
        "     Dense(1, activation=None)])\n",
        "tn_model.summary()"
      ],
      "execution_count": 238,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Model: \"sequential_41\"\n",
            "_________________________________________________________________\n",
            " Layer (type)                Output Shape              Param #   \n",
            "=================================================================\n",
            " dense_103 (Dense)           (None, 1024)              3072      \n",
            "                                                                 \n",
            " tn_layer_22 (TNLayer)       (None, 1024)              5120      \n",
            "                                                                 \n",
            " tn_layer_23 (TNLayer)       (None, 1024)              5120      \n",
            "                                                                 \n",
            " dense_104 (Dense)           (None, 1)                 1025      \n",
            "                                                                 \n",
            "=================================================================\n",
            "Total params: 14337 (56.00 KB)\n",
            "Trainable params: 14337 (56.00 KB)\n",
            "Non-trainable params: 0 (0.00 Byte)\n",
            "_________________________________________________________________\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "GWwoYp0WnsLA"
      },
      "source": [
        "# Training a model\n",
        "\n",
        "You can train the TN model just as you would a normal neural network model! Here, we give an example of how to do it in Keras."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "qDFzOC7sDBJ-"
      },
      "source": [
        "X = np.concatenate([np.random.randn(20, 2) + np.array([3, 3]),\n",
        "                    np.random.randn(20, 2) + np.array([-3, -3]),\n",
        "                    np.random.randn(20, 2) + np.array([-3, 3]),\n",
        "                    np.random.randn(20, 2) + np.array([3, -3])])\n",
        "\n",
        "Y = np.concatenate([np.ones((40)), -np.ones((40))])"
      ],
      "execution_count": 239,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "seconds = time.time()\n",
        "print(\"Time in seconds since beginning of run:\", seconds)\n",
        "local_time = time.ctime(seconds)\n",
        "print(local_time)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "19TWP-1eKURB",
        "outputId": "e465f78b-1775-4c23-d1fb-c31b6b9e8492"
      },
      "execution_count": 240,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since beginning of run: 1709522004.4777458\n",
            "Mon Mar  4 03:13:24 2024\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "crc0q1vbIyTj",
        "outputId": "d9d8d2cb-8e3e-45de-e9e9-64117baa3bf9",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        }
      },
      "source": [
        "tn_model.compile(optimizer=\"adam\", loss=\"mean_squared_error\")\n",
        "tn_model.fit(X, Y, epochs=300, verbose=2)"
      ],
      "execution_count": 241,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/300\n",
            "3/3 - 2s - loss: 1.0015 - 2s/epoch - 590ms/step\n",
            "Epoch 2/300\n",
            "3/3 - 0s - loss: 0.9988 - 19ms/epoch - 6ms/step\n",
            "Epoch 3/300\n",
            "3/3 - 0s - loss: 0.9955 - 22ms/epoch - 7ms/step\n",
            "Epoch 4/300\n",
            "3/3 - 0s - loss: 0.9905 - 19ms/epoch - 6ms/step\n",
            "Epoch 5/300\n",
            "3/3 - 0s - loss: 0.9844 - 19ms/epoch - 6ms/step\n",
            "Epoch 6/300\n",
            "3/3 - 0s - loss: 0.9722 - 19ms/epoch - 6ms/step\n",
            "Epoch 7/300\n",
            "3/3 - 0s - loss: 0.9535 - 19ms/epoch - 6ms/step\n",
            "Epoch 8/300\n",
            "3/3 - 0s - loss: 0.9232 - 17ms/epoch - 6ms/step\n",
            "Epoch 9/300\n",
            "3/3 - 0s - loss: 0.8735 - 20ms/epoch - 7ms/step\n",
            "Epoch 10/300\n",
            "3/3 - 0s - loss: 0.8003 - 20ms/epoch - 7ms/step\n",
            "Epoch 11/300\n",
            "3/3 - 0s - loss: 0.6881 - 18ms/epoch - 6ms/step\n",
            "Epoch 12/300\n",
            "3/3 - 0s - loss: 0.5277 - 21ms/epoch - 7ms/step\n",
            "Epoch 13/300\n",
            "3/3 - 0s - loss: 0.3298 - 18ms/epoch - 6ms/step\n",
            "Epoch 14/300\n",
            "3/3 - 0s - loss: 0.1375 - 19ms/epoch - 6ms/step\n",
            "Epoch 15/300\n",
            "3/3 - 0s - loss: 0.0457 - 19ms/epoch - 6ms/step\n",
            "Epoch 16/300\n",
            "3/3 - 0s - loss: 0.0993 - 17ms/epoch - 6ms/step\n",
            "Epoch 17/300\n",
            "3/3 - 0s - loss: 0.0889 - 20ms/epoch - 7ms/step\n",
            "Epoch 18/300\n",
            "3/3 - 0s - loss: 0.0396 - 21ms/epoch - 7ms/step\n",
            "Epoch 19/300\n",
            "3/3 - 0s - loss: 0.0243 - 22ms/epoch - 7ms/step\n",
            "Epoch 20/300\n",
            "3/3 - 0s - loss: 0.0306 - 20ms/epoch - 7ms/step\n",
            "Epoch 21/300\n",
            "3/3 - 0s - loss: 0.0352 - 18ms/epoch - 6ms/step\n",
            "Epoch 22/300\n",
            "3/3 - 0s - loss: 0.0305 - 22ms/epoch - 7ms/step\n",
            "Epoch 23/300\n",
            "3/3 - 0s - loss: 0.0213 - 18ms/epoch - 6ms/step\n",
            "Epoch 24/300\n",
            "3/3 - 0s - loss: 0.0158 - 19ms/epoch - 6ms/step\n",
            "Epoch 25/300\n",
            "3/3 - 0s - loss: 0.0163 - 18ms/epoch - 6ms/step\n",
            "Epoch 26/300\n",
            "3/3 - 0s - loss: 0.0180 - 18ms/epoch - 6ms/step\n",
            "Epoch 27/300\n",
            "3/3 - 0s - loss: 0.0166 - 20ms/epoch - 7ms/step\n",
            "Epoch 28/300\n",
            "3/3 - 0s - loss: 0.0136 - 22ms/epoch - 7ms/step\n",
            "Epoch 29/300\n",
            "3/3 - 0s - loss: 0.0126 - 20ms/epoch - 7ms/step\n",
            "Epoch 30/300\n",
            "3/3 - 0s - loss: 0.0130 - 19ms/epoch - 6ms/step\n",
            "Epoch 31/300\n",
            "3/3 - 0s - loss: 0.0125 - 22ms/epoch - 7ms/step\n",
            "Epoch 32/300\n",
            "3/3 - 0s - loss: 0.0113 - 19ms/epoch - 6ms/step\n",
            "Epoch 33/300\n",
            "3/3 - 0s - loss: 0.0107 - 17ms/epoch - 6ms/step\n",
            "Epoch 34/300\n",
            "3/3 - 0s - loss: 0.0105 - 23ms/epoch - 8ms/step\n",
            "Epoch 35/300\n",
            "3/3 - 0s - loss: 0.0100 - 20ms/epoch - 7ms/step\n",
            "Epoch 36/300\n",
            "3/3 - 0s - loss: 0.0095 - 20ms/epoch - 7ms/step\n",
            "Epoch 37/300\n",
            "3/3 - 0s - loss: 0.0092 - 21ms/epoch - 7ms/step\n",
            "Epoch 38/300\n",
            "3/3 - 0s - loss: 0.0089 - 20ms/epoch - 7ms/step\n",
            "Epoch 39/300\n",
            "3/3 - 0s - loss: 0.0086 - 23ms/epoch - 8ms/step\n",
            "Epoch 40/300\n",
            "3/3 - 0s - loss: 0.0082 - 21ms/epoch - 7ms/step\n",
            "Epoch 41/300\n",
            "3/3 - 0s - loss: 0.0079 - 20ms/epoch - 7ms/step\n",
            "Epoch 42/300\n",
            "3/3 - 0s - loss: 0.0076 - 21ms/epoch - 7ms/step\n",
            "Epoch 43/300\n",
            "3/3 - 0s - loss: 0.0073 - 19ms/epoch - 6ms/step\n",
            "Epoch 44/300\n",
            "3/3 - 0s - loss: 0.0070 - 22ms/epoch - 7ms/step\n",
            "Epoch 45/300\n",
            "3/3 - 0s - loss: 0.0067 - 21ms/epoch - 7ms/step\n",
            "Epoch 46/300\n",
            "3/3 - 0s - loss: 0.0065 - 22ms/epoch - 7ms/step\n",
            "Epoch 47/300\n",
            "3/3 - 0s - loss: 0.0063 - 20ms/epoch - 7ms/step\n",
            "Epoch 48/300\n",
            "3/3 - 0s - loss: 0.0061 - 22ms/epoch - 7ms/step\n",
            "Epoch 49/300\n",
            "3/3 - 0s - loss: 0.0058 - 23ms/epoch - 8ms/step\n",
            "Epoch 50/300\n",
            "3/3 - 0s - loss: 0.0055 - 19ms/epoch - 6ms/step\n",
            "Epoch 51/300\n",
            "3/3 - 0s - loss: 0.0054 - 18ms/epoch - 6ms/step\n",
            "Epoch 52/300\n",
            "3/3 - 0s - loss: 0.0051 - 19ms/epoch - 6ms/step\n",
            "Epoch 53/300\n",
            "3/3 - 0s - loss: 0.0049 - 18ms/epoch - 6ms/step\n",
            "Epoch 54/300\n",
            "3/3 - 0s - loss: 0.0047 - 18ms/epoch - 6ms/step\n",
            "Epoch 55/300\n",
            "3/3 - 0s - loss: 0.0044 - 19ms/epoch - 6ms/step\n",
            "Epoch 56/300\n",
            "3/3 - 0s - loss: 0.0043 - 23ms/epoch - 8ms/step\n",
            "Epoch 57/300\n",
            "3/3 - 0s - loss: 0.0041 - 19ms/epoch - 6ms/step\n",
            "Epoch 58/300\n",
            "3/3 - 0s - loss: 0.0039 - 22ms/epoch - 7ms/step\n",
            "Epoch 59/300\n",
            "3/3 - 0s - loss: 0.0037 - 16ms/epoch - 5ms/step\n",
            "Epoch 60/300\n",
            "3/3 - 0s - loss: 0.0035 - 21ms/epoch - 7ms/step\n",
            "Epoch 61/300\n",
            "3/3 - 0s - loss: 0.0034 - 21ms/epoch - 7ms/step\n",
            "Epoch 62/300\n",
            "3/3 - 0s - loss: 0.0032 - 20ms/epoch - 7ms/step\n",
            "Epoch 63/300\n",
            "3/3 - 0s - loss: 0.0030 - 20ms/epoch - 7ms/step\n",
            "Epoch 64/300\n",
            "3/3 - 0s - loss: 0.0027 - 20ms/epoch - 7ms/step\n",
            "Epoch 65/300\n",
            "3/3 - 0s - loss: 0.0027 - 21ms/epoch - 7ms/step\n",
            "Epoch 66/300\n",
            "3/3 - 0s - loss: 0.0025 - 20ms/epoch - 7ms/step\n",
            "Epoch 67/300\n",
            "3/3 - 0s - loss: 0.0022 - 20ms/epoch - 7ms/step\n",
            "Epoch 68/300\n",
            "3/3 - 0s - loss: 0.0021 - 21ms/epoch - 7ms/step\n",
            "Epoch 69/300\n",
            "3/3 - 0s - loss: 0.0020 - 19ms/epoch - 6ms/step\n",
            "Epoch 70/300\n",
            "3/3 - 0s - loss: 0.0019 - 19ms/epoch - 6ms/step\n",
            "Epoch 71/300\n",
            "3/3 - 0s - loss: 0.0017 - 23ms/epoch - 8ms/step\n",
            "Epoch 72/300\n",
            "3/3 - 0s - loss: 0.0016 - 20ms/epoch - 7ms/step\n",
            "Epoch 73/300\n",
            "3/3 - 0s - loss: 0.0014 - 24ms/epoch - 8ms/step\n",
            "Epoch 74/300\n",
            "3/3 - 0s - loss: 0.0013 - 22ms/epoch - 7ms/step\n",
            "Epoch 75/300\n",
            "3/3 - 0s - loss: 0.0012 - 22ms/epoch - 7ms/step\n",
            "Epoch 76/300\n",
            "3/3 - 0s - loss: 0.0011 - 22ms/epoch - 7ms/step\n",
            "Epoch 77/300\n",
            "3/3 - 0s - loss: 0.0010 - 22ms/epoch - 7ms/step\n",
            "Epoch 78/300\n",
            "3/3 - 0s - loss: 8.9225e-04 - 20ms/epoch - 7ms/step\n",
            "Epoch 79/300\n",
            "3/3 - 0s - loss: 8.1487e-04 - 26ms/epoch - 9ms/step\n",
            "Epoch 80/300\n",
            "3/3 - 0s - loss: 7.3355e-04 - 24ms/epoch - 8ms/step\n",
            "Epoch 81/300\n",
            "3/3 - 0s - loss: 6.5518e-04 - 27ms/epoch - 9ms/step\n",
            "Epoch 82/300\n",
            "3/3 - 0s - loss: 5.9586e-04 - 20ms/epoch - 7ms/step\n",
            "Epoch 83/300\n",
            "3/3 - 0s - loss: 5.2705e-04 - 17ms/epoch - 6ms/step\n",
            "Epoch 84/300\n",
            "3/3 - 0s - loss: 4.5821e-04 - 21ms/epoch - 7ms/step\n",
            "Epoch 85/300\n",
            "3/3 - 0s - loss: 3.9514e-04 - 21ms/epoch - 7ms/step\n",
            "Epoch 86/300\n",
            "3/3 - 0s - loss: 3.4192e-04 - 22ms/epoch - 7ms/step\n",
            "Epoch 87/300\n",
            "3/3 - 0s - loss: 3.0065e-04 - 23ms/epoch - 8ms/step\n",
            "Epoch 88/300\n",
            "3/3 - 0s - loss: 2.5158e-04 - 19ms/epoch - 6ms/step\n",
            "Epoch 89/300\n",
            "3/3 - 0s - loss: 2.3417e-04 - 20ms/epoch - 7ms/step\n",
            "Epoch 90/300\n",
            "3/3 - 0s - loss: 1.8681e-04 - 20ms/epoch - 7ms/step\n",
            "Epoch 91/300\n",
            "3/3 - 0s - loss: 1.7375e-04 - 18ms/epoch - 6ms/step\n",
            "Epoch 92/300\n",
            "3/3 - 0s - loss: 1.3884e-04 - 19ms/epoch - 6ms/step\n",
            "Epoch 93/300\n",
            "3/3 - 0s - loss: 1.1605e-04 - 22ms/epoch - 7ms/step\n",
            "Epoch 94/300\n",
            "3/3 - 0s - loss: 1.0071e-04 - 18ms/epoch - 6ms/step\n",
            "Epoch 95/300\n",
            "3/3 - 0s - loss: 8.4911e-05 - 19ms/epoch - 6ms/step\n",
            "Epoch 96/300\n",
            "3/3 - 0s - loss: 7.3587e-05 - 24ms/epoch - 8ms/step\n",
            "Epoch 97/300\n",
            "3/3 - 0s - loss: 6.0345e-05 - 20ms/epoch - 7ms/step\n",
            "Epoch 98/300\n",
            "3/3 - 0s - loss: 5.2957e-05 - 21ms/epoch - 7ms/step\n",
            "Epoch 99/300\n",
            "3/3 - 0s - loss: 4.5043e-05 - 19ms/epoch - 6ms/step\n",
            "Epoch 100/300\n",
            "3/3 - 0s - loss: 3.8716e-05 - 17ms/epoch - 6ms/step\n",
            "Epoch 101/300\n",
            "3/3 - 0s - loss: 3.3562e-05 - 20ms/epoch - 7ms/step\n",
            "Epoch 102/300\n",
            "3/3 - 0s - loss: 2.9688e-05 - 18ms/epoch - 6ms/step\n",
            "Epoch 103/300\n",
            "3/3 - 0s - loss: 2.5372e-05 - 26ms/epoch - 9ms/step\n",
            "Epoch 104/300\n",
            "3/3 - 0s - loss: 2.3430e-05 - 18ms/epoch - 6ms/step\n",
            "Epoch 105/300\n",
            "3/3 - 0s - loss: 2.0305e-05 - 17ms/epoch - 6ms/step\n",
            "Epoch 106/300\n",
            "3/3 - 0s - loss: 1.9689e-05 - 21ms/epoch - 7ms/step\n",
            "Epoch 107/300\n",
            "3/3 - 0s - loss: 1.6702e-05 - 17ms/epoch - 6ms/step\n",
            "Epoch 108/300\n",
            "3/3 - 0s - loss: 1.5777e-05 - 20ms/epoch - 7ms/step\n",
            "Epoch 109/300\n",
            "3/3 - 0s - loss: 1.3627e-05 - 16ms/epoch - 5ms/step\n",
            "Epoch 110/300\n",
            "3/3 - 0s - loss: 1.2901e-05 - 18ms/epoch - 6ms/step\n",
            "Epoch 111/300\n",
            "3/3 - 0s - loss: 1.2012e-05 - 19ms/epoch - 6ms/step\n",
            "Epoch 112/300\n",
            "3/3 - 0s - loss: 1.1558e-05 - 20ms/epoch - 7ms/step\n",
            "Epoch 113/300\n",
            "3/3 - 0s - loss: 1.1217e-05 - 21ms/epoch - 7ms/step\n",
            "Epoch 114/300\n",
            "3/3 - 0s - loss: 1.0510e-05 - 20ms/epoch - 7ms/step\n",
            "Epoch 115/300\n",
            "3/3 - 0s - loss: 1.0253e-05 - 18ms/epoch - 6ms/step\n",
            "Epoch 116/300\n",
            "3/3 - 0s - loss: 9.6854e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 117/300\n",
            "3/3 - 0s - loss: 9.2830e-06 - 16ms/epoch - 5ms/step\n",
            "Epoch 118/300\n",
            "3/3 - 0s - loss: 9.5685e-06 - 16ms/epoch - 5ms/step\n",
            "Epoch 119/300\n",
            "3/3 - 0s - loss: 8.6470e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 120/300\n",
            "3/3 - 0s - loss: 8.6227e-06 - 23ms/epoch - 8ms/step\n",
            "Epoch 121/300\n",
            "3/3 - 0s - loss: 8.2655e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 122/300\n",
            "3/3 - 0s - loss: 7.8970e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 123/300\n",
            "3/3 - 0s - loss: 7.6710e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 124/300\n",
            "3/3 - 0s - loss: 7.5332e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 125/300\n",
            "3/3 - 0s - loss: 7.7387e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 126/300\n",
            "3/3 - 0s - loss: 7.9664e-06 - 23ms/epoch - 8ms/step\n",
            "Epoch 127/300\n",
            "3/3 - 0s - loss: 7.3454e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 128/300\n",
            "3/3 - 0s - loss: 6.6508e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 129/300\n",
            "3/3 - 0s - loss: 6.5375e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 130/300\n",
            "3/3 - 0s - loss: 6.6625e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 131/300\n",
            "3/3 - 0s - loss: 6.4612e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 132/300\n",
            "3/3 - 0s - loss: 5.6028e-06 - 17ms/epoch - 6ms/step\n",
            "Epoch 133/300\n",
            "3/3 - 0s - loss: 5.6363e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 134/300\n",
            "3/3 - 0s - loss: 5.6274e-06 - 17ms/epoch - 6ms/step\n",
            "Epoch 135/300\n",
            "3/3 - 0s - loss: 5.6550e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 136/300\n",
            "3/3 - 0s - loss: 5.0187e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 137/300\n",
            "3/3 - 0s - loss: 5.2972e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 138/300\n",
            "3/3 - 0s - loss: 5.0483e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 139/300\n",
            "3/3 - 0s - loss: 5.1938e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 140/300\n",
            "3/3 - 0s - loss: 4.9907e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 141/300\n",
            "3/3 - 0s - loss: 4.7633e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 142/300\n",
            "3/3 - 0s - loss: 4.8705e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 143/300\n",
            "3/3 - 0s - loss: 4.8721e-06 - 17ms/epoch - 6ms/step\n",
            "Epoch 144/300\n",
            "3/3 - 0s - loss: 4.7643e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 145/300\n",
            "3/3 - 0s - loss: 4.0979e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 146/300\n",
            "3/3 - 0s - loss: 4.3738e-06 - 23ms/epoch - 8ms/step\n",
            "Epoch 147/300\n",
            "3/3 - 0s - loss: 3.9099e-06 - 23ms/epoch - 8ms/step\n",
            "Epoch 148/300\n",
            "3/3 - 0s - loss: 3.7920e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 149/300\n",
            "3/3 - 0s - loss: 3.6526e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 150/300\n",
            "3/3 - 0s - loss: 3.8185e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 151/300\n",
            "3/3 - 0s - loss: 3.6029e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 152/300\n",
            "3/3 - 0s - loss: 3.5866e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 153/300\n",
            "3/3 - 0s - loss: 3.3243e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 154/300\n",
            "3/3 - 0s - loss: 3.5317e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 155/300\n",
            "3/3 - 0s - loss: 3.3998e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 156/300\n",
            "3/3 - 0s - loss: 3.0894e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 157/300\n",
            "3/3 - 0s - loss: 3.1906e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 158/300\n",
            "3/3 - 0s - loss: 3.3293e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 159/300\n",
            "3/3 - 0s - loss: 2.9813e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 160/300\n",
            "3/3 - 0s - loss: 2.8991e-06 - 23ms/epoch - 8ms/step\n",
            "Epoch 161/300\n",
            "3/3 - 0s - loss: 3.0410e-06 - 23ms/epoch - 8ms/step\n",
            "Epoch 162/300\n",
            "3/3 - 0s - loss: 2.8288e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 163/300\n",
            "3/3 - 0s - loss: 2.7471e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 164/300\n",
            "3/3 - 0s - loss: 2.7312e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 165/300\n",
            "3/3 - 0s - loss: 2.7553e-06 - 15ms/epoch - 5ms/step\n",
            "Epoch 166/300\n",
            "3/3 - 0s - loss: 2.5762e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 167/300\n",
            "3/3 - 0s - loss: 2.6357e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 168/300\n",
            "3/3 - 0s - loss: 2.6987e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 169/300\n",
            "3/3 - 0s - loss: 2.4293e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 170/300\n",
            "3/3 - 0s - loss: 2.5949e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 171/300\n",
            "3/3 - 0s - loss: 2.3032e-06 - 24ms/epoch - 8ms/step\n",
            "Epoch 172/300\n",
            "3/3 - 0s - loss: 2.2750e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 173/300\n",
            "3/3 - 0s - loss: 2.3688e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 174/300\n",
            "3/3 - 0s - loss: 2.1607e-06 - 16ms/epoch - 5ms/step\n",
            "Epoch 175/300\n",
            "3/3 - 0s - loss: 2.2357e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 176/300\n",
            "3/3 - 0s - loss: 2.1119e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 177/300\n",
            "3/3 - 0s - loss: 2.2488e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 178/300\n",
            "3/3 - 0s - loss: 2.0474e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 179/300\n",
            "3/3 - 0s - loss: 2.0984e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 180/300\n",
            "3/3 - 0s - loss: 2.0765e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 181/300\n",
            "3/3 - 0s - loss: 2.1170e-06 - 24ms/epoch - 8ms/step\n",
            "Epoch 182/300\n",
            "3/3 - 0s - loss: 1.9532e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 183/300\n",
            "3/3 - 0s - loss: 1.9917e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 184/300\n",
            "3/3 - 0s - loss: 2.1733e-06 - 23ms/epoch - 8ms/step\n",
            "Epoch 185/300\n",
            "3/3 - 0s - loss: 2.1881e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 186/300\n",
            "3/3 - 0s - loss: 1.8473e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 187/300\n",
            "3/3 - 0s - loss: 1.9832e-06 - 17ms/epoch - 6ms/step\n",
            "Epoch 188/300\n",
            "3/3 - 0s - loss: 1.9620e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 189/300\n",
            "3/3 - 0s - loss: 1.8453e-06 - 23ms/epoch - 8ms/step\n",
            "Epoch 190/300\n",
            "3/3 - 0s - loss: 1.6653e-06 - 23ms/epoch - 8ms/step\n",
            "Epoch 191/300\n",
            "3/3 - 0s - loss: 1.9849e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 192/300\n",
            "3/3 - 0s - loss: 1.5475e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 193/300\n",
            "3/3 - 0s - loss: 1.8699e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 194/300\n",
            "3/3 - 0s - loss: 1.5376e-06 - 23ms/epoch - 8ms/step\n",
            "Epoch 195/300\n",
            "3/3 - 0s - loss: 1.6105e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 196/300\n",
            "3/3 - 0s - loss: 1.5899e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 197/300\n",
            "3/3 - 0s - loss: 1.6218e-06 - 16ms/epoch - 5ms/step\n",
            "Epoch 198/300\n",
            "3/3 - 0s - loss: 1.3889e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 199/300\n",
            "3/3 - 0s - loss: 1.8883e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 200/300\n",
            "3/3 - 0s - loss: 2.2525e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 201/300\n",
            "3/3 - 0s - loss: 1.9364e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 202/300\n",
            "3/3 - 0s - loss: 1.9125e-06 - 26ms/epoch - 9ms/step\n",
            "Epoch 203/300\n",
            "3/3 - 0s - loss: 1.9957e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 204/300\n",
            "3/3 - 0s - loss: 1.7084e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 205/300\n",
            "3/3 - 0s - loss: 1.7698e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 206/300\n",
            "3/3 - 0s - loss: 1.7162e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 207/300\n",
            "3/3 - 0s - loss: 1.3914e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 208/300\n",
            "3/3 - 0s - loss: 1.3760e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 209/300\n",
            "3/3 - 0s - loss: 1.3242e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 210/300\n",
            "3/3 - 0s - loss: 1.3072e-06 - 24ms/epoch - 8ms/step\n",
            "Epoch 211/300\n",
            "3/3 - 0s - loss: 1.4845e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 212/300\n",
            "3/3 - 0s - loss: 1.2026e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 213/300\n",
            "3/3 - 0s - loss: 1.2840e-06 - 22ms/epoch - 7ms/step\n",
            "Epoch 214/300\n",
            "3/3 - 0s - loss: 1.2337e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 215/300\n",
            "3/3 - 0s - loss: 1.1183e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 216/300\n",
            "3/3 - 0s - loss: 1.3367e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 217/300\n",
            "3/3 - 0s - loss: 1.2002e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 218/300\n",
            "3/3 - 0s - loss: 1.1818e-06 - 20ms/epoch - 7ms/step\n",
            "Epoch 219/300\n",
            "3/3 - 0s - loss: 9.7667e-07 - 18ms/epoch - 6ms/step\n",
            "Epoch 220/300\n",
            "3/3 - 0s - loss: 1.2882e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 221/300\n",
            "3/3 - 0s - loss: 1.0824e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 222/300\n",
            "3/3 - 0s - loss: 1.0273e-06 - 18ms/epoch - 6ms/step\n",
            "Epoch 223/300\n",
            "3/3 - 0s - loss: 1.0761e-06 - 21ms/epoch - 7ms/step\n",
            "Epoch 224/300\n",
            "3/3 - 0s - loss: 1.0251e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 225/300\n",
            "3/3 - 0s - loss: 1.0274e-06 - 19ms/epoch - 6ms/step\n",
            "Epoch 226/300\n",
            "3/3 - 0s - loss: 9.3332e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 227/300\n",
            "3/3 - 0s - loss: 9.9084e-07 - 21ms/epoch - 7ms/step\n",
            "Epoch 228/300\n",
            "3/3 - 0s - loss: 9.2181e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 229/300\n",
            "3/3 - 0s - loss: 8.9699e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 230/300\n",
            "3/3 - 0s - loss: 9.2395e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 231/300\n",
            "3/3 - 0s - loss: 9.4939e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 232/300\n",
            "3/3 - 0s - loss: 1.0066e-06 - 16ms/epoch - 5ms/step\n",
            "Epoch 233/300\n",
            "3/3 - 0s - loss: 9.7383e-07 - 21ms/epoch - 7ms/step\n",
            "Epoch 234/300\n",
            "3/3 - 0s - loss: 8.9329e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 235/300\n",
            "3/3 - 0s - loss: 8.5375e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 236/300\n",
            "3/3 - 0s - loss: 8.7262e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 237/300\n",
            "3/3 - 0s - loss: 9.9931e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 238/300\n",
            "3/3 - 0s - loss: 9.3608e-07 - 22ms/epoch - 7ms/step\n",
            "Epoch 239/300\n",
            "3/3 - 0s - loss: 8.1165e-07 - 25ms/epoch - 8ms/step\n",
            "Epoch 240/300\n",
            "3/3 - 0s - loss: 8.5310e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 241/300\n",
            "3/3 - 0s - loss: 8.4111e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 242/300\n",
            "3/3 - 0s - loss: 8.4071e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 243/300\n",
            "3/3 - 0s - loss: 8.0404e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 244/300\n",
            "3/3 - 0s - loss: 8.6676e-07 - 24ms/epoch - 8ms/step\n",
            "Epoch 245/300\n",
            "3/3 - 0s - loss: 9.0333e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 246/300\n",
            "3/3 - 0s - loss: 8.3169e-07 - 21ms/epoch - 7ms/step\n",
            "Epoch 247/300\n",
            "3/3 - 0s - loss: 8.7212e-07 - 17ms/epoch - 6ms/step\n",
            "Epoch 248/300\n",
            "3/3 - 0s - loss: 8.8973e-07 - 25ms/epoch - 8ms/step\n",
            "Epoch 249/300\n",
            "3/3 - 0s - loss: 9.4720e-07 - 18ms/epoch - 6ms/step\n",
            "Epoch 250/300\n",
            "3/3 - 0s - loss: 7.6689e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 251/300\n",
            "3/3 - 0s - loss: 7.4134e-07 - 18ms/epoch - 6ms/step\n",
            "Epoch 252/300\n",
            "3/3 - 0s - loss: 8.4110e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 253/300\n",
            "3/3 - 0s - loss: 7.7027e-07 - 22ms/epoch - 7ms/step\n",
            "Epoch 254/300\n",
            "3/3 - 0s - loss: 7.3369e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 255/300\n",
            "3/3 - 0s - loss: 7.1947e-07 - 21ms/epoch - 7ms/step\n",
            "Epoch 256/300\n",
            "3/3 - 0s - loss: 6.8687e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 257/300\n",
            "3/3 - 0s - loss: 6.8526e-07 - 18ms/epoch - 6ms/step\n",
            "Epoch 258/300\n",
            "3/3 - 0s - loss: 7.2039e-07 - 21ms/epoch - 7ms/step\n",
            "Epoch 259/300\n",
            "3/3 - 0s - loss: 8.6763e-07 - 17ms/epoch - 6ms/step\n",
            "Epoch 260/300\n",
            "3/3 - 0s - loss: 5.9998e-07 - 18ms/epoch - 6ms/step\n",
            "Epoch 261/300\n",
            "3/3 - 0s - loss: 8.0895e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 262/300\n",
            "3/3 - 0s - loss: 6.3816e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 263/300\n",
            "3/3 - 0s - loss: 6.7886e-07 - 18ms/epoch - 6ms/step\n",
            "Epoch 264/300\n",
            "3/3 - 0s - loss: 6.4195e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 265/300\n",
            "3/3 - 0s - loss: 6.7303e-07 - 18ms/epoch - 6ms/step\n",
            "Epoch 266/300\n",
            "3/3 - 0s - loss: 6.7099e-07 - 15ms/epoch - 5ms/step\n",
            "Epoch 267/300\n",
            "3/3 - 0s - loss: 5.9744e-07 - 18ms/epoch - 6ms/step\n",
            "Epoch 268/300\n",
            "3/3 - 0s - loss: 6.4065e-07 - 22ms/epoch - 7ms/step\n",
            "Epoch 269/300\n",
            "3/3 - 0s - loss: 7.0460e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 270/300\n",
            "3/3 - 0s - loss: 5.6204e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 271/300\n",
            "3/3 - 0s - loss: 5.7983e-07 - 22ms/epoch - 7ms/step\n",
            "Epoch 272/300\n",
            "3/3 - 0s - loss: 5.8025e-07 - 23ms/epoch - 8ms/step\n",
            "Epoch 273/300\n",
            "3/3 - 0s - loss: 6.5557e-07 - 23ms/epoch - 8ms/step\n",
            "Epoch 274/300\n",
            "3/3 - 0s - loss: 6.3053e-07 - 18ms/epoch - 6ms/step\n",
            "Epoch 275/300\n",
            "3/3 - 0s - loss: 5.9187e-07 - 18ms/epoch - 6ms/step\n",
            "Epoch 276/300\n",
            "3/3 - 0s - loss: 5.5030e-07 - 22ms/epoch - 7ms/step\n",
            "Epoch 277/300\n",
            "3/3 - 0s - loss: 7.5284e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 278/300\n",
            "3/3 - 0s - loss: 5.7478e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 279/300\n",
            "3/3 - 0s - loss: 6.2859e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 280/300\n",
            "3/3 - 0s - loss: 5.3681e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 281/300\n",
            "3/3 - 0s - loss: 5.9119e-07 - 23ms/epoch - 8ms/step\n",
            "Epoch 282/300\n",
            "3/3 - 0s - loss: 6.9371e-07 - 21ms/epoch - 7ms/step\n",
            "Epoch 283/300\n",
            "3/3 - 0s - loss: 6.6865e-07 - 21ms/epoch - 7ms/step\n",
            "Epoch 284/300\n",
            "3/3 - 0s - loss: 6.4435e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 285/300\n",
            "3/3 - 0s - loss: 5.6863e-07 - 22ms/epoch - 7ms/step\n",
            "Epoch 286/300\n",
            "3/3 - 0s - loss: 6.1741e-07 - 22ms/epoch - 7ms/step\n",
            "Epoch 287/300\n",
            "3/3 - 0s - loss: 6.6472e-07 - 23ms/epoch - 8ms/step\n",
            "Epoch 288/300\n",
            "3/3 - 0s - loss: 5.3296e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 289/300\n",
            "3/3 - 0s - loss: 4.5677e-07 - 22ms/epoch - 7ms/step\n",
            "Epoch 290/300\n",
            "3/3 - 0s - loss: 4.4108e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 291/300\n",
            "3/3 - 0s - loss: 5.1830e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 292/300\n",
            "3/3 - 0s - loss: 4.6933e-07 - 20ms/epoch - 7ms/step\n",
            "Epoch 293/300\n",
            "3/3 - 0s - loss: 4.4849e-07 - 21ms/epoch - 7ms/step\n",
            "Epoch 294/300\n",
            "3/3 - 0s - loss: 4.3476e-07 - 19ms/epoch - 6ms/step\n",
            "Epoch 295/300\n",
            "3/3 - 0s - loss: 4.1821e-07 - 25ms/epoch - 8ms/step\n",
            "Epoch 296/300\n",
            "3/3 - 0s - loss: 4.3161e-07 - 21ms/epoch - 7ms/step\n",
            "Epoch 297/300\n",
            "3/3 - 0s - loss: 4.1815e-07 - 22ms/epoch - 7ms/step\n",
            "Epoch 298/300\n",
            "3/3 - 0s - loss: 4.3342e-07 - 18ms/epoch - 6ms/step\n",
            "Epoch 299/300\n",
            "3/3 - 0s - loss: 4.0120e-07 - 17ms/epoch - 6ms/step\n",
            "Epoch 300/300\n",
            "3/3 - 0s - loss: 3.9881e-07 - 19ms/epoch - 6ms/step\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<keras.src.callbacks.History at 0x7cd6529de710>"
            ]
          },
          "metadata": {},
          "execution_count": 241
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "n-aNP4n3sqG_",
        "outputId": "906c08ac-679f-4fda-bcb8-871a6365bdd4",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 443
        }
      },
      "source": [
        "# Plotting code, feel free to ignore.\n",
        "h = 1.0\n",
        "x_min, x_max = X[:, 0].min() - 5, X[:, 0].max() + 5\n",
        "y_min, y_max = X[:, 1].min() - 5, X[:, 1].max() + 5\n",
        "xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n",
        "                     np.arange(y_min, y_max, h))\n",
        "\n",
        "# here \"model\" is your model's prediction (classification) function\n",
        "Z = tn_model.predict(np.c_[xx.ravel(), yy.ravel()])\n",
        "\n",
        "# Put the result into a color plot\n",
        "Z = Z.reshape(xx.shape)\n",
        "plt.contourf(xx, yy, Z)\n",
        "plt.axis('off')\n",
        "\n",
        "# Plot also the training points\n",
        "plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=plt.cm.Paired)"
      ],
      "execution_count": 242,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "14/14 [==============================] - 0s 4ms/step\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.collections.PathCollection at 0x7cd65250f100>"
            ]
          },
          "metadata": {},
          "execution_count": 242
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "seconds = time.time()\n",
        "print(\"Time in seconds since end of run:\", seconds)\n",
        "local_time = time.ctime(seconds)\n",
        "print(local_time)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "wfZCzuq9KY9b",
        "outputId": "9a41a755-35af-4ffd-a1bb-5d1ba75005b1"
      },
      "execution_count": 243,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since end of run: 1709522013.90653\n",
            "Mon Mar  4 03:13:33 2024\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "seconds = time.time()\n",
        "print(\"Time in seconds since beginning of run:\", seconds)\n",
        "local_time = time.ctime(seconds)\n",
        "print(local_time)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "Ft6S13x6KuEQ",
        "outputId": "cb630240-c9eb-4805-9443-e89669db3c3e"
      },
      "execution_count": 244,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since beginning of run: 1709522013.918321\n",
            "Mon Mar  4 03:13:33 2024\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "BMxSJo5gtOmQ"
      },
      "source": [
        "# VS Fully Connected"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "NKQx7stYswzU",
        "outputId": "bdb4ff8d-c915-4fc2-8797-3cd3ae191920",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 11458
        }
      },
      "source": [
        "fc_model.compile(optimizer=\"adam\", loss=\"mean_squared_error\")\n",
        "fc_model.fit(X, Y, epochs=300, verbose=2)\n",
        "# Plotting code, feel free to ignore.\n",
        "h = 1.0\n",
        "x_min, x_max = X[:, 0].min() - 5, X[:, 0].max() + 5\n",
        "y_min, y_max = X[:, 1].min() - 5, X[:, 1].max() + 5\n",
        "xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n",
        "                     np.arange(y_min, y_max, h))\n",
        "\n",
        "# here \"model\" is your model's prediction (classification) function\n",
        "Z = fc_model.predict(np.c_[xx.ravel(), yy.ravel()])\n",
        "\n",
        "# Put the result into a color plot\n",
        "Z = Z.reshape(xx.shape)\n",
        "plt.contourf(xx, yy, Z)\n",
        "plt.axis('off')\n",
        "\n",
        "# Plot also the training points\n",
        "plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=plt.cm.Paired)"
      ],
      "execution_count": 245,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/300\n",
            "3/3 - 1s - loss: 0.5656 - 716ms/epoch - 239ms/step\n",
            "Epoch 2/300\n",
            "3/3 - 0s - loss: 0.1959 - 29ms/epoch - 10ms/step\n",
            "Epoch 3/300\n",
            "3/3 - 0s - loss: 0.1423 - 36ms/epoch - 12ms/step\n",
            "Epoch 4/300\n",
            "3/3 - 0s - loss: 0.0917 - 32ms/epoch - 11ms/step\n",
            "Epoch 5/300\n",
            "3/3 - 0s - loss: 0.0828 - 33ms/epoch - 11ms/step\n",
            "Epoch 6/300\n",
            "3/3 - 0s - loss: 0.0827 - 33ms/epoch - 11ms/step\n",
            "Epoch 7/300\n",
            "3/3 - 0s - loss: 0.0680 - 33ms/epoch - 11ms/step\n",
            "Epoch 8/300\n",
            "3/3 - 0s - loss: 0.0680 - 34ms/epoch - 11ms/step\n",
            "Epoch 9/300\n",
            "3/3 - 0s - loss: 0.0605 - 30ms/epoch - 10ms/step\n",
            "Epoch 10/300\n",
            "3/3 - 0s - loss: 0.0632 - 32ms/epoch - 11ms/step\n",
            "Epoch 11/300\n",
            "3/3 - 0s - loss: 0.0537 - 35ms/epoch - 12ms/step\n",
            "Epoch 12/300\n",
            "3/3 - 0s - loss: 0.0523 - 38ms/epoch - 13ms/step\n",
            "Epoch 13/300\n",
            "3/3 - 0s - loss: 0.0522 - 33ms/epoch - 11ms/step\n",
            "Epoch 14/300\n",
            "3/3 - 0s - loss: 0.0483 - 34ms/epoch - 11ms/step\n",
            "Epoch 15/300\n",
            "3/3 - 0s - loss: 0.0498 - 36ms/epoch - 12ms/step\n",
            "Epoch 16/300\n",
            "3/3 - 0s - loss: 0.0444 - 35ms/epoch - 12ms/step\n",
            "Epoch 17/300\n",
            "3/3 - 0s - loss: 0.0487 - 33ms/epoch - 11ms/step\n",
            "Epoch 18/300\n",
            "3/3 - 0s - loss: 0.0467 - 32ms/epoch - 11ms/step\n",
            "Epoch 19/300\n",
            "3/3 - 0s - loss: 0.0419 - 32ms/epoch - 11ms/step\n",
            "Epoch 20/300\n",
            "3/3 - 0s - loss: 0.0439 - 32ms/epoch - 11ms/step\n",
            "Epoch 21/300\n",
            "3/3 - 0s - loss: 0.0406 - 30ms/epoch - 10ms/step\n",
            "Epoch 22/300\n",
            "3/3 - 0s - loss: 0.0414 - 35ms/epoch - 12ms/step\n",
            "Epoch 23/300\n",
            "3/3 - 0s - loss: 0.0421 - 30ms/epoch - 10ms/step\n",
            "Epoch 24/300\n",
            "3/3 - 0s - loss: 0.0378 - 30ms/epoch - 10ms/step\n",
            "Epoch 25/300\n",
            "3/3 - 0s - loss: 0.0382 - 34ms/epoch - 11ms/step\n",
            "Epoch 26/300\n",
            "3/3 - 0s - loss: 0.0425 - 31ms/epoch - 10ms/step\n",
            "Epoch 27/300\n",
            "3/3 - 0s - loss: 0.0505 - 32ms/epoch - 11ms/step\n",
            "Epoch 28/300\n",
            "3/3 - 0s - loss: 0.0423 - 29ms/epoch - 10ms/step\n",
            "Epoch 29/300\n",
            "3/3 - 0s - loss: 0.0513 - 33ms/epoch - 11ms/step\n",
            "Epoch 30/300\n",
            "3/3 - 0s - loss: 0.0385 - 31ms/epoch - 10ms/step\n",
            "Epoch 31/300\n",
            "3/3 - 0s - loss: 0.0392 - 31ms/epoch - 10ms/step\n",
            "Epoch 32/300\n",
            "3/3 - 0s - loss: 0.0417 - 29ms/epoch - 10ms/step\n",
            "Epoch 33/300\n",
            "3/3 - 0s - loss: 0.0414 - 33ms/epoch - 11ms/step\n",
            "Epoch 34/300\n",
            "3/3 - 0s - loss: 0.0374 - 32ms/epoch - 11ms/step\n",
            "Epoch 35/300\n",
            "3/3 - 0s - loss: 0.0348 - 31ms/epoch - 10ms/step\n",
            "Epoch 36/300\n",
            "3/3 - 0s - loss: 0.0319 - 33ms/epoch - 11ms/step\n",
            "Epoch 37/300\n",
            "3/3 - 0s - loss: 0.0429 - 31ms/epoch - 10ms/step\n",
            "Epoch 38/300\n",
            "3/3 - 0s - loss: 0.0382 - 30ms/epoch - 10ms/step\n",
            "Epoch 39/300\n",
            "3/3 - 0s - loss: 0.0266 - 30ms/epoch - 10ms/step\n",
            "Epoch 40/300\n",
            "3/3 - 0s - loss: 0.0399 - 26ms/epoch - 9ms/step\n",
            "Epoch 41/300\n",
            "3/3 - 0s - loss: 0.0336 - 28ms/epoch - 9ms/step\n",
            "Epoch 42/300\n",
            "3/3 - 0s - loss: 0.0293 - 34ms/epoch - 11ms/step\n",
            "Epoch 43/300\n",
            "3/3 - 0s - loss: 0.0304 - 32ms/epoch - 11ms/step\n",
            "Epoch 44/300\n",
            "3/3 - 0s - loss: 0.0370 - 34ms/epoch - 11ms/step\n",
            "Epoch 45/300\n",
            "3/3 - 0s - loss: 0.0295 - 29ms/epoch - 10ms/step\n",
            "Epoch 46/300\n",
            "3/3 - 0s - loss: 0.0278 - 34ms/epoch - 11ms/step\n",
            "Epoch 47/300\n",
            "3/3 - 0s - loss: 0.0298 - 31ms/epoch - 10ms/step\n",
            "Epoch 48/300\n",
            "3/3 - 0s - loss: 0.0244 - 32ms/epoch - 11ms/step\n",
            "Epoch 49/300\n",
            "3/3 - 0s - loss: 0.0270 - 34ms/epoch - 11ms/step\n",
            "Epoch 50/300\n",
            "3/3 - 0s - loss: 0.0191 - 37ms/epoch - 12ms/step\n",
            "Epoch 51/300\n",
            "3/3 - 0s - loss: 0.0257 - 28ms/epoch - 9ms/step\n",
            "Epoch 52/300\n",
            "3/3 - 0s - loss: 0.0229 - 30ms/epoch - 10ms/step\n",
            "Epoch 53/300\n",
            "3/3 - 0s - loss: 0.0226 - 27ms/epoch - 9ms/step\n",
            "Epoch 54/300\n",
            "3/3 - 0s - loss: 0.0251 - 28ms/epoch - 9ms/step\n",
            "Epoch 55/300\n",
            "3/3 - 0s - loss: 0.0231 - 30ms/epoch - 10ms/step\n",
            "Epoch 56/300\n",
            "3/3 - 0s - loss: 0.0268 - 39ms/epoch - 13ms/step\n",
            "Epoch 57/300\n",
            "3/3 - 0s - loss: 0.0274 - 33ms/epoch - 11ms/step\n",
            "Epoch 58/300\n",
            "3/3 - 0s - loss: 0.0182 - 37ms/epoch - 12ms/step\n",
            "Epoch 59/300\n",
            "3/3 - 0s - loss: 0.0233 - 32ms/epoch - 11ms/step\n",
            "Epoch 60/300\n",
            "3/3 - 0s - loss: 0.0189 - 37ms/epoch - 12ms/step\n",
            "Epoch 61/300\n",
            "3/3 - 0s - loss: 0.0133 - 34ms/epoch - 11ms/step\n",
            "Epoch 62/300\n",
            "3/3 - 0s - loss: 0.0144 - 27ms/epoch - 9ms/step\n",
            "Epoch 63/300\n",
            "3/3 - 0s - loss: 0.0157 - 31ms/epoch - 10ms/step\n",
            "Epoch 64/300\n",
            "3/3 - 0s - loss: 0.0119 - 32ms/epoch - 11ms/step\n",
            "Epoch 65/300\n",
            "3/3 - 0s - loss: 0.0188 - 35ms/epoch - 12ms/step\n",
            "Epoch 66/300\n",
            "3/3 - 0s - loss: 0.0130 - 36ms/epoch - 12ms/step\n",
            "Epoch 67/300\n",
            "3/3 - 0s - loss: 0.0116 - 31ms/epoch - 10ms/step\n",
            "Epoch 68/300\n",
            "3/3 - 0s - loss: 0.0110 - 36ms/epoch - 12ms/step\n",
            "Epoch 69/300\n",
            "3/3 - 0s - loss: 0.0073 - 27ms/epoch - 9ms/step\n",
            "Epoch 70/300\n",
            "3/3 - 0s - loss: 0.0097 - 33ms/epoch - 11ms/step\n",
            "Epoch 71/300\n",
            "3/3 - 0s - loss: 0.0088 - 34ms/epoch - 11ms/step\n",
            "Epoch 72/300\n",
            "3/3 - 0s - loss: 0.0063 - 38ms/epoch - 13ms/step\n",
            "Epoch 73/300\n",
            "3/3 - 0s - loss: 0.0058 - 39ms/epoch - 13ms/step\n",
            "Epoch 74/300\n",
            "3/3 - 0s - loss: 0.0060 - 36ms/epoch - 12ms/step\n",
            "Epoch 75/300\n",
            "3/3 - 0s - loss: 0.0094 - 33ms/epoch - 11ms/step\n",
            "Epoch 76/300\n",
            "3/3 - 0s - loss: 0.0106 - 39ms/epoch - 13ms/step\n",
            "Epoch 77/300\n",
            "3/3 - 0s - loss: 0.0083 - 32ms/epoch - 11ms/step\n",
            "Epoch 78/300\n",
            "3/3 - 0s - loss: 0.0048 - 34ms/epoch - 11ms/step\n",
            "Epoch 79/300\n",
            "3/3 - 0s - loss: 0.0048 - 31ms/epoch - 10ms/step\n",
            "Epoch 80/300\n",
            "3/3 - 0s - loss: 0.0046 - 28ms/epoch - 9ms/step\n",
            "Epoch 81/300\n",
            "3/3 - 0s - loss: 0.0029 - 32ms/epoch - 11ms/step\n",
            "Epoch 82/300\n",
            "3/3 - 0s - loss: 0.0026 - 35ms/epoch - 12ms/step\n",
            "Epoch 83/300\n",
            "3/3 - 0s - loss: 0.0030 - 32ms/epoch - 11ms/step\n",
            "Epoch 84/300\n",
            "3/3 - 0s - loss: 0.0032 - 28ms/epoch - 9ms/step\n",
            "Epoch 85/300\n",
            "3/3 - 0s - loss: 0.0040 - 36ms/epoch - 12ms/step\n",
            "Epoch 86/300\n",
            "3/3 - 0s - loss: 0.0045 - 32ms/epoch - 11ms/step\n",
            "Epoch 87/300\n",
            "3/3 - 0s - loss: 0.0047 - 29ms/epoch - 10ms/step\n",
            "Epoch 88/300\n",
            "3/3 - 0s - loss: 0.0033 - 33ms/epoch - 11ms/step\n",
            "Epoch 89/300\n",
            "3/3 - 0s - loss: 0.0034 - 31ms/epoch - 10ms/step\n",
            "Epoch 90/300\n",
            "3/3 - 0s - loss: 0.0083 - 31ms/epoch - 10ms/step\n",
            "Epoch 91/300\n",
            "3/3 - 0s - loss: 0.0109 - 28ms/epoch - 9ms/step\n",
            "Epoch 92/300\n",
            "3/3 - 0s - loss: 0.0065 - 34ms/epoch - 11ms/step\n",
            "Epoch 93/300\n",
            "3/3 - 0s - loss: 0.0046 - 32ms/epoch - 11ms/step\n",
            "Epoch 94/300\n",
            "3/3 - 0s - loss: 0.0068 - 34ms/epoch - 11ms/step\n",
            "Epoch 95/300\n",
            "3/3 - 0s - loss: 0.0096 - 31ms/epoch - 10ms/step\n",
            "Epoch 96/300\n",
            "3/3 - 0s - loss: 0.0103 - 31ms/epoch - 10ms/step\n",
            "Epoch 97/300\n",
            "3/3 - 0s - loss: 0.0119 - 32ms/epoch - 11ms/step\n",
            "Epoch 98/300\n",
            "3/3 - 0s - loss: 0.0069 - 31ms/epoch - 10ms/step\n",
            "Epoch 99/300\n",
            "3/3 - 0s - loss: 0.0075 - 30ms/epoch - 10ms/step\n",
            "Epoch 100/300\n",
            "3/3 - 0s - loss: 0.0057 - 33ms/epoch - 11ms/step\n",
            "Epoch 101/300\n",
            "3/3 - 0s - loss: 0.0032 - 31ms/epoch - 10ms/step\n",
            "Epoch 102/300\n",
            "3/3 - 0s - loss: 0.0039 - 26ms/epoch - 9ms/step\n",
            "Epoch 103/300\n",
            "3/3 - 0s - loss: 0.0029 - 27ms/epoch - 9ms/step\n",
            "Epoch 104/300\n",
            "3/3 - 0s - loss: 0.0031 - 32ms/epoch - 11ms/step\n",
            "Epoch 105/300\n",
            "3/3 - 0s - loss: 0.0021 - 28ms/epoch - 9ms/step\n",
            "Epoch 106/300\n",
            "3/3 - 0s - loss: 0.0015 - 28ms/epoch - 9ms/step\n",
            "Epoch 107/300\n",
            "3/3 - 0s - loss: 0.0014 - 30ms/epoch - 10ms/step\n",
            "Epoch 108/300\n",
            "3/3 - 0s - loss: 0.0013 - 34ms/epoch - 11ms/step\n",
            "Epoch 109/300\n",
            "3/3 - 0s - loss: 0.0022 - 30ms/epoch - 10ms/step\n",
            "Epoch 110/300\n",
            "3/3 - 0s - loss: 0.0019 - 30ms/epoch - 10ms/step\n",
            "Epoch 111/300\n",
            "3/3 - 0s - loss: 0.0020 - 31ms/epoch - 10ms/step\n",
            "Epoch 112/300\n",
            "3/3 - 0s - loss: 6.9314e-04 - 30ms/epoch - 10ms/step\n",
            "Epoch 113/300\n",
            "3/3 - 0s - loss: 9.3566e-04 - 27ms/epoch - 9ms/step\n",
            "Epoch 114/300\n",
            "3/3 - 0s - loss: 0.0015 - 32ms/epoch - 11ms/step\n",
            "Epoch 115/300\n",
            "3/3 - 0s - loss: 0.0017 - 31ms/epoch - 10ms/step\n",
            "Epoch 116/300\n",
            "3/3 - 0s - loss: 0.0020 - 31ms/epoch - 10ms/step\n",
            "Epoch 117/300\n",
            "3/3 - 0s - loss: 0.0018 - 30ms/epoch - 10ms/step\n",
            "Epoch 118/300\n",
            "3/3 - 0s - loss: 0.0010 - 27ms/epoch - 9ms/step\n",
            "Epoch 119/300\n",
            "3/3 - 0s - loss: 8.8028e-04 - 34ms/epoch - 11ms/step\n",
            "Epoch 120/300\n",
            "3/3 - 0s - loss: 7.2462e-04 - 33ms/epoch - 11ms/step\n",
            "Epoch 121/300\n",
            "3/3 - 0s - loss: 8.0890e-04 - 36ms/epoch - 12ms/step\n",
            "Epoch 122/300\n",
            "3/3 - 0s - loss: 9.8991e-04 - 35ms/epoch - 12ms/step\n",
            "Epoch 123/300\n",
            "3/3 - 0s - loss: 7.1008e-04 - 28ms/epoch - 9ms/step\n",
            "Epoch 124/300\n",
            "3/3 - 0s - loss: 4.9597e-04 - 33ms/epoch - 11ms/step\n",
            "Epoch 125/300\n",
            "3/3 - 0s - loss: 4.7966e-04 - 26ms/epoch - 9ms/step\n",
            "Epoch 126/300\n",
            "3/3 - 0s - loss: 3.0518e-04 - 25ms/epoch - 8ms/step\n",
            "Epoch 127/300\n",
            "3/3 - 0s - loss: 2.7030e-04 - 33ms/epoch - 11ms/step\n",
            "Epoch 128/300\n",
            "3/3 - 0s - loss: 3.4302e-04 - 35ms/epoch - 12ms/step\n",
            "Epoch 129/300\n",
            "3/3 - 0s - loss: 3.2476e-04 - 32ms/epoch - 11ms/step\n",
            "Epoch 130/300\n",
            "3/3 - 0s - loss: 1.6305e-04 - 30ms/epoch - 10ms/step\n",
            "Epoch 131/300\n",
            "3/3 - 0s - loss: 1.8642e-04 - 34ms/epoch - 11ms/step\n",
            "Epoch 132/300\n",
            "3/3 - 0s - loss: 8.2074e-05 - 32ms/epoch - 11ms/step\n",
            "Epoch 133/300\n",
            "3/3 - 0s - loss: 6.5955e-05 - 32ms/epoch - 11ms/step\n",
            "Epoch 134/300\n",
            "3/3 - 0s - loss: 6.8692e-05 - 29ms/epoch - 10ms/step\n",
            "Epoch 135/300\n",
            "3/3 - 0s - loss: 1.1016e-04 - 33ms/epoch - 11ms/step\n",
            "Epoch 136/300\n",
            "3/3 - 0s - loss: 1.4056e-04 - 30ms/epoch - 10ms/step\n",
            "Epoch 137/300\n",
            "3/3 - 0s - loss: 1.0764e-04 - 33ms/epoch - 11ms/step\n",
            "Epoch 138/300\n",
            "3/3 - 0s - loss: 9.8001e-05 - 30ms/epoch - 10ms/step\n",
            "Epoch 139/300\n",
            "3/3 - 0s - loss: 2.1907e-04 - 29ms/epoch - 10ms/step\n",
            "Epoch 140/300\n",
            "3/3 - 0s - loss: 2.4921e-04 - 33ms/epoch - 11ms/step\n",
            "Epoch 141/300\n",
            "3/3 - 0s - loss: 4.0704e-04 - 30ms/epoch - 10ms/step\n",
            "Epoch 142/300\n",
            "3/3 - 0s - loss: 5.5095e-04 - 28ms/epoch - 9ms/step\n",
            "Epoch 143/300\n",
            "3/3 - 0s - loss: 8.7078e-04 - 31ms/epoch - 10ms/step\n",
            "Epoch 144/300\n",
            "3/3 - 0s - loss: 9.0852e-04 - 32ms/epoch - 11ms/step\n",
            "Epoch 145/300\n",
            "3/3 - 0s - loss: 0.0014 - 27ms/epoch - 9ms/step\n",
            "Epoch 146/300\n",
            "3/3 - 0s - loss: 0.0021 - 33ms/epoch - 11ms/step\n",
            "Epoch 147/300\n",
            "3/3 - 0s - loss: 0.0012 - 29ms/epoch - 10ms/step\n",
            "Epoch 148/300\n",
            "3/3 - 0s - loss: 0.0011 - 33ms/epoch - 11ms/step\n",
            "Epoch 149/300\n",
            "3/3 - 0s - loss: 0.0014 - 33ms/epoch - 11ms/step\n",
            "Epoch 150/300\n",
            "3/3 - 0s - loss: 0.0013 - 31ms/epoch - 10ms/step\n",
            "Epoch 151/300\n",
            "3/3 - 0s - loss: 0.0012 - 39ms/epoch - 13ms/step\n",
            "Epoch 152/300\n",
            "3/3 - 0s - loss: 0.0011 - 31ms/epoch - 10ms/step\n",
            "Epoch 153/300\n",
            "3/3 - 0s - loss: 8.8283e-04 - 32ms/epoch - 11ms/step\n",
            "Epoch 154/300\n",
            "3/3 - 0s - loss: 5.0875e-04 - 34ms/epoch - 11ms/step\n",
            "Epoch 155/300\n",
            "3/3 - 0s - loss: 4.6452e-04 - 37ms/epoch - 12ms/step\n",
            "Epoch 156/300\n",
            "3/3 - 0s - loss: 4.4445e-04 - 32ms/epoch - 11ms/step\n",
            "Epoch 157/300\n",
            "3/3 - 0s - loss: 4.5507e-04 - 32ms/epoch - 11ms/step\n",
            "Epoch 158/300\n",
            "3/3 - 0s - loss: 5.0221e-04 - 35ms/epoch - 12ms/step\n",
            "Epoch 159/300\n",
            "3/3 - 0s - loss: 7.1127e-04 - 32ms/epoch - 11ms/step\n",
            "Epoch 160/300\n",
            "3/3 - 0s - loss: 5.3585e-04 - 28ms/epoch - 9ms/step\n",
            "Epoch 161/300\n",
            "3/3 - 0s - loss: 3.0625e-04 - 33ms/epoch - 11ms/step\n",
            "Epoch 162/300\n",
            "3/3 - 0s - loss: 3.6777e-04 - 34ms/epoch - 11ms/step\n",
            "Epoch 163/300\n",
            "3/3 - 0s - loss: 2.5530e-04 - 36ms/epoch - 12ms/step\n",
            "Epoch 164/300\n",
            "3/3 - 0s - loss: 1.7076e-04 - 32ms/epoch - 11ms/step\n",
            "Epoch 165/300\n",
            "3/3 - 0s - loss: 2.1320e-04 - 35ms/epoch - 12ms/step\n",
            "Epoch 166/300\n",
            "3/3 - 0s - loss: 2.7991e-04 - 33ms/epoch - 11ms/step\n",
            "Epoch 167/300\n",
            "3/3 - 0s - loss: 3.3069e-04 - 33ms/epoch - 11ms/step\n",
            "Epoch 168/300\n",
            "3/3 - 0s - loss: 2.9444e-04 - 31ms/epoch - 10ms/step\n",
            "Epoch 169/300\n",
            "3/3 - 0s - loss: 4.0663e-04 - 29ms/epoch - 10ms/step\n",
            "Epoch 170/300\n",
            "3/3 - 0s - loss: 3.3016e-04 - 31ms/epoch - 10ms/step\n",
            "Epoch 171/300\n",
            "3/3 - 0s - loss: 2.0864e-04 - 27ms/epoch - 9ms/step\n",
            "Epoch 172/300\n",
            "3/3 - 0s - loss: 3.1231e-04 - 33ms/epoch - 11ms/step\n",
            "Epoch 173/300\n",
            "3/3 - 0s - loss: 2.9278e-04 - 27ms/epoch - 9ms/step\n",
            "Epoch 174/300\n",
            "3/3 - 0s - loss: 3.0427e-04 - 29ms/epoch - 10ms/step\n",
            "Epoch 175/300\n",
            "3/3 - 0s - loss: 4.5326e-04 - 32ms/epoch - 11ms/step\n",
            "Epoch 176/300\n",
            "3/3 - 0s - loss: 3.3629e-04 - 32ms/epoch - 11ms/step\n",
            "Epoch 177/300\n",
            "3/3 - 0s - loss: 2.4525e-04 - 30ms/epoch - 10ms/step\n",
            "Epoch 178/300\n",
            "3/3 - 0s - loss: 2.5538e-04 - 29ms/epoch - 10ms/step\n",
            "Epoch 179/300\n",
            "3/3 - 0s - loss: 3.3784e-04 - 32ms/epoch - 11ms/step\n",
            "Epoch 180/300\n",
            "3/3 - 0s - loss: 1.9497e-04 - 28ms/epoch - 9ms/step\n",
            "Epoch 181/300\n",
            "3/3 - 0s - loss: 1.9737e-04 - 28ms/epoch - 9ms/step\n",
            "Epoch 182/300\n",
            "3/3 - 0s - loss: 2.2758e-04 - 27ms/epoch - 9ms/step\n",
            "Epoch 183/300\n",
            "3/3 - 0s - loss: 2.9136e-04 - 26ms/epoch - 9ms/step\n",
            "Epoch 184/300\n",
            "3/3 - 0s - loss: 1.1060e-04 - 25ms/epoch - 8ms/step\n",
            "Epoch 185/300\n",
            "3/3 - 0s - loss: 5.0481e-05 - 30ms/epoch - 10ms/step\n",
            "Epoch 186/300\n",
            "3/3 - 0s - loss: 4.0821e-05 - 31ms/epoch - 10ms/step\n",
            "Epoch 187/300\n",
            "3/3 - 0s - loss: 5.7687e-05 - 27ms/epoch - 9ms/step\n",
            "Epoch 188/300\n",
            "3/3 - 0s - loss: 5.1819e-05 - 25ms/epoch - 8ms/step\n",
            "Epoch 189/300\n",
            "3/3 - 0s - loss: 4.4923e-05 - 30ms/epoch - 10ms/step\n",
            "Epoch 190/300\n",
            "3/3 - 0s - loss: 5.0681e-05 - 27ms/epoch - 9ms/step\n",
            "Epoch 191/300\n",
            "3/3 - 0s - loss: 3.9062e-05 - 30ms/epoch - 10ms/step\n",
            "Epoch 192/300\n",
            "3/3 - 0s - loss: 3.1511e-05 - 30ms/epoch - 10ms/step\n",
            "Epoch 193/300\n",
            "3/3 - 0s - loss: 3.9896e-05 - 32ms/epoch - 11ms/step\n",
            "Epoch 194/300\n",
            "3/3 - 0s - loss: 3.6009e-05 - 29ms/epoch - 10ms/step\n",
            "Epoch 195/300\n",
            "3/3 - 0s - loss: 3.8435e-05 - 31ms/epoch - 10ms/step\n",
            "Epoch 196/300\n",
            "3/3 - 0s - loss: 6.6916e-05 - 27ms/epoch - 9ms/step\n",
            "Epoch 197/300\n",
            "3/3 - 0s - loss: 1.2784e-04 - 30ms/epoch - 10ms/step\n",
            "Epoch 198/300\n",
            "3/3 - 0s - loss: 8.5005e-05 - 26ms/epoch - 9ms/step\n",
            "Epoch 199/300\n",
            "3/3 - 0s - loss: 6.0588e-05 - 28ms/epoch - 9ms/step\n",
            "Epoch 200/300\n",
            "3/3 - 0s - loss: 6.8180e-05 - 25ms/epoch - 8ms/step\n",
            "Epoch 201/300\n",
            "3/3 - 0s - loss: 4.7230e-05 - 27ms/epoch - 9ms/step\n",
            "Epoch 202/300\n",
            "3/3 - 0s - loss: 3.8133e-05 - 29ms/epoch - 10ms/step\n",
            "Epoch 203/300\n",
            "3/3 - 0s - loss: 7.4671e-05 - 29ms/epoch - 10ms/step\n",
            "Epoch 204/300\n",
            "3/3 - 0s - loss: 8.1094e-05 - 31ms/epoch - 10ms/step\n",
            "Epoch 205/300\n",
            "3/3 - 0s - loss: 7.8872e-05 - 30ms/epoch - 10ms/step\n",
            "Epoch 206/300\n",
            "3/3 - 0s - loss: 8.7357e-05 - 28ms/epoch - 9ms/step\n",
            "Epoch 207/300\n",
            "3/3 - 0s - loss: 4.8380e-05 - 29ms/epoch - 10ms/step\n",
            "Epoch 208/300\n",
            "3/3 - 0s - loss: 7.0697e-05 - 31ms/epoch - 10ms/step\n",
            "Epoch 209/300\n",
            "3/3 - 0s - loss: 5.2098e-05 - 31ms/epoch - 10ms/step\n",
            "Epoch 210/300\n",
            "3/3 - 0s - loss: 5.4029e-05 - 27ms/epoch - 9ms/step\n",
            "Epoch 211/300\n",
            "3/3 - 0s - loss: 2.8489e-05 - 31ms/epoch - 10ms/step\n",
            "Epoch 212/300\n",
            "3/3 - 0s - loss: 3.3961e-05 - 33ms/epoch - 11ms/step\n",
            "Epoch 213/300\n",
            "3/3 - 0s - loss: 4.1667e-05 - 34ms/epoch - 11ms/step\n",
            "Epoch 214/300\n",
            "3/3 - 0s - loss: 3.7597e-05 - 30ms/epoch - 10ms/step\n",
            "Epoch 215/300\n",
            "3/3 - 0s - loss: 2.7004e-05 - 32ms/epoch - 11ms/step\n",
            "Epoch 216/300\n",
            "3/3 - 0s - loss: 2.9110e-05 - 32ms/epoch - 11ms/step\n",
            "Epoch 217/300\n",
            "3/3 - 0s - loss: 3.6687e-05 - 31ms/epoch - 10ms/step\n",
            "Epoch 218/300\n",
            "3/3 - 0s - loss: 7.2615e-05 - 31ms/epoch - 10ms/step\n",
            "Epoch 219/300\n",
            "3/3 - 0s - loss: 1.0681e-04 - 29ms/epoch - 10ms/step\n",
            "Epoch 220/300\n",
            "3/3 - 0s - loss: 1.9565e-04 - 30ms/epoch - 10ms/step\n",
            "Epoch 221/300\n",
            "3/3 - 0s - loss: 1.9595e-04 - 30ms/epoch - 10ms/step\n",
            "Epoch 222/300\n",
            "3/3 - 0s - loss: 1.7055e-04 - 25ms/epoch - 8ms/step\n",
            "Epoch 223/300\n",
            "3/3 - 0s - loss: 1.4371e-04 - 31ms/epoch - 10ms/step\n",
            "Epoch 224/300\n",
            "3/3 - 0s - loss: 1.0054e-04 - 30ms/epoch - 10ms/step\n",
            "Epoch 225/300\n",
            "3/3 - 0s - loss: 7.8233e-05 - 29ms/epoch - 10ms/step\n",
            "Epoch 226/300\n",
            "3/3 - 0s - loss: 2.0859e-04 - 26ms/epoch - 9ms/step\n",
            "Epoch 227/300\n",
            "3/3 - 0s - loss: 2.3248e-04 - 30ms/epoch - 10ms/step\n",
            "Epoch 228/300\n",
            "3/3 - 0s - loss: 3.5742e-04 - 30ms/epoch - 10ms/step\n",
            "Epoch 229/300\n",
            "3/3 - 0s - loss: 3.2267e-04 - 35ms/epoch - 12ms/step\n",
            "Epoch 230/300\n",
            "3/3 - 0s - loss: 2.6533e-04 - 34ms/epoch - 11ms/step\n",
            "Epoch 231/300\n",
            "3/3 - 0s - loss: 3.3579e-04 - 36ms/epoch - 12ms/step\n",
            "Epoch 232/300\n",
            "3/3 - 0s - loss: 2.2141e-04 - 27ms/epoch - 9ms/step\n",
            "Epoch 233/300\n",
            "3/3 - 0s - loss: 1.3816e-04 - 31ms/epoch - 10ms/step\n",
            "Epoch 234/300\n",
            "3/3 - 0s - loss: 1.2997e-04 - 34ms/epoch - 11ms/step\n",
            "Epoch 235/300\n",
            "3/3 - 0s - loss: 1.2696e-04 - 35ms/epoch - 12ms/step\n",
            "Epoch 236/300\n",
            "3/3 - 0s - loss: 7.3166e-05 - 38ms/epoch - 13ms/step\n",
            "Epoch 237/300\n",
            "3/3 - 0s - loss: 4.9531e-05 - 37ms/epoch - 12ms/step\n",
            "Epoch 238/300\n",
            "3/3 - 0s - loss: 5.9576e-05 - 33ms/epoch - 11ms/step\n",
            "Epoch 239/300\n",
            "3/3 - 0s - loss: 6.9014e-05 - 35ms/epoch - 12ms/step\n",
            "Epoch 240/300\n",
            "3/3 - 0s - loss: 1.2079e-04 - 41ms/epoch - 14ms/step\n",
            "Epoch 241/300\n",
            "3/3 - 0s - loss: 1.0165e-04 - 35ms/epoch - 12ms/step\n",
            "Epoch 242/300\n",
            "3/3 - 0s - loss: 1.1189e-04 - 35ms/epoch - 12ms/step\n",
            "Epoch 243/300\n",
            "3/3 - 0s - loss: 1.2715e-04 - 30ms/epoch - 10ms/step\n",
            "Epoch 244/300\n",
            "3/3 - 0s - loss: 2.3746e-04 - 29ms/epoch - 10ms/step\n",
            "Epoch 245/300\n",
            "3/3 - 0s - loss: 7.2393e-04 - 34ms/epoch - 11ms/step\n",
            "Epoch 246/300\n",
            "3/3 - 0s - loss: 8.1162e-04 - 41ms/epoch - 14ms/step\n",
            "Epoch 247/300\n",
            "3/3 - 0s - loss: 6.6941e-04 - 35ms/epoch - 12ms/step\n",
            "Epoch 248/300\n",
            "3/3 - 0s - loss: 6.1267e-04 - 28ms/epoch - 9ms/step\n",
            "Epoch 249/300\n",
            "3/3 - 0s - loss: 5.4795e-04 - 32ms/epoch - 11ms/step\n",
            "Epoch 250/300\n",
            "3/3 - 0s - loss: 8.4581e-04 - 37ms/epoch - 12ms/step\n",
            "Epoch 251/300\n",
            "3/3 - 0s - loss: 4.3189e-04 - 37ms/epoch - 12ms/step\n",
            "Epoch 252/300\n",
            "3/3 - 0s - loss: 6.3720e-04 - 32ms/epoch - 11ms/step\n",
            "Epoch 253/300\n",
            "3/3 - 0s - loss: 8.4664e-04 - 33ms/epoch - 11ms/step\n",
            "Epoch 254/300\n",
            "3/3 - 0s - loss: 0.0025 - 36ms/epoch - 12ms/step\n",
            "Epoch 255/300\n",
            "3/3 - 0s - loss: 0.0032 - 34ms/epoch - 11ms/step\n",
            "Epoch 256/300\n",
            "3/3 - 0s - loss: 0.0040 - 31ms/epoch - 10ms/step\n",
            "Epoch 257/300\n",
            "3/3 - 0s - loss: 0.0021 - 34ms/epoch - 11ms/step\n",
            "Epoch 258/300\n",
            "3/3 - 0s - loss: 0.0023 - 34ms/epoch - 11ms/step\n",
            "Epoch 259/300\n",
            "3/3 - 0s - loss: 0.0034 - 34ms/epoch - 11ms/step\n",
            "Epoch 260/300\n",
            "3/3 - 0s - loss: 0.0045 - 35ms/epoch - 12ms/step\n",
            "Epoch 261/300\n",
            "3/3 - 0s - loss: 0.0064 - 30ms/epoch - 10ms/step\n",
            "Epoch 262/300\n",
            "3/3 - 0s - loss: 0.0050 - 34ms/epoch - 11ms/step\n",
            "Epoch 263/300\n",
            "3/3 - 0s - loss: 0.0068 - 30ms/epoch - 10ms/step\n",
            "Epoch 264/300\n",
            "3/3 - 0s - loss: 0.0042 - 28ms/epoch - 9ms/step\n",
            "Epoch 265/300\n",
            "3/3 - 0s - loss: 0.0047 - 30ms/epoch - 10ms/step\n",
            "Epoch 266/300\n",
            "3/3 - 0s - loss: 0.0045 - 33ms/epoch - 11ms/step\n",
            "Epoch 267/300\n",
            "3/3 - 0s - loss: 0.0046 - 33ms/epoch - 11ms/step\n",
            "Epoch 268/300\n",
            "3/3 - 0s - loss: 0.0032 - 28ms/epoch - 9ms/step\n",
            "Epoch 269/300\n",
            "3/3 - 0s - loss: 0.0031 - 33ms/epoch - 11ms/step\n",
            "Epoch 270/300\n",
            "3/3 - 0s - loss: 0.0041 - 32ms/epoch - 11ms/step\n",
            "Epoch 271/300\n",
            "3/3 - 0s - loss: 0.0034 - 33ms/epoch - 11ms/step\n",
            "Epoch 272/300\n",
            "3/3 - 0s - loss: 0.0043 - 34ms/epoch - 11ms/step\n",
            "Epoch 273/300\n",
            "3/3 - 0s - loss: 0.0034 - 37ms/epoch - 12ms/step\n",
            "Epoch 274/300\n",
            "3/3 - 0s - loss: 0.0036 - 36ms/epoch - 12ms/step\n",
            "Epoch 275/300\n",
            "3/3 - 0s - loss: 0.0030 - 28ms/epoch - 9ms/step\n",
            "Epoch 276/300\n",
            "3/3 - 0s - loss: 0.0027 - 28ms/epoch - 9ms/step\n",
            "Epoch 277/300\n",
            "3/3 - 0s - loss: 0.0033 - 28ms/epoch - 9ms/step\n",
            "Epoch 278/300\n",
            "3/3 - 0s - loss: 0.0024 - 31ms/epoch - 10ms/step\n",
            "Epoch 279/300\n",
            "3/3 - 0s - loss: 0.0017 - 32ms/epoch - 11ms/step\n",
            "Epoch 280/300\n",
            "3/3 - 0s - loss: 0.0017 - 31ms/epoch - 10ms/step\n",
            "Epoch 281/300\n",
            "3/3 - 0s - loss: 0.0015 - 31ms/epoch - 10ms/step\n",
            "Epoch 282/300\n",
            "3/3 - 0s - loss: 0.0015 - 32ms/epoch - 11ms/step\n",
            "Epoch 283/300\n",
            "3/3 - 0s - loss: 0.0019 - 27ms/epoch - 9ms/step\n",
            "Epoch 284/300\n",
            "3/3 - 0s - loss: 0.0042 - 32ms/epoch - 11ms/step\n",
            "Epoch 285/300\n",
            "3/3 - 0s - loss: 0.0026 - 33ms/epoch - 11ms/step\n",
            "Epoch 286/300\n",
            "3/3 - 0s - loss: 0.0035 - 28ms/epoch - 9ms/step\n",
            "Epoch 287/300\n",
            "3/3 - 0s - loss: 0.0033 - 30ms/epoch - 10ms/step\n",
            "Epoch 288/300\n",
            "3/3 - 0s - loss: 0.0059 - 25ms/epoch - 8ms/step\n",
            "Epoch 289/300\n",
            "3/3 - 0s - loss: 0.0073 - 29ms/epoch - 10ms/step\n",
            "Epoch 290/300\n",
            "3/3 - 0s - loss: 0.0060 - 27ms/epoch - 9ms/step\n",
            "Epoch 291/300\n",
            "3/3 - 0s - loss: 0.0032 - 29ms/epoch - 10ms/step\n",
            "Epoch 292/300\n",
            "3/3 - 0s - loss: 0.0022 - 30ms/epoch - 10ms/step\n",
            "Epoch 293/300\n",
            "3/3 - 0s - loss: 0.0021 - 30ms/epoch - 10ms/step\n",
            "Epoch 294/300\n",
            "3/3 - 0s - loss: 0.0025 - 23ms/epoch - 8ms/step\n",
            "Epoch 295/300\n",
            "3/3 - 0s - loss: 0.0011 - 29ms/epoch - 10ms/step\n",
            "Epoch 296/300\n",
            "3/3 - 0s - loss: 6.3007e-04 - 29ms/epoch - 10ms/step\n",
            "Epoch 297/300\n",
            "3/3 - 0s - loss: 4.8764e-04 - 28ms/epoch - 9ms/step\n",
            "Epoch 298/300\n",
            "3/3 - 0s - loss: 5.1926e-04 - 31ms/epoch - 10ms/step\n",
            "Epoch 299/300\n",
            "3/3 - 0s - loss: 7.6698e-04 - 29ms/epoch - 10ms/step\n",
            "Epoch 300/300\n",
            "3/3 - 0s - loss: 7.6851e-04 - 30ms/epoch - 10ms/step\n",
            "14/14 [==============================] - 0s 4ms/step\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.collections.PathCollection at 0x7cd651d63fa0>"
            ]
          },
          "metadata": {},
          "execution_count": 245
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "seconds = time.time()\n",
        "print(\"Time in seconds since end of run:\", seconds)\n",
        "local_time = time.ctime(seconds)\n",
        "print(local_time)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "YyOarWssKyjN",
        "outputId": "0f574728-7c9f-45c5-8726-02f6eb216021"
      },
      "execution_count": 246,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since end of run: 1709522025.3672624\n",
            "Mon Mar  4 03:13:45 2024\n"
          ]
        }
      ]
    }
  ]
}