1746 lines (1746 with data), 135.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": 14,
"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": 15,
"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": "90a056b4-9e29-4749-91f3-b9f2d0bc6ea3",
"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": 16,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Model: \"sequential_2\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" dense_5 (Dense) (None, 1024) 3072 \n",
" \n",
" dense_6 (Dense) (None, 1024) 1049600 \n",
" \n",
" dense_7 (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": "7aff2ee8-7679-4248-9ccb-ceb050437a45",
"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",
" TNLayer(),\n",
" TNLayer(),\n",
" Dense(1, activation=None)])\n",
"tn_model.summary()"
],
"execution_count": 17,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Model: \"sequential_3\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" dense_8 (Dense) (None, 1024) 3072 \n",
" \n",
" tn_layer_5 (TNLayer) (None, 1024) 5120 \n",
" \n",
" tn_layer_6 (TNLayer) (None, 1024) 5120 \n",
" \n",
" tn_layer_7 (TNLayer) (None, 1024) 5120 \n",
" \n",
" tn_layer_8 (TNLayer) (None, 1024) 5120 \n",
" \n",
" tn_layer_9 (TNLayer) (None, 1024) 5120 \n",
" \n",
" dense_9 (Dense) (None, 1) 1025 \n",
" \n",
"=================================================================\n",
"Total params: 29697 (116.00 KB)\n",
"Trainable params: 29697 (116.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": 18,
"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": "fcb8cf95-c836-4051-b00a-429f0966c5e5"
},
"execution_count": 19,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since beginning of run: 1710189395.6798\n",
"Mon Mar 11 20:36:35 2024\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "crc0q1vbIyTj",
"outputId": "f712cd85-1f17-448b-f2e9-be3f22998865",
"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": 20,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Epoch 1/300\n",
"3/3 - 3s - loss: 1.0017 - 3s/epoch - 1s/step\n",
"Epoch 2/300\n",
"3/3 - 0s - loss: 1.0016 - 34ms/epoch - 11ms/step\n",
"Epoch 3/300\n",
"3/3 - 0s - loss: 1.0007 - 29ms/epoch - 10ms/step\n",
"Epoch 4/300\n",
"3/3 - 0s - loss: 1.0003 - 26ms/epoch - 9ms/step\n",
"Epoch 5/300\n",
"3/3 - 0s - loss: 1.0008 - 27ms/epoch - 9ms/step\n",
"Epoch 6/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 7/300\n",
"3/3 - 0s - loss: 1.0004 - 27ms/epoch - 9ms/step\n",
"Epoch 8/300\n",
"3/3 - 0s - loss: 1.0006 - 28ms/epoch - 9ms/step\n",
"Epoch 9/300\n",
"3/3 - 0s - loss: 1.0007 - 25ms/epoch - 8ms/step\n",
"Epoch 10/300\n",
"3/3 - 0s - loss: 1.0007 - 27ms/epoch - 9ms/step\n",
"Epoch 11/300\n",
"3/3 - 0s - loss: 1.0005 - 27ms/epoch - 9ms/step\n",
"Epoch 12/300\n",
"3/3 - 0s - loss: 1.0003 - 26ms/epoch - 9ms/step\n",
"Epoch 13/300\n",
"3/3 - 0s - loss: 1.0004 - 27ms/epoch - 9ms/step\n",
"Epoch 14/300\n",
"3/3 - 0s - loss: 1.0001 - 28ms/epoch - 9ms/step\n",
"Epoch 15/300\n",
"3/3 - 0s - loss: 1.0003 - 28ms/epoch - 9ms/step\n",
"Epoch 16/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 17/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 18/300\n",
"3/3 - 0s - loss: 1.0003 - 26ms/epoch - 9ms/step\n",
"Epoch 19/300\n",
"3/3 - 0s - loss: 1.0003 - 25ms/epoch - 8ms/step\n",
"Epoch 20/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 21/300\n",
"3/3 - 0s - loss: 1.0006 - 25ms/epoch - 8ms/step\n",
"Epoch 22/300\n",
"3/3 - 0s - loss: 1.0004 - 26ms/epoch - 9ms/step\n",
"Epoch 23/300\n",
"3/3 - 0s - loss: 1.0002 - 25ms/epoch - 8ms/step\n",
"Epoch 24/300\n",
"3/3 - 0s - loss: 1.0007 - 24ms/epoch - 8ms/step\n",
"Epoch 25/300\n",
"3/3 - 0s - loss: 1.0004 - 27ms/epoch - 9ms/step\n",
"Epoch 26/300\n",
"3/3 - 0s - loss: 1.0000 - 29ms/epoch - 10ms/step\n",
"Epoch 27/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 28/300\n",
"3/3 - 0s - loss: 1.0003 - 29ms/epoch - 10ms/step\n",
"Epoch 29/300\n",
"3/3 - 0s - loss: 1.0003 - 27ms/epoch - 9ms/step\n",
"Epoch 30/300\n",
"3/3 - 0s - loss: 1.0001 - 28ms/epoch - 9ms/step\n",
"Epoch 31/300\n",
"3/3 - 0s - loss: 1.0002 - 28ms/epoch - 9ms/step\n",
"Epoch 32/300\n",
"3/3 - 0s - loss: 1.0001 - 29ms/epoch - 10ms/step\n",
"Epoch 33/300\n",
"3/3 - 0s - loss: 1.0002 - 28ms/epoch - 9ms/step\n",
"Epoch 34/300\n",
"3/3 - 0s - loss: 1.0001 - 28ms/epoch - 9ms/step\n",
"Epoch 35/300\n",
"3/3 - 0s - loss: 1.0003 - 28ms/epoch - 9ms/step\n",
"Epoch 36/300\n",
"3/3 - 0s - loss: 1.0003 - 28ms/epoch - 9ms/step\n",
"Epoch 37/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 38/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 39/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 40/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 41/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 42/300\n",
"3/3 - 0s - loss: 1.0008 - 26ms/epoch - 9ms/step\n",
"Epoch 43/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 44/300\n",
"3/3 - 0s - loss: 1.0000 - 27ms/epoch - 9ms/step\n",
"Epoch 45/300\n",
"3/3 - 0s - loss: 1.0002 - 25ms/epoch - 8ms/step\n",
"Epoch 46/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 47/300\n",
"3/3 - 0s - loss: 1.0009 - 25ms/epoch - 8ms/step\n",
"Epoch 48/300\n",
"3/3 - 0s - loss: 1.0007 - 24ms/epoch - 8ms/step\n",
"Epoch 49/300\n",
"3/3 - 0s - loss: 1.0004 - 24ms/epoch - 8ms/step\n",
"Epoch 50/300\n",
"3/3 - 0s - loss: 1.0003 - 24ms/epoch - 8ms/step\n",
"Epoch 51/300\n",
"3/3 - 0s - loss: 1.0001 - 24ms/epoch - 8ms/step\n",
"Epoch 52/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 53/300\n",
"3/3 - 0s - loss: 1.0001 - 25ms/epoch - 8ms/step\n",
"Epoch 54/300\n",
"3/3 - 0s - loss: 1.0001 - 28ms/epoch - 9ms/step\n",
"Epoch 55/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 56/300\n",
"3/3 - 0s - loss: 1.0002 - 28ms/epoch - 9ms/step\n",
"Epoch 57/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 58/300\n",
"3/3 - 0s - loss: 1.0005 - 27ms/epoch - 9ms/step\n",
"Epoch 59/300\n",
"3/3 - 0s - loss: 1.0002 - 25ms/epoch - 8ms/step\n",
"Epoch 60/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 61/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 62/300\n",
"3/3 - 0s - loss: 1.0001 - 25ms/epoch - 8ms/step\n",
"Epoch 63/300\n",
"3/3 - 0s - loss: 0.9999 - 27ms/epoch - 9ms/step\n",
"Epoch 64/300\n",
"3/3 - 0s - loss: 1.0003 - 29ms/epoch - 10ms/step\n",
"Epoch 65/300\n",
"3/3 - 0s - loss: 1.0002 - 28ms/epoch - 9ms/step\n",
"Epoch 66/300\n",
"3/3 - 0s - loss: 1.0007 - 27ms/epoch - 9ms/step\n",
"Epoch 67/300\n",
"3/3 - 0s - loss: 1.0004 - 26ms/epoch - 9ms/step\n",
"Epoch 68/300\n",
"3/3 - 0s - loss: 1.0010 - 26ms/epoch - 9ms/step\n",
"Epoch 69/300\n",
"3/3 - 0s - loss: 1.0001 - 24ms/epoch - 8ms/step\n",
"Epoch 70/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 71/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 72/300\n",
"3/3 - 0s - loss: 1.0000 - 29ms/epoch - 10ms/step\n",
"Epoch 73/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 74/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 75/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 76/300\n",
"3/3 - 0s - loss: 1.0003 - 27ms/epoch - 9ms/step\n",
"Epoch 77/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 78/300\n",
"3/3 - 0s - loss: 1.0002 - 24ms/epoch - 8ms/step\n",
"Epoch 79/300\n",
"3/3 - 0s - loss: 1.0002 - 28ms/epoch - 9ms/step\n",
"Epoch 80/300\n",
"3/3 - 0s - loss: 1.0011 - 30ms/epoch - 10ms/step\n",
"Epoch 81/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 82/300\n",
"3/3 - 0s - loss: 1.0006 - 26ms/epoch - 9ms/step\n",
"Epoch 83/300\n",
"3/3 - 0s - loss: 1.0005 - 27ms/epoch - 9ms/step\n",
"Epoch 84/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 85/300\n",
"3/3 - 0s - loss: 1.0003 - 25ms/epoch - 8ms/step\n",
"Epoch 86/300\n",
"3/3 - 0s - loss: 1.0009 - 25ms/epoch - 8ms/step\n",
"Epoch 87/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 88/300\n",
"3/3 - 0s - loss: 1.0001 - 23ms/epoch - 8ms/step\n",
"Epoch 89/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 90/300\n",
"3/3 - 0s - loss: 1.0001 - 25ms/epoch - 8ms/step\n",
"Epoch 91/300\n",
"3/3 - 0s - loss: 1.0001 - 25ms/epoch - 8ms/step\n",
"Epoch 92/300\n",
"3/3 - 0s - loss: 1.0000 - 23ms/epoch - 8ms/step\n",
"Epoch 93/300\n",
"3/3 - 0s - loss: 1.0001 - 28ms/epoch - 9ms/step\n",
"Epoch 94/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 95/300\n",
"3/3 - 0s - loss: 1.0001 - 23ms/epoch - 8ms/step\n",
"Epoch 96/300\n",
"3/3 - 0s - loss: 1.0004 - 28ms/epoch - 9ms/step\n",
"Epoch 97/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 98/300\n",
"3/3 - 0s - loss: 1.0002 - 25ms/epoch - 8ms/step\n",
"Epoch 99/300\n",
"3/3 - 0s - loss: 1.0006 - 25ms/epoch - 8ms/step\n",
"Epoch 100/300\n",
"3/3 - 0s - loss: 1.0002 - 25ms/epoch - 8ms/step\n",
"Epoch 101/300\n",
"3/3 - 0s - loss: 0.9999 - 24ms/epoch - 8ms/step\n",
"Epoch 102/300\n",
"3/3 - 0s - loss: 1.0002 - 25ms/epoch - 8ms/step\n",
"Epoch 103/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 104/300\n",
"3/3 - 0s - loss: 1.0004 - 26ms/epoch - 9ms/step\n",
"Epoch 105/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 106/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 107/300\n",
"3/3 - 0s - loss: 1.0001 - 33ms/epoch - 11ms/step\n",
"Epoch 108/300\n",
"3/3 - 0s - loss: 1.0000 - 29ms/epoch - 10ms/step\n",
"Epoch 109/300\n",
"3/3 - 0s - loss: 1.0002 - 28ms/epoch - 9ms/step\n",
"Epoch 110/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 111/300\n",
"3/3 - 0s - loss: 1.0006 - 29ms/epoch - 10ms/step\n",
"Epoch 112/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 113/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 114/300\n",
"3/3 - 0s - loss: 1.0009 - 28ms/epoch - 9ms/step\n",
"Epoch 115/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 116/300\n",
"3/3 - 0s - loss: 1.0000 - 24ms/epoch - 8ms/step\n",
"Epoch 117/300\n",
"3/3 - 0s - loss: 1.0001 - 25ms/epoch - 8ms/step\n",
"Epoch 118/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 119/300\n",
"3/3 - 0s - loss: 1.0000 - 27ms/epoch - 9ms/step\n",
"Epoch 120/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 121/300\n",
"3/3 - 0s - loss: 1.0001 - 25ms/epoch - 8ms/step\n",
"Epoch 122/300\n",
"3/3 - 0s - loss: 1.0003 - 27ms/epoch - 9ms/step\n",
"Epoch 123/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 124/300\n",
"3/3 - 0s - loss: 1.0003 - 26ms/epoch - 9ms/step\n",
"Epoch 125/300\n",
"3/3 - 0s - loss: 1.0001 - 28ms/epoch - 9ms/step\n",
"Epoch 126/300\n",
"3/3 - 0s - loss: 1.0003 - 28ms/epoch - 9ms/step\n",
"Epoch 127/300\n",
"3/3 - 0s - loss: 1.0003 - 25ms/epoch - 8ms/step\n",
"Epoch 128/300\n",
"3/3 - 0s - loss: 1.0005 - 30ms/epoch - 10ms/step\n",
"Epoch 129/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 130/300\n",
"3/3 - 0s - loss: 1.0003 - 27ms/epoch - 9ms/step\n",
"Epoch 131/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 132/300\n",
"3/3 - 0s - loss: 1.0002 - 24ms/epoch - 8ms/step\n",
"Epoch 133/300\n",
"3/3 - 0s - loss: 1.0004 - 26ms/epoch - 9ms/step\n",
"Epoch 134/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 135/300\n",
"3/3 - 0s - loss: 1.0003 - 27ms/epoch - 9ms/step\n",
"Epoch 136/300\n",
"3/3 - 0s - loss: 1.0002 - 25ms/epoch - 8ms/step\n",
"Epoch 137/300\n",
"3/3 - 0s - loss: 1.0003 - 26ms/epoch - 9ms/step\n",
"Epoch 138/300\n",
"3/3 - 0s - loss: 1.0001 - 24ms/epoch - 8ms/step\n",
"Epoch 139/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 140/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 141/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 142/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 143/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 144/300\n",
"3/3 - 0s - loss: 0.9999 - 25ms/epoch - 8ms/step\n",
"Epoch 145/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 146/300\n",
"3/3 - 0s - loss: 0.9999 - 26ms/epoch - 9ms/step\n",
"Epoch 147/300\n",
"3/3 - 0s - loss: 1.0002 - 29ms/epoch - 10ms/step\n",
"Epoch 148/300\n",
"3/3 - 0s - loss: 1.0001 - 29ms/epoch - 10ms/step\n",
"Epoch 149/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 150/300\n",
"3/3 - 0s - loss: 1.0003 - 28ms/epoch - 9ms/step\n",
"Epoch 151/300\n",
"3/3 - 0s - loss: 1.0003 - 29ms/epoch - 10ms/step\n",
"Epoch 152/300\n",
"3/3 - 0s - loss: 1.0003 - 26ms/epoch - 9ms/step\n",
"Epoch 153/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 154/300\n",
"3/3 - 0s - loss: 1.0002 - 28ms/epoch - 9ms/step\n",
"Epoch 155/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 156/300\n",
"3/3 - 0s - loss: 1.0001 - 25ms/epoch - 8ms/step\n",
"Epoch 157/300\n",
"3/3 - 0s - loss: 1.0001 - 30ms/epoch - 10ms/step\n",
"Epoch 158/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 159/300\n",
"3/3 - 0s - loss: 1.0000 - 24ms/epoch - 8ms/step\n",
"Epoch 160/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 161/300\n",
"3/3 - 0s - loss: 1.0000 - 27ms/epoch - 9ms/step\n",
"Epoch 162/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 163/300\n",
"3/3 - 0s - loss: 1.0001 - 25ms/epoch - 8ms/step\n",
"Epoch 164/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 165/300\n",
"3/3 - 0s - loss: 1.0000 - 27ms/epoch - 9ms/step\n",
"Epoch 166/300\n",
"3/3 - 0s - loss: 1.0000 - 31ms/epoch - 10ms/step\n",
"Epoch 167/300\n",
"3/3 - 0s - loss: 1.0000 - 27ms/epoch - 9ms/step\n",
"Epoch 168/300\n",
"3/3 - 0s - loss: 1.0001 - 28ms/epoch - 9ms/step\n",
"Epoch 169/300\n",
"3/3 - 0s - loss: 1.0001 - 28ms/epoch - 9ms/step\n",
"Epoch 170/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 171/300\n",
"3/3 - 0s - loss: 1.0002 - 28ms/epoch - 9ms/step\n",
"Epoch 172/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 173/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 174/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 175/300\n",
"3/3 - 0s - loss: 1.0002 - 25ms/epoch - 8ms/step\n",
"Epoch 176/300\n",
"3/3 - 0s - loss: 1.0002 - 25ms/epoch - 8ms/step\n",
"Epoch 177/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 178/300\n",
"3/3 - 0s - loss: 1.0003 - 27ms/epoch - 9ms/step\n",
"Epoch 179/300\n",
"3/3 - 0s - loss: 1.0001 - 24ms/epoch - 8ms/step\n",
"Epoch 180/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 181/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 182/300\n",
"3/3 - 0s - loss: 1.0001 - 24ms/epoch - 8ms/step\n",
"Epoch 183/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 184/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 185/300\n",
"3/3 - 0s - loss: 1.0002 - 24ms/epoch - 8ms/step\n",
"Epoch 186/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 187/300\n",
"3/3 - 0s - loss: 1.0001 - 24ms/epoch - 8ms/step\n",
"Epoch 188/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 189/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 190/300\n",
"3/3 - 0s - loss: 1.0000 - 23ms/epoch - 8ms/step\n",
"Epoch 191/300\n",
"3/3 - 0s - loss: 1.0000 - 24ms/epoch - 8ms/step\n",
"Epoch 192/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 193/300\n",
"3/3 - 0s - loss: 1.0001 - 24ms/epoch - 8ms/step\n",
"Epoch 194/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 195/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 196/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 197/300\n",
"3/3 - 0s - loss: 0.9999 - 27ms/epoch - 9ms/step\n",
"Epoch 198/300\n",
"3/3 - 0s - loss: 0.9999 - 25ms/epoch - 8ms/step\n",
"Epoch 199/300\n",
"3/3 - 0s - loss: 1.0004 - 25ms/epoch - 8ms/step\n",
"Epoch 200/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 201/300\n",
"3/3 - 0s - loss: 1.0002 - 25ms/epoch - 8ms/step\n",
"Epoch 202/300\n",
"3/3 - 0s - loss: 1.0002 - 24ms/epoch - 8ms/step\n",
"Epoch 203/300\n",
"3/3 - 0s - loss: 1.0002 - 25ms/epoch - 8ms/step\n",
"Epoch 204/300\n",
"3/3 - 0s - loss: 1.0002 - 25ms/epoch - 8ms/step\n",
"Epoch 205/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 206/300\n",
"3/3 - 0s - loss: 1.0001 - 25ms/epoch - 8ms/step\n",
"Epoch 207/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 208/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 209/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 210/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 211/300\n",
"3/3 - 0s - loss: 1.0003 - 26ms/epoch - 9ms/step\n",
"Epoch 212/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 213/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 214/300\n",
"3/3 - 0s - loss: 1.0001 - 29ms/epoch - 10ms/step\n",
"Epoch 215/300\n",
"3/3 - 0s - loss: 1.0000 - 31ms/epoch - 10ms/step\n",
"Epoch 216/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 217/300\n",
"3/3 - 0s - loss: 1.0002 - 29ms/epoch - 10ms/step\n",
"Epoch 218/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 219/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 220/300\n",
"3/3 - 0s - loss: 1.0001 - 28ms/epoch - 9ms/step\n",
"Epoch 221/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 222/300\n",
"3/3 - 0s - loss: 1.0001 - 25ms/epoch - 8ms/step\n",
"Epoch 223/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 224/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 225/300\n",
"3/3 - 0s - loss: 1.0002 - 28ms/epoch - 9ms/step\n",
"Epoch 226/300\n",
"3/3 - 0s - loss: 1.0002 - 26ms/epoch - 9ms/step\n",
"Epoch 227/300\n",
"3/3 - 0s - loss: 1.0001 - 30ms/epoch - 10ms/step\n",
"Epoch 228/300\n",
"3/3 - 0s - loss: 1.0001 - 30ms/epoch - 10ms/step\n",
"Epoch 229/300\n",
"3/3 - 0s - loss: 1.0002 - 28ms/epoch - 9ms/step\n",
"Epoch 230/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 231/300\n",
"3/3 - 0s - loss: 1.0002 - 28ms/epoch - 9ms/step\n",
"Epoch 232/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 233/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 234/300\n",
"3/3 - 0s - loss: 1.0002 - 29ms/epoch - 10ms/step\n",
"Epoch 235/300\n",
"3/3 - 0s - loss: 1.0004 - 28ms/epoch - 9ms/step\n",
"Epoch 236/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 237/300\n",
"3/3 - 0s - loss: 1.0001 - 28ms/epoch - 9ms/step\n",
"Epoch 238/300\n",
"3/3 - 0s - loss: 0.9999 - 27ms/epoch - 9ms/step\n",
"Epoch 239/300\n",
"3/3 - 0s - loss: 1.0005 - 29ms/epoch - 10ms/step\n",
"Epoch 240/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 241/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 242/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 243/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 244/300\n",
"3/3 - 0s - loss: 1.0001 - 28ms/epoch - 9ms/step\n",
"Epoch 245/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 246/300\n",
"3/3 - 0s - loss: 1.0001 - 31ms/epoch - 10ms/step\n",
"Epoch 247/300\n",
"3/3 - 0s - loss: 1.0002 - 27ms/epoch - 9ms/step\n",
"Epoch 248/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 249/300\n",
"3/3 - 0s - loss: 1.0002 - 28ms/epoch - 9ms/step\n",
"Epoch 250/300\n",
"3/3 - 0s - loss: 1.0001 - 29ms/epoch - 10ms/step\n",
"Epoch 251/300\n",
"3/3 - 0s - loss: 1.0001 - 28ms/epoch - 9ms/step\n",
"Epoch 252/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 253/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 254/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 255/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 256/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 257/300\n",
"3/3 - 0s - loss: 1.0000 - 29ms/epoch - 10ms/step\n",
"Epoch 258/300\n",
"3/3 - 0s - loss: 1.0001 - 29ms/epoch - 10ms/step\n",
"Epoch 259/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 260/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 261/300\n",
"3/3 - 0s - loss: 1.0000 - 31ms/epoch - 10ms/step\n",
"Epoch 262/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 263/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 264/300\n",
"3/3 - 0s - loss: 1.0000 - 29ms/epoch - 10ms/step\n",
"Epoch 265/300\n",
"3/3 - 0s - loss: 1.0000 - 27ms/epoch - 9ms/step\n",
"Epoch 266/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 267/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 268/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 269/300\n",
"3/3 - 0s - loss: 1.0000 - 30ms/epoch - 10ms/step\n",
"Epoch 270/300\n",
"3/3 - 0s - loss: 1.0000 - 27ms/epoch - 9ms/step\n",
"Epoch 271/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 272/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 273/300\n",
"3/3 - 0s - loss: 1.0001 - 26ms/epoch - 9ms/step\n",
"Epoch 274/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 275/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 276/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 277/300\n",
"3/3 - 0s - loss: 1.0000 - 23ms/epoch - 8ms/step\n",
"Epoch 278/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 279/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 280/300\n",
"3/3 - 0s - loss: 1.0002 - 30ms/epoch - 10ms/step\n",
"Epoch 281/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 282/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 283/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 284/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 285/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 286/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 287/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 288/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 289/300\n",
"3/3 - 0s - loss: 1.0000 - 27ms/epoch - 9ms/step\n",
"Epoch 290/300\n",
"3/3 - 0s - loss: 1.0000 - 28ms/epoch - 9ms/step\n",
"Epoch 291/300\n",
"3/3 - 0s - loss: 1.0001 - 25ms/epoch - 8ms/step\n",
"Epoch 292/300\n",
"3/3 - 0s - loss: 1.0001 - 27ms/epoch - 9ms/step\n",
"Epoch 293/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 294/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n",
"Epoch 295/300\n",
"3/3 - 0s - loss: 1.0001 - 24ms/epoch - 8ms/step\n",
"Epoch 296/300\n",
"3/3 - 0s - loss: 1.0000 - 25ms/epoch - 8ms/step\n",
"Epoch 297/300\n",
"3/3 - 0s - loss: 1.0000 - 27ms/epoch - 9ms/step\n",
"Epoch 298/300\n",
"3/3 - 0s - loss: 1.0000 - 24ms/epoch - 8ms/step\n",
"Epoch 299/300\n",
"3/3 - 0s - loss: 1.0000 - 27ms/epoch - 9ms/step\n",
"Epoch 300/300\n",
"3/3 - 0s - loss: 1.0000 - 26ms/epoch - 9ms/step\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<keras.src.callbacks.History at 0x7ded6d5e48e0>"
]
},
"metadata": {},
"execution_count": 20
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "n-aNP4n3sqG_",
"outputId": "f4a7fada-a317-4b93-e728-379694820c41",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 442
}
},
"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": 21,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"14/14 [==============================] - 1s 6ms/step\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7ded32666410>"
]
},
"metadata": {},
"execution_count": 21
},
{
"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": "2407ba02-a5b8-4856-981f-695252f602fb"
},
"execution_count": 22,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since end of run: 1710189408.726861\n",
"Mon Mar 11 20:36:48 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": "f63af358-1de8-49fe-8a2b-1d231f77dc6f"
},
"execution_count": 23,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since beginning of run: 1710189408.7396111\n",
"Mon Mar 11 20:36:48 2024\n"
]
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "BMxSJo5gtOmQ"
},
"source": [
"# VS Fully Connected"
]
},
{
"cell_type": "code",
"metadata": {
"id": "NKQx7stYswzU",
"outputId": "9448eaca-166b-4dfe-a23c-321905df632c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 11384
}
},
"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": 24,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Epoch 1/300\n",
"3/3 - 1s - loss: 0.5656 - 683ms/epoch - 228ms/step\n",
"Epoch 2/300\n",
"3/3 - 0s - loss: 0.1959 - 31ms/epoch - 10ms/step\n",
"Epoch 3/300\n",
"3/3 - 0s - loss: 0.1423 - 32ms/epoch - 11ms/step\n",
"Epoch 4/300\n",
"3/3 - 0s - loss: 0.0917 - 24ms/epoch - 8ms/step\n",
"Epoch 5/300\n",
"3/3 - 0s - loss: 0.0828 - 27ms/epoch - 9ms/step\n",
"Epoch 6/300\n",
"3/3 - 0s - loss: 0.0827 - 27ms/epoch - 9ms/step\n",
"Epoch 7/300\n",
"3/3 - 0s - loss: 0.0680 - 29ms/epoch - 10ms/step\n",
"Epoch 8/300\n",
"3/3 - 0s - loss: 0.0680 - 27ms/epoch - 9ms/step\n",
"Epoch 9/300\n",
"3/3 - 0s - loss: 0.0605 - 26ms/epoch - 9ms/step\n",
"Epoch 10/300\n",
"3/3 - 0s - loss: 0.0632 - 33ms/epoch - 11ms/step\n",
"Epoch 11/300\n",
"3/3 - 0s - loss: 0.0537 - 24ms/epoch - 8ms/step\n",
"Epoch 12/300\n",
"3/3 - 0s - loss: 0.0523 - 26ms/epoch - 9ms/step\n",
"Epoch 13/300\n",
"3/3 - 0s - loss: 0.0522 - 29ms/epoch - 10ms/step\n",
"Epoch 14/300\n",
"3/3 - 0s - loss: 0.0483 - 30ms/epoch - 10ms/step\n",
"Epoch 15/300\n",
"3/3 - 0s - loss: 0.0498 - 32ms/epoch - 11ms/step\n",
"Epoch 16/300\n",
"3/3 - 0s - loss: 0.0444 - 32ms/epoch - 11ms/step\n",
"Epoch 17/300\n",
"3/3 - 0s - loss: 0.0487 - 24ms/epoch - 8ms/step\n",
"Epoch 18/300\n",
"3/3 - 0s - loss: 0.0467 - 29ms/epoch - 10ms/step\n",
"Epoch 19/300\n",
"3/3 - 0s - loss: 0.0419 - 30ms/epoch - 10ms/step\n",
"Epoch 20/300\n",
"3/3 - 0s - loss: 0.0439 - 27ms/epoch - 9ms/step\n",
"Epoch 21/300\n",
"3/3 - 0s - loss: 0.0406 - 26ms/epoch - 9ms/step\n",
"Epoch 22/300\n",
"3/3 - 0s - loss: 0.0414 - 27ms/epoch - 9ms/step\n",
"Epoch 23/300\n",
"3/3 - 0s - loss: 0.0421 - 29ms/epoch - 10ms/step\n",
"Epoch 24/300\n",
"3/3 - 0s - loss: 0.0378 - 29ms/epoch - 10ms/step\n",
"Epoch 25/300\n",
"3/3 - 0s - loss: 0.0382 - 26ms/epoch - 9ms/step\n",
"Epoch 26/300\n",
"3/3 - 0s - loss: 0.0425 - 36ms/epoch - 12ms/step\n",
"Epoch 27/300\n",
"3/3 - 0s - loss: 0.0505 - 27ms/epoch - 9ms/step\n",
"Epoch 28/300\n",
"3/3 - 0s - loss: 0.0423 - 32ms/epoch - 11ms/step\n",
"Epoch 29/300\n",
"3/3 - 0s - loss: 0.0513 - 27ms/epoch - 9ms/step\n",
"Epoch 30/300\n",
"3/3 - 0s - loss: 0.0385 - 34ms/epoch - 11ms/step\n",
"Epoch 31/300\n",
"3/3 - 0s - loss: 0.0392 - 25ms/epoch - 8ms/step\n",
"Epoch 32/300\n",
"3/3 - 0s - loss: 0.0417 - 28ms/epoch - 9ms/step\n",
"Epoch 33/300\n",
"3/3 - 0s - loss: 0.0414 - 28ms/epoch - 9ms/step\n",
"Epoch 34/300\n",
"3/3 - 0s - loss: 0.0374 - 29ms/epoch - 10ms/step\n",
"Epoch 35/300\n",
"3/3 - 0s - loss: 0.0348 - 27ms/epoch - 9ms/step\n",
"Epoch 36/300\n",
"3/3 - 0s - loss: 0.0319 - 30ms/epoch - 10ms/step\n",
"Epoch 37/300\n",
"3/3 - 0s - loss: 0.0429 - 28ms/epoch - 9ms/step\n",
"Epoch 38/300\n",
"3/3 - 0s - loss: 0.0382 - 29ms/epoch - 10ms/step\n",
"Epoch 39/300\n",
"3/3 - 0s - loss: 0.0266 - 27ms/epoch - 9ms/step\n",
"Epoch 40/300\n",
"3/3 - 0s - loss: 0.0399 - 29ms/epoch - 10ms/step\n",
"Epoch 41/300\n",
"3/3 - 0s - loss: 0.0336 - 31ms/epoch - 10ms/step\n",
"Epoch 42/300\n",
"3/3 - 0s - loss: 0.0293 - 27ms/epoch - 9ms/step\n",
"Epoch 43/300\n",
"3/3 - 0s - loss: 0.0304 - 30ms/epoch - 10ms/step\n",
"Epoch 44/300\n",
"3/3 - 0s - loss: 0.0370 - 27ms/epoch - 9ms/step\n",
"Epoch 45/300\n",
"3/3 - 0s - loss: 0.0295 - 28ms/epoch - 9ms/step\n",
"Epoch 46/300\n",
"3/3 - 0s - loss: 0.0278 - 31ms/epoch - 10ms/step\n",
"Epoch 47/300\n",
"3/3 - 0s - loss: 0.0298 - 28ms/epoch - 9ms/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 - 28ms/epoch - 9ms/step\n",
"Epoch 50/300\n",
"3/3 - 0s - loss: 0.0191 - 25ms/epoch - 8ms/step\n",
"Epoch 51/300\n",
"3/3 - 0s - loss: 0.0257 - 26ms/epoch - 9ms/step\n",
"Epoch 52/300\n",
"3/3 - 0s - loss: 0.0229 - 27ms/epoch - 9ms/step\n",
"Epoch 53/300\n",
"3/3 - 0s - loss: 0.0226 - 29ms/epoch - 10ms/step\n",
"Epoch 54/300\n",
"3/3 - 0s - loss: 0.0251 - 34ms/epoch - 11ms/step\n",
"Epoch 55/300\n",
"3/3 - 0s - loss: 0.0231 - 29ms/epoch - 10ms/step\n",
"Epoch 56/300\n",
"3/3 - 0s - loss: 0.0268 - 30ms/epoch - 10ms/step\n",
"Epoch 57/300\n",
"3/3 - 0s - loss: 0.0274 - 28ms/epoch - 9ms/step\n",
"Epoch 58/300\n",
"3/3 - 0s - loss: 0.0182 - 30ms/epoch - 10ms/step\n",
"Epoch 59/300\n",
"3/3 - 0s - loss: 0.0233 - 33ms/epoch - 11ms/step\n",
"Epoch 60/300\n",
"3/3 - 0s - loss: 0.0189 - 29ms/epoch - 10ms/step\n",
"Epoch 61/300\n",
"3/3 - 0s - loss: 0.0133 - 28ms/epoch - 9ms/step\n",
"Epoch 62/300\n",
"3/3 - 0s - loss: 0.0144 - 26ms/epoch - 9ms/step\n",
"Epoch 63/300\n",
"3/3 - 0s - loss: 0.0157 - 28ms/epoch - 9ms/step\n",
"Epoch 64/300\n",
"3/3 - 0s - loss: 0.0119 - 28ms/epoch - 9ms/step\n",
"Epoch 65/300\n",
"3/3 - 0s - loss: 0.0188 - 30ms/epoch - 10ms/step\n",
"Epoch 66/300\n",
"3/3 - 0s - loss: 0.0130 - 29ms/epoch - 10ms/step\n",
"Epoch 67/300\n",
"3/3 - 0s - loss: 0.0116 - 28ms/epoch - 9ms/step\n",
"Epoch 68/300\n",
"3/3 - 0s - loss: 0.0110 - 29ms/epoch - 10ms/step\n",
"Epoch 69/300\n",
"3/3 - 0s - loss: 0.0073 - 29ms/epoch - 10ms/step\n",
"Epoch 70/300\n",
"3/3 - 0s - loss: 0.0097 - 30ms/epoch - 10ms/step\n",
"Epoch 71/300\n",
"3/3 - 0s - loss: 0.0088 - 29ms/epoch - 10ms/step\n",
"Epoch 72/300\n",
"3/3 - 0s - loss: 0.0063 - 28ms/epoch - 9ms/step\n",
"Epoch 73/300\n",
"3/3 - 0s - loss: 0.0058 - 32ms/epoch - 11ms/step\n",
"Epoch 74/300\n",
"3/3 - 0s - loss: 0.0060 - 27ms/epoch - 9ms/step\n",
"Epoch 75/300\n",
"3/3 - 0s - loss: 0.0094 - 29ms/epoch - 10ms/step\n",
"Epoch 76/300\n",
"3/3 - 0s - loss: 0.0106 - 26ms/epoch - 9ms/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 - 28ms/epoch - 9ms/step\n",
"Epoch 79/300\n",
"3/3 - 0s - loss: 0.0048 - 26ms/epoch - 9ms/step\n",
"Epoch 80/300\n",
"3/3 - 0s - loss: 0.0046 - 30ms/epoch - 10ms/step\n",
"Epoch 81/300\n",
"3/3 - 0s - loss: 0.0029 - 29ms/epoch - 10ms/step\n",
"Epoch 82/300\n",
"3/3 - 0s - loss: 0.0026 - 28ms/epoch - 9ms/step\n",
"Epoch 83/300\n",
"3/3 - 0s - loss: 0.0030 - 28ms/epoch - 9ms/step\n",
"Epoch 84/300\n",
"3/3 - 0s - loss: 0.0032 - 25ms/epoch - 8ms/step\n",
"Epoch 85/300\n",
"3/3 - 0s - loss: 0.0040 - 26ms/epoch - 9ms/step\n",
"Epoch 86/300\n",
"3/3 - 0s - loss: 0.0045 - 25ms/epoch - 8ms/step\n",
"Epoch 87/300\n",
"3/3 - 0s - loss: 0.0047 - 27ms/epoch - 9ms/step\n",
"Epoch 88/300\n",
"3/3 - 0s - loss: 0.0033 - 24ms/epoch - 8ms/step\n",
"Epoch 89/300\n",
"3/3 - 0s - loss: 0.0034 - 33ms/epoch - 11ms/step\n",
"Epoch 90/300\n",
"3/3 - 0s - loss: 0.0083 - 30ms/epoch - 10ms/step\n",
"Epoch 91/300\n",
"3/3 - 0s - loss: 0.0109 - 35ms/epoch - 12ms/step\n",
"Epoch 92/300\n",
"3/3 - 0s - loss: 0.0065 - 30ms/epoch - 10ms/step\n",
"Epoch 93/300\n",
"3/3 - 0s - loss: 0.0046 - 25ms/epoch - 8ms/step\n",
"Epoch 94/300\n",
"3/3 - 0s - loss: 0.0068 - 30ms/epoch - 10ms/step\n",
"Epoch 95/300\n",
"3/3 - 0s - loss: 0.0096 - 27ms/epoch - 9ms/step\n",
"Epoch 96/300\n",
"3/3 - 0s - loss: 0.0103 - 27ms/epoch - 9ms/step\n",
"Epoch 97/300\n",
"3/3 - 0s - loss: 0.0119 - 27ms/epoch - 9ms/step\n",
"Epoch 98/300\n",
"3/3 - 0s - loss: 0.0069 - 26ms/epoch - 9ms/step\n",
"Epoch 99/300\n",
"3/3 - 0s - loss: 0.0075 - 27ms/epoch - 9ms/step\n",
"Epoch 100/300\n",
"3/3 - 0s - loss: 0.0057 - 28ms/epoch - 9ms/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 - 27ms/epoch - 9ms/step\n",
"Epoch 103/300\n",
"3/3 - 0s - loss: 0.0029 - 28ms/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 - 24ms/epoch - 8ms/step\n",
"Epoch 106/300\n",
"3/3 - 0s - loss: 0.0015 - 27ms/epoch - 9ms/step\n",
"Epoch 107/300\n",
"3/3 - 0s - loss: 0.0014 - 27ms/epoch - 9ms/step\n",
"Epoch 108/300\n",
"3/3 - 0s - loss: 0.0013 - 27ms/epoch - 9ms/step\n",
"Epoch 109/300\n",
"3/3 - 0s - loss: 0.0022 - 26ms/epoch - 9ms/step\n",
"Epoch 110/300\n",
"3/3 - 0s - loss: 0.0019 - 25ms/epoch - 8ms/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 - 34ms/epoch - 11ms/step\n",
"Epoch 113/300\n",
"3/3 - 0s - loss: 9.3566e-04 - 41ms/epoch - 14ms/step\n",
"Epoch 114/300\n",
"3/3 - 0s - loss: 0.0015 - 40ms/epoch - 13ms/step\n",
"Epoch 115/300\n",
"3/3 - 0s - loss: 0.0017 - 42ms/epoch - 14ms/step\n",
"Epoch 116/300\n",
"3/3 - 0s - loss: 0.0020 - 40ms/epoch - 13ms/step\n",
"Epoch 117/300\n",
"3/3 - 0s - loss: 0.0018 - 37ms/epoch - 12ms/step\n",
"Epoch 118/300\n",
"3/3 - 0s - loss: 0.0010 - 32ms/epoch - 11ms/step\n",
"Epoch 119/300\n",
"3/3 - 0s - loss: 8.8028e-04 - 37ms/epoch - 12ms/step\n",
"Epoch 120/300\n",
"3/3 - 0s - loss: 7.2462e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 121/300\n",
"3/3 - 0s - loss: 8.0890e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 122/300\n",
"3/3 - 0s - loss: 9.8991e-04 - 32ms/epoch - 11ms/step\n",
"Epoch 123/300\n",
"3/3 - 0s - loss: 7.1008e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 124/300\n",
"3/3 - 0s - loss: 4.9597e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 125/300\n",
"3/3 - 0s - loss: 4.7966e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 126/300\n",
"3/3 - 0s - loss: 3.0518e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 127/300\n",
"3/3 - 0s - loss: 2.7030e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 128/300\n",
"3/3 - 0s - loss: 3.4302e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 129/300\n",
"3/3 - 0s - loss: 3.2476e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 130/300\n",
"3/3 - 0s - loss: 1.6305e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 131/300\n",
"3/3 - 0s - loss: 1.8642e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 132/300\n",
"3/3 - 0s - loss: 8.2074e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 133/300\n",
"3/3 - 0s - loss: 6.5955e-05 - 33ms/epoch - 11ms/step\n",
"Epoch 134/300\n",
"3/3 - 0s - loss: 6.8692e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 135/300\n",
"3/3 - 0s - loss: 1.1016e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 136/300\n",
"3/3 - 0s - loss: 1.4056e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 137/300\n",
"3/3 - 0s - loss: 1.0764e-04 - 35ms/epoch - 12ms/step\n",
"Epoch 138/300\n",
"3/3 - 0s - loss: 9.8001e-05 - 31ms/epoch - 10ms/step\n",
"Epoch 139/300\n",
"3/3 - 0s - loss: 2.1907e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 140/300\n",
"3/3 - 0s - loss: 2.4921e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 141/300\n",
"3/3 - 0s - loss: 4.0704e-04 - 32ms/epoch - 11ms/step\n",
"Epoch 142/300\n",
"3/3 - 0s - loss: 5.5095e-04 - 33ms/epoch - 11ms/step\n",
"Epoch 143/300\n",
"3/3 - 0s - loss: 8.7078e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 144/300\n",
"3/3 - 0s - loss: 9.0852e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 145/300\n",
"3/3 - 0s - loss: 0.0014 - 29ms/epoch - 10ms/step\n",
"Epoch 146/300\n",
"3/3 - 0s - loss: 0.0021 - 31ms/epoch - 10ms/step\n",
"Epoch 147/300\n",
"3/3 - 0s - loss: 0.0012 - 27ms/epoch - 9ms/step\n",
"Epoch 148/300\n",
"3/3 - 0s - loss: 0.0011 - 29ms/epoch - 10ms/step\n",
"Epoch 149/300\n",
"3/3 - 0s - loss: 0.0014 - 35ms/epoch - 12ms/step\n",
"Epoch 150/300\n",
"3/3 - 0s - loss: 0.0013 - 28ms/epoch - 9ms/step\n",
"Epoch 151/300\n",
"3/3 - 0s - loss: 0.0012 - 30ms/epoch - 10ms/step\n",
"Epoch 152/300\n",
"3/3 - 0s - loss: 0.0011 - 29ms/epoch - 10ms/step\n",
"Epoch 153/300\n",
"3/3 - 0s - loss: 8.8283e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 154/300\n",
"3/3 - 0s - loss: 5.0875e-04 - 23ms/epoch - 8ms/step\n",
"Epoch 155/300\n",
"3/3 - 0s - loss: 4.6452e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 156/300\n",
"3/3 - 0s - loss: 4.4445e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 157/300\n",
"3/3 - 0s - loss: 4.5507e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 158/300\n",
"3/3 - 0s - loss: 5.0221e-04 - 28ms/epoch - 9ms/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 - 24ms/epoch - 8ms/step\n",
"Epoch 161/300\n",
"3/3 - 0s - loss: 3.0625e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 162/300\n",
"3/3 - 0s - loss: 3.6777e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 163/300\n",
"3/3 - 0s - loss: 2.5530e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 164/300\n",
"3/3 - 0s - loss: 1.7076e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 165/300\n",
"3/3 - 0s - loss: 2.1320e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 166/300\n",
"3/3 - 0s - loss: 2.7991e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 167/300\n",
"3/3 - 0s - loss: 3.3069e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 168/300\n",
"3/3 - 0s - loss: 2.9444e-04 - 28ms/epoch - 9ms/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 - 25ms/epoch - 8ms/step\n",
"Epoch 171/300\n",
"3/3 - 0s - loss: 2.0864e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 172/300\n",
"3/3 - 0s - loss: 3.1231e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 173/300\n",
"3/3 - 0s - loss: 2.9278e-04 - 28ms/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 - 26ms/epoch - 9ms/step\n",
"Epoch 176/300\n",
"3/3 - 0s - loss: 3.3629e-04 - 25ms/epoch - 8ms/step\n",
"Epoch 177/300\n",
"3/3 - 0s - loss: 2.4525e-04 - 34ms/epoch - 11ms/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 - 29ms/epoch - 10ms/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 - 26ms/epoch - 9ms/step\n",
"Epoch 182/300\n",
"3/3 - 0s - loss: 2.2758e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 183/300\n",
"3/3 - 0s - loss: 2.9136e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 184/300\n",
"3/3 - 0s - loss: 1.1060e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 185/300\n",
"3/3 - 0s - loss: 5.0481e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 186/300\n",
"3/3 - 0s - loss: 4.0821e-05 - 35ms/epoch - 12ms/step\n",
"Epoch 187/300\n",
"3/3 - 0s - loss: 5.7687e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 188/300\n",
"3/3 - 0s - loss: 5.1819e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 189/300\n",
"3/3 - 0s - loss: 4.4923e-05 - 32ms/epoch - 11ms/step\n",
"Epoch 190/300\n",
"3/3 - 0s - loss: 5.0681e-05 - 32ms/epoch - 11ms/step\n",
"Epoch 191/300\n",
"3/3 - 0s - loss: 3.9062e-05 - 27ms/epoch - 9ms/step\n",
"Epoch 192/300\n",
"3/3 - 0s - loss: 3.1511e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 193/300\n",
"3/3 - 0s - loss: 3.9896e-05 - 29ms/epoch - 10ms/step\n",
"Epoch 194/300\n",
"3/3 - 0s - loss: 3.6009e-05 - 28ms/epoch - 9ms/step\n",
"Epoch 195/300\n",
"3/3 - 0s - loss: 3.8435e-05 - 27ms/epoch - 9ms/step\n",
"Epoch 196/300\n",
"3/3 - 0s - loss: 6.6916e-05 - 28ms/epoch - 9ms/step\n",
"Epoch 197/300\n",
"3/3 - 0s - loss: 1.2784e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 198/300\n",
"3/3 - 0s - loss: 8.5005e-05 - 34ms/epoch - 11ms/step\n",
"Epoch 199/300\n",
"3/3 - 0s - loss: 6.0588e-05 - 35ms/epoch - 12ms/step\n",
"Epoch 200/300\n",
"3/3 - 0s - loss: 6.8180e-05 - 35ms/epoch - 12ms/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 - 27ms/epoch - 9ms/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 - 29ms/epoch - 10ms/step\n",
"Epoch 205/300\n",
"3/3 - 0s - loss: 7.8872e-05 - 27ms/epoch - 9ms/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 - 24ms/epoch - 8ms/step\n",
"Epoch 208/300\n",
"3/3 - 0s - loss: 7.0697e-05 - 28ms/epoch - 9ms/step\n",
"Epoch 209/300\n",
"3/3 - 0s - loss: 5.2098e-05 - 28ms/epoch - 9ms/step\n",
"Epoch 210/300\n",
"3/3 - 0s - loss: 5.4029e-05 - 31ms/epoch - 10ms/step\n",
"Epoch 211/300\n",
"3/3 - 0s - loss: 2.8489e-05 - 33ms/epoch - 11ms/step\n",
"Epoch 212/300\n",
"3/3 - 0s - loss: 3.3961e-05 - 25ms/epoch - 8ms/step\n",
"Epoch 213/300\n",
"3/3 - 0s - loss: 4.1667e-05 - 28ms/epoch - 9ms/step\n",
"Epoch 214/300\n",
"3/3 - 0s - loss: 3.7597e-05 - 27ms/epoch - 9ms/step\n",
"Epoch 215/300\n",
"3/3 - 0s - loss: 2.7004e-05 - 31ms/epoch - 10ms/step\n",
"Epoch 216/300\n",
"3/3 - 0s - loss: 2.9110e-05 - 28ms/epoch - 9ms/step\n",
"Epoch 217/300\n",
"3/3 - 0s - loss: 3.6687e-05 - 28ms/epoch - 9ms/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 - 27ms/epoch - 9ms/step\n",
"Epoch 221/300\n",
"3/3 - 0s - loss: 1.9595e-04 - 34ms/epoch - 11ms/step\n",
"Epoch 222/300\n",
"3/3 - 0s - loss: 1.7055e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 223/300\n",
"3/3 - 0s - loss: 1.4371e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 224/300\n",
"3/3 - 0s - loss: 1.0054e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 225/300\n",
"3/3 - 0s - loss: 7.8233e-05 - 26ms/epoch - 9ms/step\n",
"Epoch 226/300\n",
"3/3 - 0s - loss: 2.0859e-04 - 29ms/epoch - 10ms/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 - 26ms/epoch - 9ms/step\n",
"Epoch 229/300\n",
"3/3 - 0s - loss: 3.2267e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 230/300\n",
"3/3 - 0s - loss: 2.6533e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 231/300\n",
"3/3 - 0s - loss: 3.3579e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 232/300\n",
"3/3 - 0s - loss: 2.2141e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 233/300\n",
"3/3 - 0s - loss: 1.3816e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 234/300\n",
"3/3 - 0s - loss: 1.2997e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 235/300\n",
"3/3 - 0s - loss: 1.2696e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 236/300\n",
"3/3 - 0s - loss: 7.3166e-05 - 30ms/epoch - 10ms/step\n",
"Epoch 237/300\n",
"3/3 - 0s - loss: 4.9531e-05 - 28ms/epoch - 9ms/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 - 29ms/epoch - 10ms/step\n",
"Epoch 240/300\n",
"3/3 - 0s - loss: 1.2079e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 241/300\n",
"3/3 - 0s - loss: 1.0165e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 242/300\n",
"3/3 - 0s - loss: 1.1189e-04 - 30ms/epoch - 10ms/step\n",
"Epoch 243/300\n",
"3/3 - 0s - loss: 1.2715e-04 - 32ms/epoch - 11ms/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 - 28ms/epoch - 9ms/step\n",
"Epoch 246/300\n",
"3/3 - 0s - loss: 8.1162e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 247/300\n",
"3/3 - 0s - loss: 6.6941e-04 - 31ms/epoch - 10ms/step\n",
"Epoch 248/300\n",
"3/3 - 0s - loss: 6.1267e-04 - 29ms/epoch - 10ms/step\n",
"Epoch 249/300\n",
"3/3 - 0s - loss: 5.4795e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 250/300\n",
"3/3 - 0s - loss: 8.4581e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 251/300\n",
"3/3 - 0s - loss: 4.3189e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 252/300\n",
"3/3 - 0s - loss: 6.3720e-04 - 26ms/epoch - 9ms/step\n",
"Epoch 253/300\n",
"3/3 - 0s - loss: 8.4664e-04 - 28ms/epoch - 9ms/step\n",
"Epoch 254/300\n",
"3/3 - 0s - loss: 0.0025 - 30ms/epoch - 10ms/step\n",
"Epoch 255/300\n",
"3/3 - 0s - loss: 0.0032 - 32ms/epoch - 11ms/step\n",
"Epoch 256/300\n",
"3/3 - 0s - loss: 0.0040 - 33ms/epoch - 11ms/step\n",
"Epoch 257/300\n",
"3/3 - 0s - loss: 0.0021 - 29ms/epoch - 10ms/step\n",
"Epoch 258/300\n",
"3/3 - 0s - loss: 0.0023 - 28ms/epoch - 9ms/step\n",
"Epoch 259/300\n",
"3/3 - 0s - loss: 0.0034 - 25ms/epoch - 8ms/step\n",
"Epoch 260/300\n",
"3/3 - 0s - loss: 0.0045 - 34ms/epoch - 11ms/step\n",
"Epoch 261/300\n",
"3/3 - 0s - loss: 0.0064 - 26ms/epoch - 9ms/step\n",
"Epoch 262/300\n",
"3/3 - 0s - loss: 0.0050 - 30ms/epoch - 10ms/step\n",
"Epoch 263/300\n",
"3/3 - 0s - loss: 0.0068 - 25ms/epoch - 8ms/step\n",
"Epoch 264/300\n",
"3/3 - 0s - loss: 0.0042 - 29ms/epoch - 10ms/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 - 29ms/epoch - 10ms/step\n",
"Epoch 267/300\n",
"3/3 - 0s - loss: 0.0046 - 31ms/epoch - 10ms/step\n",
"Epoch 268/300\n",
"3/3 - 0s - loss: 0.0032 - 25ms/epoch - 8ms/step\n",
"Epoch 269/300\n",
"3/3 - 0s - loss: 0.0031 - 25ms/epoch - 8ms/step\n",
"Epoch 270/300\n",
"3/3 - 0s - loss: 0.0041 - 26ms/epoch - 9ms/step\n",
"Epoch 271/300\n",
"3/3 - 0s - loss: 0.0034 - 30ms/epoch - 10ms/step\n",
"Epoch 272/300\n",
"3/3 - 0s - loss: 0.0043 - 27ms/epoch - 9ms/step\n",
"Epoch 273/300\n",
"3/3 - 0s - loss: 0.0034 - 29ms/epoch - 10ms/step\n",
"Epoch 274/300\n",
"3/3 - 0s - loss: 0.0036 - 37ms/epoch - 12ms/step\n",
"Epoch 275/300\n",
"3/3 - 0s - loss: 0.0030 - 35ms/epoch - 12ms/step\n",
"Epoch 276/300\n",
"3/3 - 0s - loss: 0.0027 - 30ms/epoch - 10ms/step\n",
"Epoch 277/300\n",
"3/3 - 0s - loss: 0.0033 - 33ms/epoch - 11ms/step\n",
"Epoch 278/300\n",
"3/3 - 0s - loss: 0.0024 - 26ms/epoch - 9ms/step\n",
"Epoch 279/300\n",
"3/3 - 0s - loss: 0.0017 - 29ms/epoch - 10ms/step\n",
"Epoch 280/300\n",
"3/3 - 0s - loss: 0.0017 - 27ms/epoch - 9ms/step\n",
"Epoch 281/300\n",
"3/3 - 0s - loss: 0.0015 - 27ms/epoch - 9ms/step\n",
"Epoch 282/300\n",
"3/3 - 0s - loss: 0.0015 - 29ms/epoch - 10ms/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 - 25ms/epoch - 8ms/step\n",
"Epoch 285/300\n",
"3/3 - 0s - loss: 0.0026 - 27ms/epoch - 9ms/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 - 31ms/epoch - 10ms/step\n",
"Epoch 288/300\n",
"3/3 - 0s - loss: 0.0059 - 28ms/epoch - 9ms/step\n",
"Epoch 289/300\n",
"3/3 - 0s - loss: 0.0073 - 25ms/epoch - 8ms/step\n",
"Epoch 290/300\n",
"3/3 - 0s - loss: 0.0060 - 36ms/epoch - 12ms/step\n",
"Epoch 291/300\n",
"3/3 - 0s - loss: 0.0032 - 27ms/epoch - 9ms/step\n",
"Epoch 292/300\n",
"3/3 - 0s - loss: 0.0022 - 27ms/epoch - 9ms/step\n",
"Epoch 293/300\n",
"3/3 - 0s - loss: 0.0021 - 26ms/epoch - 9ms/step\n",
"Epoch 294/300\n",
"3/3 - 0s - loss: 0.0025 - 29ms/epoch - 10ms/step\n",
"Epoch 295/300\n",
"3/3 - 0s - loss: 0.0011 - 27ms/epoch - 9ms/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 - 26ms/epoch - 9ms/step\n",
"Epoch 299/300\n",
"3/3 - 0s - loss: 7.6698e-04 - 27ms/epoch - 9ms/step\n",
"Epoch 300/300\n",
"3/3 - 0s - loss: 7.6851e-04 - 26ms/epoch - 9ms/step\n",
"14/14 [==============================] - 0s 3ms/step\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7ded326b4490>"
]
},
"metadata": {},
"execution_count": 24
},
{
"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": "5ac952b6-dc49-4694-9fcd-07cd140213f4"
},
"execution_count": 25,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since end of run: 1710189419.2615592\n",
"Mon Mar 11 20:36:59 2024\n"
]
}
]
}
]
}