2140 lines (2140 with data), 150.1 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": 86,
"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": 87,
"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": "43676e86-e146-466b-b6eb-a12faa54f781",
"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": 88,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Model: \"sequential_14\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" dense_35 (Dense) (None, 1024) 3072 \n",
" \n",
" dense_36 (Dense) (None, 1024) 1049600 \n",
" \n",
" dense_37 (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": "7eb038b7-2b19-4c26-8a7b-1c760beb5d8a",
"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",
" TNLayer(),\n",
" Dense(1, activation=None)])\n",
"tn_model.summary()"
],
"execution_count": 89,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Model: \"sequential_15\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" dense_38 (Dense) (None, 1024) 3072 \n",
" \n",
" tn_layer_21 (TNLayer) (None, 1024) 5120 \n",
" \n",
" tn_layer_22 (TNLayer) (None, 1024) 5120 \n",
" \n",
" tn_layer_23 (TNLayer) (None, 1024) 5120 \n",
" \n",
" dense_39 (Dense) (None, 1) 1025 \n",
" \n",
"=================================================================\n",
"Total params: 19457 (76.00 KB)\n",
"Trainable params: 19457 (76.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": 90,
"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": "ee608a15-d3da-4a89-ee40-8fb3c07865f2"
},
"execution_count": 91,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since beginning of run: 1710205127.4696095\n",
"Tue Mar 12 00:58:47 2024\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "crc0q1vbIyTj",
"outputId": "5ce46428-ed98-4e45-d49a-20497d0b3660",
"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=400, verbose=2)"
],
"execution_count": 92,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Epoch 1/400\n",
"3/3 - 2s - loss: 1.0018 - 2s/epoch - 685ms/step\n",
"Epoch 2/400\n",
"3/3 - 0s - loss: 1.0018 - 17ms/epoch - 6ms/step\n",
"Epoch 3/400\n",
"3/3 - 0s - loss: 1.0007 - 17ms/epoch - 6ms/step\n",
"Epoch 4/400\n",
"3/3 - 0s - loss: 1.0001 - 17ms/epoch - 6ms/step\n",
"Epoch 5/400\n",
"3/3 - 0s - loss: 1.0006 - 17ms/epoch - 6ms/step\n",
"Epoch 6/400\n",
"3/3 - 0s - loss: 0.9997 - 17ms/epoch - 6ms/step\n",
"Epoch 7/400\n",
"3/3 - 0s - loss: 0.9991 - 19ms/epoch - 6ms/step\n",
"Epoch 8/400\n",
"3/3 - 0s - loss: 0.9978 - 18ms/epoch - 6ms/step\n",
"Epoch 9/400\n",
"3/3 - 0s - loss: 0.9946 - 19ms/epoch - 6ms/step\n",
"Epoch 10/400\n",
"3/3 - 0s - loss: 0.9873 - 18ms/epoch - 6ms/step\n",
"Epoch 11/400\n",
"3/3 - 0s - loss: 0.9702 - 18ms/epoch - 6ms/step\n",
"Epoch 12/400\n",
"3/3 - 0s - loss: 0.9332 - 17ms/epoch - 6ms/step\n",
"Epoch 13/400\n",
"3/3 - 0s - loss: 0.8618 - 18ms/epoch - 6ms/step\n",
"Epoch 14/400\n",
"3/3 - 0s - loss: 0.7187 - 19ms/epoch - 6ms/step\n",
"Epoch 15/400\n",
"3/3 - 0s - loss: 0.4604 - 17ms/epoch - 6ms/step\n",
"Epoch 16/400\n",
"3/3 - 0s - loss: 0.1368 - 18ms/epoch - 6ms/step\n",
"Epoch 17/400\n",
"3/3 - 0s - loss: 0.1065 - 19ms/epoch - 6ms/step\n",
"Epoch 18/400\n",
"3/3 - 0s - loss: 0.0901 - 18ms/epoch - 6ms/step\n",
"Epoch 19/400\n",
"3/3 - 0s - loss: 0.0193 - 18ms/epoch - 6ms/step\n",
"Epoch 20/400\n",
"3/3 - 0s - loss: 0.0450 - 19ms/epoch - 6ms/step\n",
"Epoch 21/400\n",
"3/3 - 0s - loss: 0.0507 - 17ms/epoch - 6ms/step\n",
"Epoch 22/400\n",
"3/3 - 0s - loss: 0.0290 - 19ms/epoch - 6ms/step\n",
"Epoch 23/400\n",
"3/3 - 0s - loss: 0.0136 - 19ms/epoch - 6ms/step\n",
"Epoch 24/400\n",
"3/3 - 0s - loss: 0.0176 - 17ms/epoch - 6ms/step\n",
"Epoch 25/400\n",
"3/3 - 0s - loss: 0.0193 - 17ms/epoch - 6ms/step\n",
"Epoch 26/400\n",
"3/3 - 0s - loss: 0.0116 - 18ms/epoch - 6ms/step\n",
"Epoch 27/400\n",
"3/3 - 0s - loss: 0.0091 - 17ms/epoch - 6ms/step\n",
"Epoch 28/400\n",
"3/3 - 0s - loss: 0.0110 - 18ms/epoch - 6ms/step\n",
"Epoch 29/400\n",
"3/3 - 0s - loss: 0.0104 - 17ms/epoch - 6ms/step\n",
"Epoch 30/400\n",
"3/3 - 0s - loss: 0.0078 - 18ms/epoch - 6ms/step\n",
"Epoch 31/400\n",
"3/3 - 0s - loss: 0.0073 - 19ms/epoch - 6ms/step\n",
"Epoch 32/400\n",
"3/3 - 0s - loss: 0.0076 - 16ms/epoch - 5ms/step\n",
"Epoch 33/400\n",
"3/3 - 0s - loss: 0.0071 - 18ms/epoch - 6ms/step\n",
"Epoch 34/400\n",
"3/3 - 0s - loss: 0.0062 - 19ms/epoch - 6ms/step\n",
"Epoch 35/400\n",
"3/3 - 0s - loss: 0.0061 - 17ms/epoch - 6ms/step\n",
"Epoch 36/400\n",
"3/3 - 0s - loss: 0.0061 - 18ms/epoch - 6ms/step\n",
"Epoch 37/400\n",
"3/3 - 0s - loss: 0.0057 - 17ms/epoch - 6ms/step\n",
"Epoch 38/400\n",
"3/3 - 0s - loss: 0.0053 - 18ms/epoch - 6ms/step\n",
"Epoch 39/400\n",
"3/3 - 0s - loss: 0.0052 - 18ms/epoch - 6ms/step\n",
"Epoch 40/400\n",
"3/3 - 0s - loss: 0.0051 - 17ms/epoch - 6ms/step\n",
"Epoch 41/400\n",
"3/3 - 0s - loss: 0.0048 - 17ms/epoch - 6ms/step\n",
"Epoch 42/400\n",
"3/3 - 0s - loss: 0.0046 - 18ms/epoch - 6ms/step\n",
"Epoch 43/400\n",
"3/3 - 0s - loss: 0.0046 - 18ms/epoch - 6ms/step\n",
"Epoch 44/400\n",
"3/3 - 0s - loss: 0.0044 - 19ms/epoch - 6ms/step\n",
"Epoch 45/400\n",
"3/3 - 0s - loss: 0.0042 - 18ms/epoch - 6ms/step\n",
"Epoch 46/400\n",
"3/3 - 0s - loss: 0.0040 - 17ms/epoch - 6ms/step\n",
"Epoch 47/400\n",
"3/3 - 0s - loss: 0.0040 - 18ms/epoch - 6ms/step\n",
"Epoch 48/400\n",
"3/3 - 0s - loss: 0.0039 - 19ms/epoch - 6ms/step\n",
"Epoch 49/400\n",
"3/3 - 0s - loss: 0.0037 - 19ms/epoch - 6ms/step\n",
"Epoch 50/400\n",
"3/3 - 0s - loss: 0.0036 - 18ms/epoch - 6ms/step\n",
"Epoch 51/400\n",
"3/3 - 0s - loss: 0.0035 - 19ms/epoch - 6ms/step\n",
"Epoch 52/400\n",
"3/3 - 0s - loss: 0.0034 - 17ms/epoch - 6ms/step\n",
"Epoch 53/400\n",
"3/3 - 0s - loss: 0.0033 - 20ms/epoch - 7ms/step\n",
"Epoch 54/400\n",
"3/3 - 0s - loss: 0.0032 - 18ms/epoch - 6ms/step\n",
"Epoch 55/400\n",
"3/3 - 0s - loss: 0.0031 - 18ms/epoch - 6ms/step\n",
"Epoch 56/400\n",
"3/3 - 0s - loss: 0.0031 - 17ms/epoch - 6ms/step\n",
"Epoch 57/400\n",
"3/3 - 0s - loss: 0.0030 - 19ms/epoch - 6ms/step\n",
"Epoch 58/400\n",
"3/3 - 0s - loss: 0.0029 - 18ms/epoch - 6ms/step\n",
"Epoch 59/400\n",
"3/3 - 0s - loss: 0.0028 - 18ms/epoch - 6ms/step\n",
"Epoch 60/400\n",
"3/3 - 0s - loss: 0.0027 - 19ms/epoch - 6ms/step\n",
"Epoch 61/400\n",
"3/3 - 0s - loss: 0.0026 - 17ms/epoch - 6ms/step\n",
"Epoch 62/400\n",
"3/3 - 0s - loss: 0.0025 - 20ms/epoch - 7ms/step\n",
"Epoch 63/400\n",
"3/3 - 0s - loss: 0.0025 - 18ms/epoch - 6ms/step\n",
"Epoch 64/400\n",
"3/3 - 0s - loss: 0.0024 - 17ms/epoch - 6ms/step\n",
"Epoch 65/400\n",
"3/3 - 0s - loss: 0.0024 - 18ms/epoch - 6ms/step\n",
"Epoch 66/400\n",
"3/3 - 0s - loss: 0.0023 - 18ms/epoch - 6ms/step\n",
"Epoch 67/400\n",
"3/3 - 0s - loss: 0.0022 - 18ms/epoch - 6ms/step\n",
"Epoch 68/400\n",
"3/3 - 0s - loss: 0.0022 - 17ms/epoch - 6ms/step\n",
"Epoch 69/400\n",
"3/3 - 0s - loss: 0.0021 - 19ms/epoch - 6ms/step\n",
"Epoch 70/400\n",
"3/3 - 0s - loss: 0.0020 - 17ms/epoch - 6ms/step\n",
"Epoch 71/400\n",
"3/3 - 0s - loss: 0.0020 - 17ms/epoch - 6ms/step\n",
"Epoch 72/400\n",
"3/3 - 0s - loss: 0.0019 - 18ms/epoch - 6ms/step\n",
"Epoch 73/400\n",
"3/3 - 0s - loss: 0.0019 - 21ms/epoch - 7ms/step\n",
"Epoch 74/400\n",
"3/3 - 0s - loss: 0.0018 - 18ms/epoch - 6ms/step\n",
"Epoch 75/400\n",
"3/3 - 0s - loss: 0.0018 - 17ms/epoch - 6ms/step\n",
"Epoch 76/400\n",
"3/3 - 0s - loss: 0.0017 - 18ms/epoch - 6ms/step\n",
"Epoch 77/400\n",
"3/3 - 0s - loss: 0.0017 - 18ms/epoch - 6ms/step\n",
"Epoch 78/400\n",
"3/3 - 0s - loss: 0.0016 - 20ms/epoch - 7ms/step\n",
"Epoch 79/400\n",
"3/3 - 0s - loss: 0.0016 - 19ms/epoch - 6ms/step\n",
"Epoch 80/400\n",
"3/3 - 0s - loss: 0.0016 - 17ms/epoch - 6ms/step\n",
"Epoch 81/400\n",
"3/3 - 0s - loss: 0.0015 - 17ms/epoch - 6ms/step\n",
"Epoch 82/400\n",
"3/3 - 0s - loss: 0.0015 - 20ms/epoch - 7ms/step\n",
"Epoch 83/400\n",
"3/3 - 0s - loss: 0.0014 - 18ms/epoch - 6ms/step\n",
"Epoch 84/400\n",
"3/3 - 0s - loss: 0.0014 - 18ms/epoch - 6ms/step\n",
"Epoch 85/400\n",
"3/3 - 0s - loss: 0.0013 - 18ms/epoch - 6ms/step\n",
"Epoch 86/400\n",
"3/3 - 0s - loss: 0.0013 - 18ms/epoch - 6ms/step\n",
"Epoch 87/400\n",
"3/3 - 0s - loss: 0.0013 - 16ms/epoch - 5ms/step\n",
"Epoch 88/400\n",
"3/3 - 0s - loss: 0.0012 - 19ms/epoch - 6ms/step\n",
"Epoch 89/400\n",
"3/3 - 0s - loss: 0.0012 - 18ms/epoch - 6ms/step\n",
"Epoch 90/400\n",
"3/3 - 0s - loss: 0.0012 - 18ms/epoch - 6ms/step\n",
"Epoch 91/400\n",
"3/3 - 0s - loss: 0.0011 - 18ms/epoch - 6ms/step\n",
"Epoch 92/400\n",
"3/3 - 0s - loss: 0.0011 - 17ms/epoch - 6ms/step\n",
"Epoch 93/400\n",
"3/3 - 0s - loss: 0.0010 - 17ms/epoch - 6ms/step\n",
"Epoch 94/400\n",
"3/3 - 0s - loss: 0.0010 - 17ms/epoch - 6ms/step\n",
"Epoch 95/400\n",
"3/3 - 0s - loss: 9.9175e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 96/400\n",
"3/3 - 0s - loss: 9.7160e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 97/400\n",
"3/3 - 0s - loss: 9.1934e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 98/400\n",
"3/3 - 0s - loss: 9.1939e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 99/400\n",
"3/3 - 0s - loss: 8.9917e-04 - 16ms/epoch - 5ms/step\n",
"Epoch 100/400\n",
"3/3 - 0s - loss: 8.5670e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 101/400\n",
"3/3 - 0s - loss: 8.2558e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 102/400\n",
"3/3 - 0s - loss: 8.0836e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 103/400\n",
"3/3 - 0s - loss: 7.7820e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 104/400\n",
"3/3 - 0s - loss: 7.4222e-04 - 16ms/epoch - 5ms/step\n",
"Epoch 105/400\n",
"3/3 - 0s - loss: 7.2910e-04 - 16ms/epoch - 5ms/step\n",
"Epoch 106/400\n",
"3/3 - 0s - loss: 7.1327e-04 - 16ms/epoch - 5ms/step\n",
"Epoch 107/400\n",
"3/3 - 0s - loss: 6.7226e-04 - 16ms/epoch - 5ms/step\n",
"Epoch 108/400\n",
"3/3 - 0s - loss: 6.5387e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 109/400\n",
"3/3 - 0s - loss: 6.3478e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 110/400\n",
"3/3 - 0s - loss: 6.0961e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 111/400\n",
"3/3 - 0s - loss: 5.8166e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 112/400\n",
"3/3 - 0s - loss: 5.8480e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 113/400\n",
"3/3 - 0s - loss: 5.4503e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 114/400\n",
"3/3 - 0s - loss: 5.3062e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 115/400\n",
"3/3 - 0s - loss: 5.2946e-04 - 19ms/epoch - 6ms/step\n",
"Epoch 116/400\n",
"3/3 - 0s - loss: 4.7874e-04 - 19ms/epoch - 6ms/step\n",
"Epoch 117/400\n",
"3/3 - 0s - loss: 4.7114e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 118/400\n",
"3/3 - 0s - loss: 4.5269e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 119/400\n",
"3/3 - 0s - loss: 4.5380e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 120/400\n",
"3/3 - 0s - loss: 4.2536e-04 - 19ms/epoch - 6ms/step\n",
"Epoch 121/400\n",
"3/3 - 0s - loss: 3.9441e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 122/400\n",
"3/3 - 0s - loss: 3.8316e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 123/400\n",
"3/3 - 0s - loss: 3.6812e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 124/400\n",
"3/3 - 0s - loss: 3.6512e-04 - 19ms/epoch - 6ms/step\n",
"Epoch 125/400\n",
"3/3 - 0s - loss: 3.3016e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 126/400\n",
"3/3 - 0s - loss: 3.1494e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 127/400\n",
"3/3 - 0s - loss: 3.1160e-04 - 20ms/epoch - 7ms/step\n",
"Epoch 128/400\n",
"3/3 - 0s - loss: 2.8627e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 129/400\n",
"3/3 - 0s - loss: 2.6777e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 130/400\n",
"3/3 - 0s - loss: 2.6258e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 131/400\n",
"3/3 - 0s - loss: 2.4426e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 132/400\n",
"3/3 - 0s - loss: 2.4068e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 133/400\n",
"3/3 - 0s - loss: 2.2655e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 134/400\n",
"3/3 - 0s - loss: 2.1242e-04 - 19ms/epoch - 6ms/step\n",
"Epoch 135/400\n",
"3/3 - 0s - loss: 2.0196e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 136/400\n",
"3/3 - 0s - loss: 1.9252e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 137/400\n",
"3/3 - 0s - loss: 1.8062e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 138/400\n",
"3/3 - 0s - loss: 1.7509e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 139/400\n",
"3/3 - 0s - loss: 1.6781e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 140/400\n",
"3/3 - 0s - loss: 1.5383e-04 - 18ms/epoch - 6ms/step\n",
"Epoch 141/400\n",
"3/3 - 0s - loss: 1.4289e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 142/400\n",
"3/3 - 0s - loss: 1.3294e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 143/400\n",
"3/3 - 0s - loss: 1.2580e-04 - 19ms/epoch - 6ms/step\n",
"Epoch 144/400\n",
"3/3 - 0s - loss: 1.1927e-04 - 19ms/epoch - 6ms/step\n",
"Epoch 145/400\n",
"3/3 - 0s - loss: 1.1094e-04 - 17ms/epoch - 6ms/step\n",
"Epoch 146/400\n",
"3/3 - 0s - loss: 1.1226e-04 - 19ms/epoch - 6ms/step\n",
"Epoch 147/400\n",
"3/3 - 0s - loss: 9.7595e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 148/400\n",
"3/3 - 0s - loss: 9.3520e-05 - 18ms/epoch - 6ms/step\n",
"Epoch 149/400\n",
"3/3 - 0s - loss: 8.7133e-05 - 18ms/epoch - 6ms/step\n",
"Epoch 150/400\n",
"3/3 - 0s - loss: 8.2338e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 151/400\n",
"3/3 - 0s - loss: 8.4051e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 152/400\n",
"3/3 - 0s - loss: 7.1404e-05 - 16ms/epoch - 5ms/step\n",
"Epoch 153/400\n",
"3/3 - 0s - loss: 6.8557e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 154/400\n",
"3/3 - 0s - loss: 6.2511e-05 - 18ms/epoch - 6ms/step\n",
"Epoch 155/400\n",
"3/3 - 0s - loss: 6.0561e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 156/400\n",
"3/3 - 0s - loss: 5.4933e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 157/400\n",
"3/3 - 0s - loss: 5.1755e-05 - 16ms/epoch - 5ms/step\n",
"Epoch 158/400\n",
"3/3 - 0s - loss: 4.7015e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 159/400\n",
"3/3 - 0s - loss: 4.2376e-05 - 16ms/epoch - 5ms/step\n",
"Epoch 160/400\n",
"3/3 - 0s - loss: 4.2349e-05 - 16ms/epoch - 5ms/step\n",
"Epoch 161/400\n",
"3/3 - 0s - loss: 4.1130e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 162/400\n",
"3/3 - 0s - loss: 3.6309e-05 - 16ms/epoch - 5ms/step\n",
"Epoch 163/400\n",
"3/3 - 0s - loss: 3.4193e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 164/400\n",
"3/3 - 0s - loss: 3.4451e-05 - 18ms/epoch - 6ms/step\n",
"Epoch 165/400\n",
"3/3 - 0s - loss: 2.9192e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 166/400\n",
"3/3 - 0s - loss: 2.7077e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 167/400\n",
"3/3 - 0s - loss: 2.3977e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 168/400\n",
"3/3 - 0s - loss: 2.3505e-05 - 16ms/epoch - 5ms/step\n",
"Epoch 169/400\n",
"3/3 - 0s - loss: 2.1494e-05 - 16ms/epoch - 5ms/step\n",
"Epoch 170/400\n",
"3/3 - 0s - loss: 1.9601e-05 - 18ms/epoch - 6ms/step\n",
"Epoch 171/400\n",
"3/3 - 0s - loss: 1.8738e-05 - 18ms/epoch - 6ms/step\n",
"Epoch 172/400\n",
"3/3 - 0s - loss: 1.7222e-05 - 18ms/epoch - 6ms/step\n",
"Epoch 173/400\n",
"3/3 - 0s - loss: 1.6006e-05 - 18ms/epoch - 6ms/step\n",
"Epoch 174/400\n",
"3/3 - 0s - loss: 1.5306e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 175/400\n",
"3/3 - 0s - loss: 1.4319e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 176/400\n",
"3/3 - 0s - loss: 1.3512e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 177/400\n",
"3/3 - 0s - loss: 1.3253e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 178/400\n",
"3/3 - 0s - loss: 1.0599e-05 - 16ms/epoch - 5ms/step\n",
"Epoch 179/400\n",
"3/3 - 0s - loss: 1.1178e-05 - 17ms/epoch - 6ms/step\n",
"Epoch 180/400\n",
"3/3 - 0s - loss: 9.1475e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 181/400\n",
"3/3 - 0s - loss: 9.3396e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 182/400\n",
"3/3 - 0s - loss: 8.2424e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 183/400\n",
"3/3 - 0s - loss: 7.5882e-06 - 16ms/epoch - 5ms/step\n",
"Epoch 184/400\n",
"3/3 - 0s - loss: 7.2334e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 185/400\n",
"3/3 - 0s - loss: 6.5040e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 186/400\n",
"3/3 - 0s - loss: 6.0464e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 187/400\n",
"3/3 - 0s - loss: 5.6838e-06 - 18ms/epoch - 6ms/step\n",
"Epoch 188/400\n",
"3/3 - 0s - loss: 5.6350e-06 - 16ms/epoch - 5ms/step\n",
"Epoch 189/400\n",
"3/3 - 0s - loss: 4.8108e-06 - 16ms/epoch - 5ms/step\n",
"Epoch 190/400\n",
"3/3 - 0s - loss: 4.7074e-06 - 18ms/epoch - 6ms/step\n",
"Epoch 191/400\n",
"3/3 - 0s - loss: 4.3411e-06 - 18ms/epoch - 6ms/step\n",
"Epoch 192/400\n",
"3/3 - 0s - loss: 3.8214e-06 - 18ms/epoch - 6ms/step\n",
"Epoch 193/400\n",
"3/3 - 0s - loss: 3.8367e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 194/400\n",
"3/3 - 0s - loss: 3.3282e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 195/400\n",
"3/3 - 0s - loss: 3.1114e-06 - 16ms/epoch - 5ms/step\n",
"Epoch 196/400\n",
"3/3 - 0s - loss: 3.0487e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 197/400\n",
"3/3 - 0s - loss: 2.6585e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 198/400\n",
"3/3 - 0s - loss: 2.6784e-06 - 19ms/epoch - 6ms/step\n",
"Epoch 199/400\n",
"3/3 - 0s - loss: 2.4610e-06 - 19ms/epoch - 6ms/step\n",
"Epoch 200/400\n",
"3/3 - 0s - loss: 2.2299e-06 - 18ms/epoch - 6ms/step\n",
"Epoch 201/400\n",
"3/3 - 0s - loss: 2.3534e-06 - 18ms/epoch - 6ms/step\n",
"Epoch 202/400\n",
"3/3 - 0s - loss: 2.0683e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 203/400\n",
"3/3 - 0s - loss: 1.8921e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 204/400\n",
"3/3 - 0s - loss: 1.9061e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 205/400\n",
"3/3 - 0s - loss: 1.6377e-06 - 16ms/epoch - 5ms/step\n",
"Epoch 206/400\n",
"3/3 - 0s - loss: 1.5557e-06 - 18ms/epoch - 6ms/step\n",
"Epoch 207/400\n",
"3/3 - 0s - loss: 1.4975e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 208/400\n",
"3/3 - 0s - loss: 1.4472e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 209/400\n",
"3/3 - 0s - loss: 1.3231e-06 - 18ms/epoch - 6ms/step\n",
"Epoch 210/400\n",
"3/3 - 0s - loss: 1.2137e-06 - 17ms/epoch - 6ms/step\n",
"Epoch 211/400\n",
"3/3 - 0s - loss: 1.0814e-06 - 18ms/epoch - 6ms/step\n",
"Epoch 212/400\n",
"3/3 - 0s - loss: 1.1012e-06 - 18ms/epoch - 6ms/step\n",
"Epoch 213/400\n",
"3/3 - 0s - loss: 1.0367e-06 - 18ms/epoch - 6ms/step\n",
"Epoch 214/400\n",
"3/3 - 0s - loss: 1.0579e-06 - 20ms/epoch - 7ms/step\n",
"Epoch 215/400\n",
"3/3 - 0s - loss: 8.6901e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 216/400\n",
"3/3 - 0s - loss: 9.2759e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 217/400\n",
"3/3 - 0s - loss: 7.7820e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 218/400\n",
"3/3 - 0s - loss: 7.5039e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 219/400\n",
"3/3 - 0s - loss: 6.8642e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 220/400\n",
"3/3 - 0s - loss: 6.7417e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 221/400\n",
"3/3 - 0s - loss: 6.2442e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 222/400\n",
"3/3 - 0s - loss: 6.4821e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 223/400\n",
"3/3 - 0s - loss: 6.0551e-07 - 16ms/epoch - 5ms/step\n",
"Epoch 224/400\n",
"3/3 - 0s - loss: 5.7419e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 225/400\n",
"3/3 - 0s - loss: 5.5595e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 226/400\n",
"3/3 - 0s - loss: 5.1922e-07 - 16ms/epoch - 5ms/step\n",
"Epoch 227/400\n",
"3/3 - 0s - loss: 5.5299e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 228/400\n",
"3/3 - 0s - loss: 5.0953e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 229/400\n",
"3/3 - 0s - loss: 5.3831e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 230/400\n",
"3/3 - 0s - loss: 4.5238e-07 - 20ms/epoch - 7ms/step\n",
"Epoch 231/400\n",
"3/3 - 0s - loss: 5.3890e-07 - 22ms/epoch - 7ms/step\n",
"Epoch 232/400\n",
"3/3 - 0s - loss: 4.1443e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 233/400\n",
"3/3 - 0s - loss: 5.0137e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 234/400\n",
"3/3 - 0s - loss: 4.2846e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 235/400\n",
"3/3 - 0s - loss: 4.2069e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 236/400\n",
"3/3 - 0s - loss: 5.2210e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 237/400\n",
"3/3 - 0s - loss: 4.9140e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 238/400\n",
"3/3 - 0s - loss: 4.2449e-07 - 20ms/epoch - 7ms/step\n",
"Epoch 239/400\n",
"3/3 - 0s - loss: 4.8237e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 240/400\n",
"3/3 - 0s - loss: 4.1727e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 241/400\n",
"3/3 - 0s - loss: 3.8011e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 242/400\n",
"3/3 - 0s - loss: 4.0372e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 243/400\n",
"3/3 - 0s - loss: 3.6880e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 244/400\n",
"3/3 - 0s - loss: 3.5867e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 245/400\n",
"3/3 - 0s - loss: 3.5779e-07 - 20ms/epoch - 7ms/step\n",
"Epoch 246/400\n",
"3/3 - 0s - loss: 3.3445e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 247/400\n",
"3/3 - 0s - loss: 3.2059e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 248/400\n",
"3/3 - 0s - loss: 3.1275e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 249/400\n",
"3/3 - 0s - loss: 3.0808e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 250/400\n",
"3/3 - 0s - loss: 3.0408e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 251/400\n",
"3/3 - 0s - loss: 2.9309e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 252/400\n",
"3/3 - 0s - loss: 3.4348e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 253/400\n",
"3/3 - 0s - loss: 3.1357e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 254/400\n",
"3/3 - 0s - loss: 2.8772e-07 - 20ms/epoch - 7ms/step\n",
"Epoch 255/400\n",
"3/3 - 0s - loss: 3.0372e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 256/400\n",
"3/3 - 0s - loss: 2.7702e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 257/400\n",
"3/3 - 0s - loss: 2.8394e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 258/400\n",
"3/3 - 0s - loss: 2.6677e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 259/400\n",
"3/3 - 0s - loss: 2.8928e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 260/400\n",
"3/3 - 0s - loss: 2.7944e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 261/400\n",
"3/3 - 0s - loss: 3.1606e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 262/400\n",
"3/3 - 0s - loss: 2.5433e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 263/400\n",
"3/3 - 0s - loss: 2.6045e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 264/400\n",
"3/3 - 0s - loss: 2.6014e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 265/400\n",
"3/3 - 0s - loss: 2.4268e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 266/400\n",
"3/3 - 0s - loss: 2.4573e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 267/400\n",
"3/3 - 0s - loss: 2.4149e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 268/400\n",
"3/3 - 0s - loss: 2.4068e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 269/400\n",
"3/3 - 0s - loss: 2.3706e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 270/400\n",
"3/3 - 0s - loss: 2.3918e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 271/400\n",
"3/3 - 0s - loss: 2.4026e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 272/400\n",
"3/3 - 0s - loss: 2.2306e-07 - 21ms/epoch - 7ms/step\n",
"Epoch 273/400\n",
"3/3 - 0s - loss: 2.3760e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 274/400\n",
"3/3 - 0s - loss: 2.4834e-07 - 20ms/epoch - 7ms/step\n",
"Epoch 275/400\n",
"3/3 - 0s - loss: 2.4366e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 276/400\n",
"3/3 - 0s - loss: 2.2627e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 277/400\n",
"3/3 - 0s - loss: 2.5376e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 278/400\n",
"3/3 - 0s - loss: 2.3523e-07 - 20ms/epoch - 7ms/step\n",
"Epoch 279/400\n",
"3/3 - 0s - loss: 2.1522e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 280/400\n",
"3/3 - 0s - loss: 2.2154e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 281/400\n",
"3/3 - 0s - loss: 2.0595e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 282/400\n",
"3/3 - 0s - loss: 2.0932e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 283/400\n",
"3/3 - 0s - loss: 2.1318e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 284/400\n",
"3/3 - 0s - loss: 2.0770e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 285/400\n",
"3/3 - 0s - loss: 2.3224e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 286/400\n",
"3/3 - 0s - loss: 2.0743e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 287/400\n",
"3/3 - 0s - loss: 1.9832e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 288/400\n",
"3/3 - 0s - loss: 2.3544e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 289/400\n",
"3/3 - 0s - loss: 2.0329e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 290/400\n",
"3/3 - 0s - loss: 1.8422e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 291/400\n",
"3/3 - 0s - loss: 2.1591e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 292/400\n",
"3/3 - 0s - loss: 1.8602e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 293/400\n",
"3/3 - 0s - loss: 1.8403e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 294/400\n",
"3/3 - 0s - loss: 1.8101e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 295/400\n",
"3/3 - 0s - loss: 1.7758e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 296/400\n",
"3/3 - 0s - loss: 1.8401e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 297/400\n",
"3/3 - 0s - loss: 1.9147e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 298/400\n",
"3/3 - 0s - loss: 1.7183e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 299/400\n",
"3/3 - 0s - loss: 2.1222e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 300/400\n",
"3/3 - 0s - loss: 1.9317e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 301/400\n",
"3/3 - 0s - loss: 1.8375e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 302/400\n",
"3/3 - 0s - loss: 1.9362e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 303/400\n",
"3/3 - 0s - loss: 2.1317e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 304/400\n",
"3/3 - 0s - loss: 2.1440e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 305/400\n",
"3/3 - 0s - loss: 2.1560e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 306/400\n",
"3/3 - 0s - loss: 2.0397e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 307/400\n",
"3/3 - 0s - loss: 1.9984e-07 - 20ms/epoch - 7ms/step\n",
"Epoch 308/400\n",
"3/3 - 0s - loss: 2.2129e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 309/400\n",
"3/3 - 0s - loss: 2.3031e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 310/400\n",
"3/3 - 0s - loss: 1.7201e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 311/400\n",
"3/3 - 0s - loss: 1.9411e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 312/400\n",
"3/3 - 0s - loss: 1.9448e-07 - 16ms/epoch - 5ms/step\n",
"Epoch 313/400\n",
"3/3 - 0s - loss: 1.6600e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 314/400\n",
"3/3 - 0s - loss: 1.5323e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 315/400\n",
"3/3 - 0s - loss: 1.6354e-07 - 16ms/epoch - 5ms/step\n",
"Epoch 316/400\n",
"3/3 - 0s - loss: 1.5027e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 317/400\n",
"3/3 - 0s - loss: 1.5395e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 318/400\n",
"3/3 - 0s - loss: 1.4699e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 319/400\n",
"3/3 - 0s - loss: 1.4190e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 320/400\n",
"3/3 - 0s - loss: 1.4405e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 321/400\n",
"3/3 - 0s - loss: 1.4744e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 322/400\n",
"3/3 - 0s - loss: 1.4585e-07 - 16ms/epoch - 5ms/step\n",
"Epoch 323/400\n",
"3/3 - 0s - loss: 1.5841e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 324/400\n",
"3/3 - 0s - loss: 1.5570e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 325/400\n",
"3/3 - 0s - loss: 1.4753e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 326/400\n",
"3/3 - 0s - loss: 1.4586e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 327/400\n",
"3/3 - 0s - loss: 1.3731e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 328/400\n",
"3/3 - 0s - loss: 1.4161e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 329/400\n",
"3/3 - 0s - loss: 1.3163e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 330/400\n",
"3/3 - 0s - loss: 1.7134e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 331/400\n",
"3/3 - 0s - loss: 1.9550e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 332/400\n",
"3/3 - 0s - loss: 1.4891e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 333/400\n",
"3/3 - 0s - loss: 1.6563e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 334/400\n",
"3/3 - 0s - loss: 1.4941e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 335/400\n",
"3/3 - 0s - loss: 1.6838e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 336/400\n",
"3/3 - 0s - loss: 1.9736e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 337/400\n",
"3/3 - 0s - loss: 1.1688e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 338/400\n",
"3/3 - 0s - loss: 1.5850e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 339/400\n",
"3/3 - 0s - loss: 1.4288e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 340/400\n",
"3/3 - 0s - loss: 1.3207e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 341/400\n",
"3/3 - 0s - loss: 1.4376e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 342/400\n",
"3/3 - 0s - loss: 1.6759e-07 - 16ms/epoch - 5ms/step\n",
"Epoch 343/400\n",
"3/3 - 0s - loss: 1.4996e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 344/400\n",
"3/3 - 0s - loss: 1.5474e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 345/400\n",
"3/3 - 0s - loss: 1.5305e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 346/400\n",
"3/3 - 0s - loss: 1.5095e-07 - 20ms/epoch - 7ms/step\n",
"Epoch 347/400\n",
"3/3 - 0s - loss: 1.4360e-07 - 16ms/epoch - 5ms/step\n",
"Epoch 348/400\n",
"3/3 - 0s - loss: 1.0976e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 349/400\n",
"3/3 - 0s - loss: 1.2650e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 350/400\n",
"3/3 - 0s - loss: 1.3316e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 351/400\n",
"3/3 - 0s - loss: 1.1045e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 352/400\n",
"3/3 - 0s - loss: 1.1529e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 353/400\n",
"3/3 - 0s - loss: 1.1211e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 354/400\n",
"3/3 - 0s - loss: 1.0878e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 355/400\n",
"3/3 - 0s - loss: 1.1071e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 356/400\n",
"3/3 - 0s - loss: 9.9950e-08 - 17ms/epoch - 6ms/step\n",
"Epoch 357/400\n",
"3/3 - 0s - loss: 1.1369e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 358/400\n",
"3/3 - 0s - loss: 1.2189e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 359/400\n",
"3/3 - 0s - loss: 1.0373e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 360/400\n",
"3/3 - 0s - loss: 1.2454e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 361/400\n",
"3/3 - 0s - loss: 1.3100e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 362/400\n",
"3/3 - 0s - loss: 1.1431e-07 - 16ms/epoch - 5ms/step\n",
"Epoch 363/400\n",
"3/3 - 0s - loss: 1.1297e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 364/400\n",
"3/3 - 0s - loss: 1.3847e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 365/400\n",
"3/3 - 0s - loss: 1.1059e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 366/400\n",
"3/3 - 0s - loss: 1.0736e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 367/400\n",
"3/3 - 0s - loss: 1.1491e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 368/400\n",
"3/3 - 0s - loss: 1.1969e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 369/400\n",
"3/3 - 0s - loss: 9.6771e-08 - 17ms/epoch - 6ms/step\n",
"Epoch 370/400\n",
"3/3 - 0s - loss: 1.1021e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 371/400\n",
"3/3 - 0s - loss: 1.0336e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 372/400\n",
"3/3 - 0s - loss: 1.1251e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 373/400\n",
"3/3 - 0s - loss: 1.1028e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 374/400\n",
"3/3 - 0s - loss: 9.5262e-08 - 17ms/epoch - 6ms/step\n",
"Epoch 375/400\n",
"3/3 - 0s - loss: 1.0350e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 376/400\n",
"3/3 - 0s - loss: 9.3561e-08 - 17ms/epoch - 6ms/step\n",
"Epoch 377/400\n",
"3/3 - 0s - loss: 1.0377e-07 - 16ms/epoch - 5ms/step\n",
"Epoch 378/400\n",
"3/3 - 0s - loss: 9.5911e-08 - 17ms/epoch - 6ms/step\n",
"Epoch 379/400\n",
"3/3 - 0s - loss: 1.0765e-07 - 18ms/epoch - 6ms/step\n",
"Epoch 380/400\n",
"3/3 - 0s - loss: 9.6007e-08 - 17ms/epoch - 6ms/step\n",
"Epoch 381/400\n",
"3/3 - 0s - loss: 1.0157e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 382/400\n",
"3/3 - 0s - loss: 9.6630e-08 - 17ms/epoch - 6ms/step\n",
"Epoch 383/400\n",
"3/3 - 0s - loss: 9.2116e-08 - 18ms/epoch - 6ms/step\n",
"Epoch 384/400\n",
"3/3 - 0s - loss: 9.2046e-08 - 19ms/epoch - 6ms/step\n",
"Epoch 385/400\n",
"3/3 - 0s - loss: 9.8998e-08 - 18ms/epoch - 6ms/step\n",
"Epoch 386/400\n",
"3/3 - 0s - loss: 9.5565e-08 - 19ms/epoch - 6ms/step\n",
"Epoch 387/400\n",
"3/3 - 0s - loss: 1.2183e-07 - 16ms/epoch - 5ms/step\n",
"Epoch 388/400\n",
"3/3 - 0s - loss: 1.1153e-07 - 17ms/epoch - 6ms/step\n",
"Epoch 389/400\n",
"3/3 - 0s - loss: 9.0460e-08 - 17ms/epoch - 6ms/step\n",
"Epoch 390/400\n",
"3/3 - 0s - loss: 9.9698e-08 - 20ms/epoch - 7ms/step\n",
"Epoch 391/400\n",
"3/3 - 0s - loss: 8.3681e-08 - 18ms/epoch - 6ms/step\n",
"Epoch 392/400\n",
"3/3 - 0s - loss: 1.1799e-07 - 19ms/epoch - 6ms/step\n",
"Epoch 393/400\n",
"3/3 - 0s - loss: 8.8952e-08 - 17ms/epoch - 6ms/step\n",
"Epoch 394/400\n",
"3/3 - 0s - loss: 1.0968e-07 - 16ms/epoch - 5ms/step\n",
"Epoch 395/400\n",
"3/3 - 0s - loss: 1.2105e-07 - 16ms/epoch - 5ms/step\n",
"Epoch 396/400\n",
"3/3 - 0s - loss: 7.4285e-08 - 19ms/epoch - 6ms/step\n",
"Epoch 397/400\n",
"3/3 - 0s - loss: 9.1431e-08 - 18ms/epoch - 6ms/step\n",
"Epoch 398/400\n",
"3/3 - 0s - loss: 7.5279e-08 - 19ms/epoch - 6ms/step\n",
"Epoch 399/400\n",
"3/3 - 0s - loss: 8.7076e-08 - 18ms/epoch - 6ms/step\n",
"Epoch 400/400\n",
"3/3 - 0s - loss: 7.7606e-08 - 17ms/epoch - 6ms/step\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<keras.src.callbacks.History at 0x7ec199f42350>"
]
},
"metadata": {},
"execution_count": 92
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "n-aNP4n3sqG_",
"outputId": "d5bd75c3-a33e-41ac-8467-7dee5787b475",
"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": 93,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"14/14 [==============================] - 0s 3ms/step\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7ec199f42590>"
]
},
"metadata": {},
"execution_count": 93
},
{
"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": "09651ec9-4c18-409f-e57d-2b8ed5662295"
},
"execution_count": 94,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since end of run: 1710205140.4637964\n",
"Tue Mar 12 00:59:00 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": "d652faa0-574e-4673-9308-c77656f5103a"
},
"execution_count": 95,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since beginning of run: 1710205140.4777725\n",
"Tue Mar 12 00:59:00 2024\n"
]
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "BMxSJo5gtOmQ"
},
"source": [
"# VS Fully Connected"
]
},
{
"cell_type": "code",
"metadata": {
"id": "NKQx7stYswzU",
"outputId": "235b3508-64b6-404c-c7a1-eb27eda6fbf5",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 15130
}
},
"source": [
"fc_model.compile(optimizer=\"adam\", loss=\"mean_squared_error\")\n",
"fc_model.fit(X, Y, epochs=400, 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": 96,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Epoch 1/400\n",
"3/3 - 1s - loss: 0.5656 - 647ms/epoch - 216ms/step\n",
"Epoch 2/400\n",
"3/3 - 0s - loss: 0.1959 - 24ms/epoch - 8ms/step\n",
"Epoch 3/400\n",
"3/3 - 0s - loss: 0.1423 - 24ms/epoch - 8ms/step\n",
"Epoch 4/400\n",
"3/3 - 0s - loss: 0.0917 - 26ms/epoch - 9ms/step\n",
"Epoch 5/400\n",
"3/3 - 0s - loss: 0.0828 - 24ms/epoch - 8ms/step\n",
"Epoch 6/400\n",
"3/3 - 0s - loss: 0.0827 - 23ms/epoch - 8ms/step\n",
"Epoch 7/400\n",
"3/3 - 0s - loss: 0.0680 - 27ms/epoch - 9ms/step\n",
"Epoch 8/400\n",
"3/3 - 0s - loss: 0.0680 - 27ms/epoch - 9ms/step\n",
"Epoch 9/400\n",
"3/3 - 0s - loss: 0.0605 - 29ms/epoch - 10ms/step\n",
"Epoch 10/400\n",
"3/3 - 0s - loss: 0.0632 - 25ms/epoch - 8ms/step\n",
"Epoch 11/400\n",
"3/3 - 0s - loss: 0.0537 - 29ms/epoch - 10ms/step\n",
"Epoch 12/400\n",
"3/3 - 0s - loss: 0.0523 - 22ms/epoch - 7ms/step\n",
"Epoch 13/400\n",
"3/3 - 0s - loss: 0.0522 - 27ms/epoch - 9ms/step\n",
"Epoch 14/400\n",
"3/3 - 0s - loss: 0.0483 - 24ms/epoch - 8ms/step\n",
"Epoch 15/400\n",
"3/3 - 0s - loss: 0.0498 - 24ms/epoch - 8ms/step\n",
"Epoch 16/400\n",
"3/3 - 0s - loss: 0.0444 - 25ms/epoch - 8ms/step\n",
"Epoch 17/400\n",
"3/3 - 0s - loss: 0.0487 - 24ms/epoch - 8ms/step\n",
"Epoch 18/400\n",
"3/3 - 0s - loss: 0.0467 - 24ms/epoch - 8ms/step\n",
"Epoch 19/400\n",
"3/3 - 0s - loss: 0.0419 - 24ms/epoch - 8ms/step\n",
"Epoch 20/400\n",
"3/3 - 0s - loss: 0.0439 - 26ms/epoch - 9ms/step\n",
"Epoch 21/400\n",
"3/3 - 0s - loss: 0.0406 - 24ms/epoch - 8ms/step\n",
"Epoch 22/400\n",
"3/3 - 0s - loss: 0.0414 - 30ms/epoch - 10ms/step\n",
"Epoch 23/400\n",
"3/3 - 0s - loss: 0.0421 - 25ms/epoch - 8ms/step\n",
"Epoch 24/400\n",
"3/3 - 0s - loss: 0.0378 - 24ms/epoch - 8ms/step\n",
"Epoch 25/400\n",
"3/3 - 0s - loss: 0.0382 - 27ms/epoch - 9ms/step\n",
"Epoch 26/400\n",
"3/3 - 0s - loss: 0.0425 - 24ms/epoch - 8ms/step\n",
"Epoch 27/400\n",
"3/3 - 0s - loss: 0.0505 - 25ms/epoch - 8ms/step\n",
"Epoch 28/400\n",
"3/3 - 0s - loss: 0.0423 - 25ms/epoch - 8ms/step\n",
"Epoch 29/400\n",
"3/3 - 0s - loss: 0.0513 - 26ms/epoch - 9ms/step\n",
"Epoch 30/400\n",
"3/3 - 0s - loss: 0.0385 - 29ms/epoch - 10ms/step\n",
"Epoch 31/400\n",
"3/3 - 0s - loss: 0.0392 - 24ms/epoch - 8ms/step\n",
"Epoch 32/400\n",
"3/3 - 0s - loss: 0.0417 - 27ms/epoch - 9ms/step\n",
"Epoch 33/400\n",
"3/3 - 0s - loss: 0.0414 - 27ms/epoch - 9ms/step\n",
"Epoch 34/400\n",
"3/3 - 0s - loss: 0.0374 - 27ms/epoch - 9ms/step\n",
"Epoch 35/400\n",
"3/3 - 0s - loss: 0.0348 - 26ms/epoch - 9ms/step\n",
"Epoch 36/400\n",
"3/3 - 0s - loss: 0.0319 - 25ms/epoch - 8ms/step\n",
"Epoch 37/400\n",
"3/3 - 0s - loss: 0.0429 - 22ms/epoch - 7ms/step\n",
"Epoch 38/400\n",
"3/3 - 0s - loss: 0.0382 - 25ms/epoch - 8ms/step\n",
"Epoch 39/400\n",
"3/3 - 0s - loss: 0.0266 - 28ms/epoch - 9ms/step\n",
"Epoch 40/400\n",
"3/3 - 0s - loss: 0.0399 - 24ms/epoch - 8ms/step\n",
"Epoch 41/400\n",
"3/3 - 0s - loss: 0.0336 - 30ms/epoch - 10ms/step\n",
"Epoch 42/400\n",
"3/3 - 0s - loss: 0.0293 - 25ms/epoch - 8ms/step\n",
"Epoch 43/400\n",
"3/3 - 0s - loss: 0.0304 - 26ms/epoch - 9ms/step\n",
"Epoch 44/400\n",
"3/3 - 0s - loss: 0.0370 - 25ms/epoch - 8ms/step\n",
"Epoch 45/400\n",
"3/3 - 0s - loss: 0.0295 - 24ms/epoch - 8ms/step\n",
"Epoch 46/400\n",
"3/3 - 0s - loss: 0.0278 - 25ms/epoch - 8ms/step\n",
"Epoch 47/400\n",
"3/3 - 0s - loss: 0.0298 - 25ms/epoch - 8ms/step\n",
"Epoch 48/400\n",
"3/3 - 0s - loss: 0.0244 - 23ms/epoch - 8ms/step\n",
"Epoch 49/400\n",
"3/3 - 0s - loss: 0.0270 - 24ms/epoch - 8ms/step\n",
"Epoch 50/400\n",
"3/3 - 0s - loss: 0.0191 - 22ms/epoch - 7ms/step\n",
"Epoch 51/400\n",
"3/3 - 0s - loss: 0.0257 - 26ms/epoch - 9ms/step\n",
"Epoch 52/400\n",
"3/3 - 0s - loss: 0.0229 - 23ms/epoch - 8ms/step\n",
"Epoch 53/400\n",
"3/3 - 0s - loss: 0.0226 - 23ms/epoch - 8ms/step\n",
"Epoch 54/400\n",
"3/3 - 0s - loss: 0.0251 - 26ms/epoch - 9ms/step\n",
"Epoch 55/400\n",
"3/3 - 0s - loss: 0.0231 - 26ms/epoch - 9ms/step\n",
"Epoch 56/400\n",
"3/3 - 0s - loss: 0.0268 - 22ms/epoch - 7ms/step\n",
"Epoch 57/400\n",
"3/3 - 0s - loss: 0.0274 - 25ms/epoch - 8ms/step\n",
"Epoch 58/400\n",
"3/3 - 0s - loss: 0.0182 - 24ms/epoch - 8ms/step\n",
"Epoch 59/400\n",
"3/3 - 0s - loss: 0.0233 - 26ms/epoch - 9ms/step\n",
"Epoch 60/400\n",
"3/3 - 0s - loss: 0.0189 - 23ms/epoch - 8ms/step\n",
"Epoch 61/400\n",
"3/3 - 0s - loss: 0.0133 - 25ms/epoch - 8ms/step\n",
"Epoch 62/400\n",
"3/3 - 0s - loss: 0.0144 - 25ms/epoch - 8ms/step\n",
"Epoch 63/400\n",
"3/3 - 0s - loss: 0.0157 - 24ms/epoch - 8ms/step\n",
"Epoch 64/400\n",
"3/3 - 0s - loss: 0.0119 - 28ms/epoch - 9ms/step\n",
"Epoch 65/400\n",
"3/3 - 0s - loss: 0.0188 - 23ms/epoch - 8ms/step\n",
"Epoch 66/400\n",
"3/3 - 0s - loss: 0.0130 - 24ms/epoch - 8ms/step\n",
"Epoch 67/400\n",
"3/3 - 0s - loss: 0.0116 - 25ms/epoch - 8ms/step\n",
"Epoch 68/400\n",
"3/3 - 0s - loss: 0.0110 - 24ms/epoch - 8ms/step\n",
"Epoch 69/400\n",
"3/3 - 0s - loss: 0.0073 - 27ms/epoch - 9ms/step\n",
"Epoch 70/400\n",
"3/3 - 0s - loss: 0.0097 - 27ms/epoch - 9ms/step\n",
"Epoch 71/400\n",
"3/3 - 0s - loss: 0.0088 - 23ms/epoch - 8ms/step\n",
"Epoch 72/400\n",
"3/3 - 0s - loss: 0.0063 - 24ms/epoch - 8ms/step\n",
"Epoch 73/400\n",
"3/3 - 0s - loss: 0.0058 - 24ms/epoch - 8ms/step\n",
"Epoch 74/400\n",
"3/3 - 0s - loss: 0.0060 - 26ms/epoch - 9ms/step\n",
"Epoch 75/400\n",
"3/3 - 0s - loss: 0.0094 - 22ms/epoch - 7ms/step\n",
"Epoch 76/400\n",
"3/3 - 0s - loss: 0.0106 - 23ms/epoch - 8ms/step\n",
"Epoch 77/400\n",
"3/3 - 0s - loss: 0.0083 - 24ms/epoch - 8ms/step\n",
"Epoch 78/400\n",
"3/3 - 0s - loss: 0.0048 - 24ms/epoch - 8ms/step\n",
"Epoch 79/400\n",
"3/3 - 0s - loss: 0.0048 - 23ms/epoch - 8ms/step\n",
"Epoch 80/400\n",
"3/3 - 0s - loss: 0.0046 - 27ms/epoch - 9ms/step\n",
"Epoch 81/400\n",
"3/3 - 0s - loss: 0.0029 - 26ms/epoch - 9ms/step\n",
"Epoch 82/400\n",
"3/3 - 0s - loss: 0.0026 - 25ms/epoch - 8ms/step\n",
"Epoch 83/400\n",
"3/3 - 0s - loss: 0.0030 - 26ms/epoch - 9ms/step\n",
"Epoch 84/400\n",
"3/3 - 0s - loss: 0.0032 - 23ms/epoch - 8ms/step\n",
"Epoch 85/400\n",
"3/3 - 0s - loss: 0.0040 - 24ms/epoch - 8ms/step\n",
"Epoch 86/400\n",
"3/3 - 0s - loss: 0.0045 - 24ms/epoch - 8ms/step\n",
"Epoch 87/400\n",
"3/3 - 0s - loss: 0.0047 - 24ms/epoch - 8ms/step\n",
"Epoch 88/400\n",
"3/3 - 0s - loss: 0.0033 - 26ms/epoch - 9ms/step\n",
"Epoch 89/400\n",
"3/3 - 0s - loss: 0.0034 - 25ms/epoch - 8ms/step\n",
"Epoch 90/400\n",
"3/3 - 0s - loss: 0.0083 - 23ms/epoch - 8ms/step\n",
"Epoch 91/400\n",
"3/3 - 0s - loss: 0.0109 - 25ms/epoch - 8ms/step\n",
"Epoch 92/400\n",
"3/3 - 0s - loss: 0.0065 - 26ms/epoch - 9ms/step\n",
"Epoch 93/400\n",
"3/3 - 0s - loss: 0.0046 - 24ms/epoch - 8ms/step\n",
"Epoch 94/400\n",
"3/3 - 0s - loss: 0.0068 - 26ms/epoch - 9ms/step\n",
"Epoch 95/400\n",
"3/3 - 0s - loss: 0.0096 - 24ms/epoch - 8ms/step\n",
"Epoch 96/400\n",
"3/3 - 0s - loss: 0.0103 - 23ms/epoch - 8ms/step\n",
"Epoch 97/400\n",
"3/3 - 0s - loss: 0.0119 - 29ms/epoch - 10ms/step\n",
"Epoch 98/400\n",
"3/3 - 0s - loss: 0.0069 - 27ms/epoch - 9ms/step\n",
"Epoch 99/400\n",
"3/3 - 0s - loss: 0.0075 - 24ms/epoch - 8ms/step\n",
"Epoch 100/400\n",
"3/3 - 0s - loss: 0.0057 - 25ms/epoch - 8ms/step\n",
"Epoch 101/400\n",
"3/3 - 0s - loss: 0.0032 - 27ms/epoch - 9ms/step\n",
"Epoch 102/400\n",
"3/3 - 0s - loss: 0.0039 - 25ms/epoch - 8ms/step\n",
"Epoch 103/400\n",
"3/3 - 0s - loss: 0.0029 - 21ms/epoch - 7ms/step\n",
"Epoch 104/400\n",
"3/3 - 0s - loss: 0.0031 - 24ms/epoch - 8ms/step\n",
"Epoch 105/400\n",
"3/3 - 0s - loss: 0.0021 - 25ms/epoch - 8ms/step\n",
"Epoch 106/400\n",
"3/3 - 0s - loss: 0.0015 - 28ms/epoch - 9ms/step\n",
"Epoch 107/400\n",
"3/3 - 0s - loss: 0.0014 - 25ms/epoch - 8ms/step\n",
"Epoch 108/400\n",
"3/3 - 0s - loss: 0.0013 - 26ms/epoch - 9ms/step\n",
"Epoch 109/400\n",
"3/3 - 0s - loss: 0.0022 - 28ms/epoch - 9ms/step\n",
"Epoch 110/400\n",
"3/3 - 0s - loss: 0.0019 - 26ms/epoch - 9ms/step\n",
"Epoch 111/400\n",
"3/3 - 0s - loss: 0.0020 - 26ms/epoch - 9ms/step\n",
"Epoch 112/400\n",
"3/3 - 0s - loss: 6.9314e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 113/400\n",
"3/3 - 0s - loss: 9.3566e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 114/400\n",
"3/3 - 0s - loss: 0.0015 - 25ms/epoch - 8ms/step\n",
"Epoch 115/400\n",
"3/3 - 0s - loss: 0.0017 - 23ms/epoch - 8ms/step\n",
"Epoch 116/400\n",
"3/3 - 0s - loss: 0.0020 - 23ms/epoch - 8ms/step\n",
"Epoch 117/400\n",
"3/3 - 0s - loss: 0.0018 - 28ms/epoch - 9ms/step\n",
"Epoch 118/400\n",
"3/3 - 0s - loss: 0.0010 - 25ms/epoch - 8ms/step\n",
"Epoch 119/400\n",
"3/3 - 0s - loss: 8.8028e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 120/400\n",
"3/3 - 0s - loss: 7.2462e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 121/400\n",
"3/3 - 0s - loss: 8.0890e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 122/400\n",
"3/3 - 0s - loss: 9.8991e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 123/400\n",
"3/3 - 0s - loss: 7.1008e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 124/400\n",
"3/3 - 0s - loss: 4.9597e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 125/400\n",
"3/3 - 0s - loss: 4.7966e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 126/400\n",
"3/3 - 0s - loss: 3.0518e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 127/400\n",
"3/3 - 0s - loss: 2.7030e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 128/400\n",
"3/3 - 0s - loss: 3.4302e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 129/400\n",
"3/3 - 0s - loss: 3.2476e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 130/400\n",
"3/3 - 0s - loss: 1.6305e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 131/400\n",
"3/3 - 0s - loss: 1.8642e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 132/400\n",
"3/3 - 0s - loss: 8.2074e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 133/400\n",
"3/3 - 0s - loss: 6.5955e-05 - 28ms/epoch - 9ms/step\n",
"Epoch 134/400\n",
"3/3 - 0s - loss: 6.8692e-05 - 24ms/epoch - 8ms/step\n",
"Epoch 135/400\n",
"3/3 - 0s - loss: 1.1016e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 136/400\n",
"3/3 - 0s - loss: 1.4056e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 137/400\n",
"3/3 - 0s - loss: 1.0764e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 138/400\n",
"3/3 - 0s - loss: 9.8001e-05 - 24ms/epoch - 8ms/step\n",
"Epoch 139/400\n",
"3/3 - 0s - loss: 2.1907e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 140/400\n",
"3/3 - 0s - loss: 2.4921e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 141/400\n",
"3/3 - 0s - loss: 4.0704e-04 - 22ms/epoch - 7ms/step\n",
"Epoch 142/400\n",
"3/3 - 0s - loss: 5.5095e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 143/400\n",
"3/3 - 0s - loss: 8.7078e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 144/400\n",
"3/3 - 0s - loss: 9.0852e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 145/400\n",
"3/3 - 0s - loss: 0.0014 - 25ms/epoch - 8ms/step\n",
"Epoch 146/400\n",
"3/3 - 0s - loss: 0.0021 - 25ms/epoch - 8ms/step\n",
"Epoch 147/400\n",
"3/3 - 0s - loss: 0.0012 - 28ms/epoch - 9ms/step\n",
"Epoch 148/400\n",
"3/3 - 0s - loss: 0.0011 - 23ms/epoch - 8ms/step\n",
"Epoch 149/400\n",
"3/3 - 0s - loss: 0.0014 - 27ms/epoch - 9ms/step\n",
"Epoch 150/400\n",
"3/3 - 0s - loss: 0.0013 - 25ms/epoch - 8ms/step\n",
"Epoch 151/400\n",
"3/3 - 0s - loss: 0.0012 - 27ms/epoch - 9ms/step\n",
"Epoch 152/400\n",
"3/3 - 0s - loss: 0.0011 - 25ms/epoch - 8ms/step\n",
"Epoch 153/400\n",
"3/3 - 0s - loss: 8.8283e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 154/400\n",
"3/3 - 0s - loss: 5.0875e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 155/400\n",
"3/3 - 0s - loss: 4.6452e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 156/400\n",
"3/3 - 0s - loss: 4.4445e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 157/400\n",
"3/3 - 0s - loss: 4.5507e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 158/400\n",
"3/3 - 0s - loss: 5.0221e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 159/400\n",
"3/3 - 0s - loss: 7.1127e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 160/400\n",
"3/3 - 0s - loss: 5.3585e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 161/400\n",
"3/3 - 0s - loss: 3.0625e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 162/400\n",
"3/3 - 0s - loss: 3.6777e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 163/400\n",
"3/3 - 0s - loss: 2.5530e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 164/400\n",
"3/3 - 0s - loss: 1.7076e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 165/400\n",
"3/3 - 0s - loss: 2.1320e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 166/400\n",
"3/3 - 0s - loss: 2.7991e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 167/400\n",
"3/3 - 0s - loss: 3.3069e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 168/400\n",
"3/3 - 0s - loss: 2.9444e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 169/400\n",
"3/3 - 0s - loss: 4.0663e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 170/400\n",
"3/3 - 0s - loss: 3.3016e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 171/400\n",
"3/3 - 0s - loss: 2.0864e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 172/400\n",
"3/3 - 0s - loss: 3.1231e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 173/400\n",
"3/3 - 0s - loss: 2.9278e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 174/400\n",
"3/3 - 0s - loss: 3.0427e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 175/400\n",
"3/3 - 0s - loss: 4.5326e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 176/400\n",
"3/3 - 0s - loss: 3.3629e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 177/400\n",
"3/3 - 0s - loss: 2.4525e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 178/400\n",
"3/3 - 0s - loss: 2.5538e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 179/400\n",
"3/3 - 0s - loss: 3.3784e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 180/400\n",
"3/3 - 0s - loss: 1.9497e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 181/400\n",
"3/3 - 0s - loss: 1.9737e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 182/400\n",
"3/3 - 0s - loss: 2.2758e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 183/400\n",
"3/3 - 0s - loss: 2.9136e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 184/400\n",
"3/3 - 0s - loss: 1.1060e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 185/400\n",
"3/3 - 0s - loss: 5.0481e-05 - 23ms/epoch - 8ms/step\n",
"Epoch 186/400\n",
"3/3 - 0s - loss: 4.0821e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 187/400\n",
"3/3 - 0s - loss: 5.7687e-05 - 33ms/epoch - 11ms/step\n",
"Epoch 188/400\n",
"3/3 - 0s - loss: 5.1819e-05 - 25ms/epoch - 8ms/step\n",
"Epoch 189/400\n",
"3/3 - 0s - loss: 4.4923e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 190/400\n",
"3/3 - 0s - loss: 5.0681e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 191/400\n",
"3/3 - 0s - loss: 3.9062e-05 - 25ms/epoch - 8ms/step\n",
"Epoch 192/400\n",
"3/3 - 0s - loss: 3.1511e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 193/400\n",
"3/3 - 0s - loss: 3.9896e-05 - 27ms/epoch - 9ms/step\n",
"Epoch 194/400\n",
"3/3 - 0s - loss: 3.6009e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 195/400\n",
"3/3 - 0s - loss: 3.8435e-05 - 34ms/epoch - 11ms/step\n",
"Epoch 196/400\n",
"3/3 - 0s - loss: 6.6916e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 197/400\n",
"3/3 - 0s - loss: 1.2784e-04 - 32ms/epoch - 11ms/step\n",
"Epoch 198/400\n",
"3/3 - 0s - loss: 8.5005e-05 - 32ms/epoch - 11ms/step\n",
"Epoch 199/400\n",
"3/3 - 0s - loss: 6.0588e-05 - 27ms/epoch - 9ms/step\n",
"Epoch 200/400\n",
"3/3 - 0s - loss: 6.8180e-05 - 27ms/epoch - 9ms/step\n",
"Epoch 201/400\n",
"3/3 - 0s - loss: 4.7230e-05 - 36ms/epoch - 12ms/step\n",
"Epoch 202/400\n",
"3/3 - 0s - loss: 3.8133e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 203/400\n",
"3/3 - 0s - loss: 7.4671e-05 - 37ms/epoch - 12ms/step\n",
"Epoch 204/400\n",
"3/3 - 0s - loss: 8.1094e-05 - 33ms/epoch - 11ms/step\n",
"Epoch 205/400\n",
"3/3 - 0s - loss: 7.8872e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 206/400\n",
"3/3 - 0s - loss: 8.7357e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 207/400\n",
"3/3 - 0s - loss: 4.8380e-05 - 37ms/epoch - 12ms/step\n",
"Epoch 208/400\n",
"3/3 - 0s - loss: 7.0697e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 209/400\n",
"3/3 - 0s - loss: 5.2098e-05 - 31ms/epoch - 10ms/step\n",
"Epoch 210/400\n",
"3/3 - 0s - loss: 5.4029e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 211/400\n",
"3/3 - 0s - loss: 2.8489e-05 - 28ms/epoch - 9ms/step\n",
"Epoch 212/400\n",
"3/3 - 0s - loss: 3.3961e-05 - 31ms/epoch - 10ms/step\n",
"Epoch 213/400\n",
"3/3 - 0s - loss: 4.1667e-05 - 32ms/epoch - 11ms/step\n",
"Epoch 214/400\n",
"3/3 - 0s - loss: 3.7597e-05 - 31ms/epoch - 10ms/step\n",
"Epoch 215/400\n",
"3/3 - 0s - loss: 2.7004e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 216/400\n",
"3/3 - 0s - loss: 2.9110e-05 - 33ms/epoch - 11ms/step\n",
"Epoch 217/400\n",
"3/3 - 0s - loss: 3.6687e-05 - 37ms/epoch - 12ms/step\n",
"Epoch 218/400\n",
"3/3 - 0s - loss: 7.2615e-05 - 34ms/epoch - 11ms/step\n",
"Epoch 219/400\n",
"3/3 - 0s - loss: 1.0681e-04 - 40ms/epoch - 13ms/step\n",
"Epoch 220/400\n",
"3/3 - 0s - loss: 1.9565e-04 - 38ms/epoch - 13ms/step\n",
"Epoch 221/400\n",
"3/3 - 0s - loss: 1.9595e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 222/400\n",
"3/3 - 0s - loss: 1.7055e-04 - 32ms/epoch - 11ms/step\n",
"Epoch 223/400\n",
"3/3 - 0s - loss: 1.4371e-04 - 33ms/epoch - 11ms/step\n",
"Epoch 224/400\n",
"3/3 - 0s - loss: 1.0054e-04 - 32ms/epoch - 11ms/step\n",
"Epoch 225/400\n",
"3/3 - 0s - loss: 7.8233e-05 - 28ms/epoch - 9ms/step\n",
"Epoch 226/400\n",
"3/3 - 0s - loss: 2.0859e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 227/400\n",
"3/3 - 0s - loss: 2.3248e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 228/400\n",
"3/3 - 0s - loss: 3.5742e-04 - 33ms/epoch - 11ms/step\n",
"Epoch 229/400\n",
"3/3 - 0s - loss: 3.2267e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 230/400\n",
"3/3 - 0s - loss: 2.6533e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 231/400\n",
"3/3 - 0s - loss: 3.3579e-04 - 34ms/epoch - 11ms/step\n",
"Epoch 232/400\n",
"3/3 - 0s - loss: 2.2141e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 233/400\n",
"3/3 - 0s - loss: 1.3816e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 234/400\n",
"3/3 - 0s - loss: 1.2997e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 235/400\n",
"3/3 - 0s - loss: 1.2696e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 236/400\n",
"3/3 - 0s - loss: 7.3166e-05 - 32ms/epoch - 11ms/step\n",
"Epoch 237/400\n",
"3/3 - 0s - loss: 4.9531e-05 - 27ms/epoch - 9ms/step\n",
"Epoch 238/400\n",
"3/3 - 0s - loss: 5.9576e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 239/400\n",
"3/3 - 0s - loss: 6.9014e-05 - 27ms/epoch - 9ms/step\n",
"Epoch 240/400\n",
"3/3 - 0s - loss: 1.2079e-04 - 32ms/epoch - 11ms/step\n",
"Epoch 241/400\n",
"3/3 - 0s - loss: 1.0165e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 242/400\n",
"3/3 - 0s - loss: 1.1189e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 243/400\n",
"3/3 - 0s - loss: 1.2715e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 244/400\n",
"3/3 - 0s - loss: 2.3746e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 245/400\n",
"3/3 - 0s - loss: 7.2393e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 246/400\n",
"3/3 - 0s - loss: 8.1162e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 247/400\n",
"3/3 - 0s - loss: 6.6941e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 248/400\n",
"3/3 - 0s - loss: 6.1267e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 249/400\n",
"3/3 - 0s - loss: 5.4795e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 250/400\n",
"3/3 - 0s - loss: 8.4581e-04 - 35ms/epoch - 12ms/step\n",
"Epoch 251/400\n",
"3/3 - 0s - loss: 4.3189e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 252/400\n",
"3/3 - 0s - loss: 6.3720e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 253/400\n",
"3/3 - 0s - loss: 8.4664e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 254/400\n",
"3/3 - 0s - loss: 0.0025 - 30ms/epoch - 10ms/step\n",
"Epoch 255/400\n",
"3/3 - 0s - loss: 0.0032 - 27ms/epoch - 9ms/step\n",
"Epoch 256/400\n",
"3/3 - 0s - loss: 0.0040 - 26ms/epoch - 9ms/step\n",
"Epoch 257/400\n",
"3/3 - 0s - loss: 0.0021 - 31ms/epoch - 10ms/step\n",
"Epoch 258/400\n",
"3/3 - 0s - loss: 0.0023 - 24ms/epoch - 8ms/step\n",
"Epoch 259/400\n",
"3/3 - 0s - loss: 0.0034 - 29ms/epoch - 10ms/step\n",
"Epoch 260/400\n",
"3/3 - 0s - loss: 0.0045 - 26ms/epoch - 9ms/step\n",
"Epoch 261/400\n",
"3/3 - 0s - loss: 0.0064 - 27ms/epoch - 9ms/step\n",
"Epoch 262/400\n",
"3/3 - 0s - loss: 0.0050 - 29ms/epoch - 10ms/step\n",
"Epoch 263/400\n",
"3/3 - 0s - loss: 0.0068 - 30ms/epoch - 10ms/step\n",
"Epoch 264/400\n",
"3/3 - 0s - loss: 0.0042 - 29ms/epoch - 10ms/step\n",
"Epoch 265/400\n",
"3/3 - 0s - loss: 0.0047 - 29ms/epoch - 10ms/step\n",
"Epoch 266/400\n",
"3/3 - 0s - loss: 0.0045 - 31ms/epoch - 10ms/step\n",
"Epoch 267/400\n",
"3/3 - 0s - loss: 0.0046 - 28ms/epoch - 9ms/step\n",
"Epoch 268/400\n",
"3/3 - 0s - loss: 0.0032 - 29ms/epoch - 10ms/step\n",
"Epoch 269/400\n",
"3/3 - 0s - loss: 0.0031 - 28ms/epoch - 9ms/step\n",
"Epoch 270/400\n",
"3/3 - 0s - loss: 0.0041 - 27ms/epoch - 9ms/step\n",
"Epoch 271/400\n",
"3/3 - 0s - loss: 0.0034 - 27ms/epoch - 9ms/step\n",
"Epoch 272/400\n",
"3/3 - 0s - loss: 0.0043 - 27ms/epoch - 9ms/step\n",
"Epoch 273/400\n",
"3/3 - 0s - loss: 0.0034 - 34ms/epoch - 11ms/step\n",
"Epoch 274/400\n",
"3/3 - 0s - loss: 0.0036 - 32ms/epoch - 11ms/step\n",
"Epoch 275/400\n",
"3/3 - 0s - loss: 0.0030 - 32ms/epoch - 11ms/step\n",
"Epoch 276/400\n",
"3/3 - 0s - loss: 0.0027 - 26ms/epoch - 9ms/step\n",
"Epoch 277/400\n",
"3/3 - 0s - loss: 0.0033 - 31ms/epoch - 10ms/step\n",
"Epoch 278/400\n",
"3/3 - 0s - loss: 0.0024 - 24ms/epoch - 8ms/step\n",
"Epoch 279/400\n",
"3/3 - 0s - loss: 0.0017 - 25ms/epoch - 8ms/step\n",
"Epoch 280/400\n",
"3/3 - 0s - loss: 0.0017 - 28ms/epoch - 9ms/step\n",
"Epoch 281/400\n",
"3/3 - 0s - loss: 0.0015 - 35ms/epoch - 12ms/step\n",
"Epoch 282/400\n",
"3/3 - 0s - loss: 0.0015 - 27ms/epoch - 9ms/step\n",
"Epoch 283/400\n",
"3/3 - 0s - loss: 0.0019 - 31ms/epoch - 10ms/step\n",
"Epoch 284/400\n",
"3/3 - 0s - loss: 0.0042 - 29ms/epoch - 10ms/step\n",
"Epoch 285/400\n",
"3/3 - 0s - loss: 0.0026 - 31ms/epoch - 10ms/step\n",
"Epoch 286/400\n",
"3/3 - 0s - loss: 0.0035 - 28ms/epoch - 9ms/step\n",
"Epoch 287/400\n",
"3/3 - 0s - loss: 0.0033 - 31ms/epoch - 10ms/step\n",
"Epoch 288/400\n",
"3/3 - 0s - loss: 0.0059 - 26ms/epoch - 9ms/step\n",
"Epoch 289/400\n",
"3/3 - 0s - loss: 0.0073 - 31ms/epoch - 10ms/step\n",
"Epoch 290/400\n",
"3/3 - 0s - loss: 0.0060 - 30ms/epoch - 10ms/step\n",
"Epoch 291/400\n",
"3/3 - 0s - loss: 0.0032 - 27ms/epoch - 9ms/step\n",
"Epoch 292/400\n",
"3/3 - 0s - loss: 0.0022 - 26ms/epoch - 9ms/step\n",
"Epoch 293/400\n",
"3/3 - 0s - loss: 0.0021 - 31ms/epoch - 10ms/step\n",
"Epoch 294/400\n",
"3/3 - 0s - loss: 0.0025 - 28ms/epoch - 9ms/step\n",
"Epoch 295/400\n",
"3/3 - 0s - loss: 0.0011 - 27ms/epoch - 9ms/step\n",
"Epoch 296/400\n",
"3/3 - 0s - loss: 6.3007e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 297/400\n",
"3/3 - 0s - loss: 4.8764e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 298/400\n",
"3/3 - 0s - loss: 5.1926e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 299/400\n",
"3/3 - 0s - loss: 7.6698e-04 - 32ms/epoch - 11ms/step\n",
"Epoch 300/400\n",
"3/3 - 0s - loss: 7.6851e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 301/400\n",
"3/3 - 0s - loss: 7.3852e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 302/400\n",
"3/3 - 0s - loss: 5.9093e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 303/400\n",
"3/3 - 0s - loss: 5.2005e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 304/400\n",
"3/3 - 0s - loss: 8.6820e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 305/400\n",
"3/3 - 0s - loss: 0.0014 - 26ms/epoch - 9ms/step\n",
"Epoch 306/400\n",
"3/3 - 0s - loss: 0.0011 - 24ms/epoch - 8ms/step\n",
"Epoch 307/400\n",
"3/3 - 0s - loss: 0.0016 - 29ms/epoch - 10ms/step\n",
"Epoch 308/400\n",
"3/3 - 0s - loss: 0.0018 - 26ms/epoch - 9ms/step\n",
"Epoch 309/400\n",
"3/3 - 0s - loss: 0.0013 - 30ms/epoch - 10ms/step\n",
"Epoch 310/400\n",
"3/3 - 0s - loss: 0.0011 - 30ms/epoch - 10ms/step\n",
"Epoch 311/400\n",
"3/3 - 0s - loss: 0.0011 - 27ms/epoch - 9ms/step\n",
"Epoch 312/400\n",
"3/3 - 0s - loss: 8.0266e-04 - 32ms/epoch - 11ms/step\n",
"Epoch 313/400\n",
"3/3 - 0s - loss: 4.5370e-04 - 22ms/epoch - 7ms/step\n",
"Epoch 314/400\n",
"3/3 - 0s - loss: 3.2661e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 315/400\n",
"3/3 - 0s - loss: 3.7869e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 316/400\n",
"3/3 - 0s - loss: 3.3854e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 317/400\n",
"3/3 - 0s - loss: 2.9576e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 318/400\n",
"3/3 - 0s - loss: 3.2977e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 319/400\n",
"3/3 - 0s - loss: 5.7998e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 320/400\n",
"3/3 - 0s - loss: 5.9026e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 321/400\n",
"3/3 - 0s - loss: 8.3968e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 322/400\n",
"3/3 - 0s - loss: 0.0012 - 28ms/epoch - 9ms/step\n",
"Epoch 323/400\n",
"3/3 - 0s - loss: 0.0010 - 26ms/epoch - 9ms/step\n",
"Epoch 324/400\n",
"3/3 - 0s - loss: 0.0012 - 26ms/epoch - 9ms/step\n",
"Epoch 325/400\n",
"3/3 - 0s - loss: 9.7469e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 326/400\n",
"3/3 - 0s - loss: 6.8606e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 327/400\n",
"3/3 - 0s - loss: 7.5367e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 328/400\n",
"3/3 - 0s - loss: 9.4139e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 329/400\n",
"3/3 - 0s - loss: 9.8434e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 330/400\n",
"3/3 - 0s - loss: 7.6078e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 331/400\n",
"3/3 - 0s - loss: 4.7059e-04 - 37ms/epoch - 12ms/step\n",
"Epoch 332/400\n",
"3/3 - 0s - loss: 4.6208e-04 - 36ms/epoch - 12ms/step\n",
"Epoch 333/400\n",
"3/3 - 0s - loss: 9.0345e-04 - 33ms/epoch - 11ms/step\n",
"Epoch 334/400\n",
"3/3 - 0s - loss: 4.2509e-04 - 36ms/epoch - 12ms/step\n",
"Epoch 335/400\n",
"3/3 - 0s - loss: 4.0639e-04 - 38ms/epoch - 13ms/step\n",
"Epoch 336/400\n",
"3/3 - 0s - loss: 2.0134e-04 - 36ms/epoch - 12ms/step\n",
"Epoch 337/400\n",
"3/3 - 0s - loss: 1.6695e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 338/400\n",
"3/3 - 0s - loss: 1.7412e-04 - 41ms/epoch - 14ms/step\n",
"Epoch 339/400\n",
"3/3 - 0s - loss: 1.8951e-04 - 32ms/epoch - 11ms/step\n",
"Epoch 340/400\n",
"3/3 - 0s - loss: 2.1406e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 341/400\n",
"3/3 - 0s - loss: 4.2900e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 342/400\n",
"3/3 - 0s - loss: 2.8856e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 343/400\n",
"3/3 - 0s - loss: 2.6222e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 344/400\n",
"3/3 - 0s - loss: 2.6918e-04 - 33ms/epoch - 11ms/step\n",
"Epoch 345/400\n",
"3/3 - 0s - loss: 2.1942e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 346/400\n",
"3/3 - 0s - loss: 4.9804e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 347/400\n",
"3/3 - 0s - loss: 2.5419e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 348/400\n",
"3/3 - 0s - loss: 2.1331e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 349/400\n",
"3/3 - 0s - loss: 2.8852e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 350/400\n",
"3/3 - 0s - loss: 1.8820e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 351/400\n",
"3/3 - 0s - loss: 1.9960e-04 - 34ms/epoch - 11ms/step\n",
"Epoch 352/400\n",
"3/3 - 0s - loss: 5.1399e-04 - 32ms/epoch - 11ms/step\n",
"Epoch 353/400\n",
"3/3 - 0s - loss: 6.0275e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 354/400\n",
"3/3 - 0s - loss: 6.9778e-04 - 32ms/epoch - 11ms/step\n",
"Epoch 355/400\n",
"3/3 - 0s - loss: 6.6073e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 356/400\n",
"3/3 - 0s - loss: 3.8012e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 357/400\n",
"3/3 - 0s - loss: 3.9308e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 358/400\n",
"3/3 - 0s - loss: 2.4925e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 359/400\n",
"3/3 - 0s - loss: 2.4841e-04 - 32ms/epoch - 11ms/step\n",
"Epoch 360/400\n",
"3/3 - 0s - loss: 1.9365e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 361/400\n",
"3/3 - 0s - loss: 1.5913e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 362/400\n",
"3/3 - 0s - loss: 8.7261e-05 - 34ms/epoch - 11ms/step\n",
"Epoch 363/400\n",
"3/3 - 0s - loss: 1.3214e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 364/400\n",
"3/3 - 0s - loss: 1.1200e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 365/400\n",
"3/3 - 0s - loss: 8.5997e-05 - 25ms/epoch - 8ms/step\n",
"Epoch 366/400\n",
"3/3 - 0s - loss: 1.0082e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 367/400\n",
"3/3 - 0s - loss: 8.8290e-05 - 21ms/epoch - 7ms/step\n",
"Epoch 368/400\n",
"3/3 - 0s - loss: 6.7684e-05 - 23ms/epoch - 8ms/step\n",
"Epoch 369/400\n",
"3/3 - 0s - loss: 8.7257e-05 - 24ms/epoch - 8ms/step\n",
"Epoch 370/400\n",
"3/3 - 0s - loss: 6.2689e-05 - 25ms/epoch - 8ms/step\n",
"Epoch 371/400\n",
"3/3 - 0s - loss: 4.3639e-05 - 25ms/epoch - 8ms/step\n",
"Epoch 372/400\n",
"3/3 - 0s - loss: 4.0352e-05 - 30ms/epoch - 10ms/step\n",
"Epoch 373/400\n",
"3/3 - 0s - loss: 5.7696e-05 - 23ms/epoch - 8ms/step\n",
"Epoch 374/400\n",
"3/3 - 0s - loss: 1.5787e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 375/400\n",
"3/3 - 0s - loss: 1.8431e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 376/400\n",
"3/3 - 0s - loss: 3.0870e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 377/400\n",
"3/3 - 0s - loss: 4.0863e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 378/400\n",
"3/3 - 0s - loss: 3.3507e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 379/400\n",
"3/3 - 0s - loss: 3.6209e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 380/400\n",
"3/3 - 0s - loss: 2.1990e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 381/400\n",
"3/3 - 0s - loss: 3.2797e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 382/400\n",
"3/3 - 0s - loss: 2.7877e-04 - 22ms/epoch - 7ms/step\n",
"Epoch 383/400\n",
"3/3 - 0s - loss: 2.8406e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 384/400\n",
"3/3 - 0s - loss: 2.3757e-04 - 24ms/epoch - 8ms/step\n",
"Epoch 385/400\n",
"3/3 - 0s - loss: 3.9205e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 386/400\n",
"3/3 - 0s - loss: 1.2536e-04 - 21ms/epoch - 7ms/step\n",
"Epoch 387/400\n",
"3/3 - 0s - loss: 1.0487e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 388/400\n",
"3/3 - 0s - loss: 8.6785e-05 - 22ms/epoch - 7ms/step\n",
"Epoch 389/400\n",
"3/3 - 0s - loss: 7.2290e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 390/400\n",
"3/3 - 0s - loss: 1.0353e-04 - 22ms/epoch - 7ms/step\n",
"Epoch 391/400\n",
"3/3 - 0s - loss: 6.3309e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 392/400\n",
"3/3 - 0s - loss: 5.1257e-05 - 22ms/epoch - 7ms/step\n",
"Epoch 393/400\n",
"3/3 - 0s - loss: 9.1437e-05 - 23ms/epoch - 8ms/step\n",
"Epoch 394/400\n",
"3/3 - 0s - loss: 6.5759e-05 - 21ms/epoch - 7ms/step\n",
"Epoch 395/400\n",
"3/3 - 0s - loss: 4.8281e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 396/400\n",
"3/3 - 0s - loss: 1.0294e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 397/400\n",
"3/3 - 0s - loss: 5.3189e-05 - 24ms/epoch - 8ms/step\n",
"Epoch 398/400\n",
"3/3 - 0s - loss: 3.6427e-05 - 23ms/epoch - 8ms/step\n",
"Epoch 399/400\n",
"3/3 - 0s - loss: 5.4985e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 400/400\n",
"3/3 - 0s - loss: 4.5614e-05 - 26ms/epoch - 9ms/step\n",
"14/14 [==============================] - 0s 3ms/step\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7ec198e00b80>"
]
},
"metadata": {},
"execution_count": 96
},
{
"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": "5de8c726-3d5f-462e-d4c8-2b78faecc61e"
},
"execution_count": 97,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since end of run: 1710205153.3424482\n",
"Tue Mar 12 00:59:13 2024\n"
]
}
]
}
]
}