Switch to unified view

a b/Code/Tensor Network vs Fully Connected Layer/1xTNLayers.ipynb
1
{
2
  "nbformat": 4,
3
  "nbformat_minor": 0,
4
  "metadata": {
5
    "colab": {
6
      "provenance": [],
7
      "machine_shape": "hm"
8
    },
9
    "kernelspec": {
10
      "name": "python3",
11
      "display_name": "Python 3"
12
    }
13
  },
14
  "cells": [
15
    {
16
      "cell_type": "markdown",
17
      "metadata": {
18
        "id": "8XnVMPBXmtRa"
19
      },
20
      "source": [
21
        "# TensorNetworks in Neural Networks.\n",
22
        "\n",
23
        "Here, we have a small toy example of how to use a TN inside of a fully connected neural network.\n",
24
        "\n",
25
        "First off, let's install tensornetwork"
26
      ]
27
    },
28
    {
29
      "cell_type": "code",
30
      "metadata": {
31
        "id": "7HGRsYNAFxME"
32
      },
33
      "source": [
34
        "# !pip install tensornetwork\n",
35
        "\n",
36
        "import numpy as np\n",
37
        "import matplotlib.pyplot as plt\n",
38
        "import tensorflow as tf\n",
39
        "# Import tensornetwork\n",
40
        "import tensornetwork as tn\n",
41
        "import random\n",
42
        "import time\n",
43
        "# Set the backend to tesorflow\n",
44
        "# (default is numpy)\n",
45
        "tn.set_default_backend(\"tensorflow\")\n",
46
        "np.random.seed(42)\n",
47
        "random.seed(42)\n",
48
        "tf.random.set_seed(42)"
49
      ],
50
      "execution_count": 50,
51
      "outputs": []
52
    },
53
    {
54
      "cell_type": "markdown",
55
      "metadata": {
56
        "id": "g1OMCo5XmrYu"
57
      },
58
      "source": [
59
        "# TensorNetwork layer definition\n",
60
        "\n",
61
        "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",
62
        "\n",
63
        "We TensorNetwork's NCon API to keep the code short."
64
      ]
65
    },
66
    {
67
      "cell_type": "code",
68
      "metadata": {
69
        "id": "wvSMKtPufnLp"
70
      },
71
      "source": [
72
        "class TNLayer(tf.keras.layers.Layer):\n",
73
        "\n",
74
        "  def __init__(self):\n",
75
        "    super(TNLayer, self).__init__()\n",
76
        "    # Create the variables for the layer.\n",
77
        "    self.a_var = tf.Variable(tf.random.normal(shape=(32, 32, 2),\n",
78
        "                                              stddev=1.0/32.0),\n",
79
        "                             name=\"a\", trainable=True)\n",
80
        "    self.b_var = tf.Variable(tf.random.normal(shape=(32, 32, 2),\n",
81
        "                                              stddev=1.0/32.0),\n",
82
        "                             name=\"b\", trainable=True)\n",
83
        "    self.bias = tf.Variable(tf.zeros(shape=(32, 32)),\n",
84
        "                            name=\"bias\", trainable=True)\n",
85
        "\n",
86
        "  def call(self, inputs):\n",
87
        "    # Define the contraction.\n",
88
        "    # We break it out so we can parallelize a batch using\n",
89
        "    # tf.vectorized_map (see below).\n",
90
        "    def f(input_vec, a_var, b_var, bias_var):\n",
91
        "      # Reshape to a matrix instead of a vector.\n",
92
        "      input_vec = tf.reshape(input_vec, (32, 32))\n",
93
        "\n",
94
        "      # Now we create the network.\n",
95
        "      a = tn.Node(a_var)\n",
96
        "      b = tn.Node(b_var)\n",
97
        "      x_node = tn.Node(input_vec)\n",
98
        "      a[1] ^ x_node[0]\n",
99
        "      b[1] ^ x_node[1]\n",
100
        "      a[2] ^ b[2]\n",
101
        "\n",
102
        "      # The TN should now look like this\n",
103
        "      #   |     |\n",
104
        "      #   a --- b\n",
105
        "      #    \\   /\n",
106
        "      #      x\n",
107
        "\n",
108
        "      # Now we begin the contraction.\n",
109
        "      c = a @ x_node\n",
110
        "      result = (c @ b).tensor\n",
111
        "\n",
112
        "      # To make the code shorter, we also could've used Ncon.\n",
113
        "      # The above few lines of code is the same as this:\n",
114
        "      # result = tn.ncon([x, a_var, b_var], [[1, 2], [-1, 1, 3], [-2, 2, 3]])\n",
115
        "\n",
116
        "      # Finally, add bias.\n",
117
        "      return result + bias_var\n",
118
        "\n",
119
        "    # To deal with a batch of items, we can use the tf.vectorized_map\n",
120
        "    # function.\n",
121
        "    # https://www.tensorflow.org/api_docs/python/tf/vectorized_map\n",
122
        "    result = tf.vectorized_map(\n",
123
        "        lambda vec: f(vec, self.a_var, self.b_var, self.bias), inputs)\n",
124
        "    return tf.nn.relu(tf.reshape(result, (-1, 1024)))"
125
      ],
126
      "execution_count": 51,
127
      "outputs": []
128
    },
129
    {
130
      "cell_type": "markdown",
131
      "metadata": {
132
        "id": "V-CVqIhPnhY_"
133
      },
134
      "source": [
135
        "# Smaller model\n",
136
        "These two models are effectively the same, but notice how the TN layer has nearly 10x fewer parameters."
137
      ]
138
    },
139
    {
140
      "cell_type": "code",
141
      "metadata": {
142
        "id": "XPBvnB95jg4b",
143
        "outputId": "f6ab50e3-d97d-4d0f-b04b-a06c0e7ace08",
144
        "colab": {
145
          "base_uri": "https://localhost:8080/",
146
          "height": 0
147
        }
148
      },
149
      "source": [
150
        "Dense = tf.keras.layers.Dense\n",
151
        "fc_model = tf.keras.Sequential(\n",
152
        "    [\n",
153
        "     tf.keras.Input(shape=(2,)),\n",
154
        "     Dense(1024, activation=tf.nn.relu),\n",
155
        "     Dense(1024, activation=tf.nn.relu),\n",
156
        "     Dense(1, activation=None)])\n",
157
        "fc_model.summary()"
158
      ],
159
      "execution_count": 52,
160
      "outputs": [
161
        {
162
          "output_type": "stream",
163
          "name": "stdout",
164
          "text": [
165
            "Model: \"sequential_8\"\n",
166
            "_________________________________________________________________\n",
167
            " Layer (type)                Output Shape              Param #   \n",
168
            "=================================================================\n",
169
            " dense_20 (Dense)            (None, 1024)              3072      \n",
170
            "                                                                 \n",
171
            " dense_21 (Dense)            (None, 1024)              1049600   \n",
172
            "                                                                 \n",
173
            " dense_22 (Dense)            (None, 1)                 1025      \n",
174
            "                                                                 \n",
175
            "=================================================================\n",
176
            "Total params: 1053697 (4.02 MB)\n",
177
            "Trainable params: 1053697 (4.02 MB)\n",
178
            "Non-trainable params: 0 (0.00 Byte)\n",
179
            "_________________________________________________________________\n"
180
          ]
181
        }
182
      ]
183
    },
184
    {
185
      "cell_type": "code",
186
      "metadata": {
187
        "id": "bbKsmK8wIFTp",
188
        "outputId": "9114f08d-f095-457c-d26e-c50708c0210f",
189
        "colab": {
190
          "base_uri": "https://localhost:8080/",
191
          "height": 0
192
        }
193
      },
194
      "source": [
195
        "tn_model = tf.keras.Sequential(\n",
196
        "    [\n",
197
        "     tf.keras.Input(shape=(2,)),\n",
198
        "     Dense(1024, activation=tf.nn.relu),\n",
199
        "     # Here, we replace the dense layer with our MPS.\n",
200
        "     TNLayer(),\n",
201
        "     Dense(1, activation=None)])\n",
202
        "tn_model.summary()"
203
      ],
204
      "execution_count": 53,
205
      "outputs": [
206
        {
207
          "output_type": "stream",
208
          "name": "stdout",
209
          "text": [
210
            "Model: \"sequential_9\"\n",
211
            "_________________________________________________________________\n",
212
            " Layer (type)                Output Shape              Param #   \n",
213
            "=================================================================\n",
214
            " dense_23 (Dense)            (None, 1024)              3072      \n",
215
            "                                                                 \n",
216
            " tn_layer_10 (TNLayer)       (None, 1024)              5120      \n",
217
            "                                                                 \n",
218
            " dense_24 (Dense)            (None, 1)                 1025      \n",
219
            "                                                                 \n",
220
            "=================================================================\n",
221
            "Total params: 9217 (36.00 KB)\n",
222
            "Trainable params: 9217 (36.00 KB)\n",
223
            "Non-trainable params: 0 (0.00 Byte)\n",
224
            "_________________________________________________________________\n"
225
          ]
226
        }
227
      ]
228
    },
229
    {
230
      "cell_type": "markdown",
231
      "metadata": {
232
        "id": "GWwoYp0WnsLA"
233
      },
234
      "source": [
235
        "# Training a model\n",
236
        "\n",
237
        "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."
238
      ]
239
    },
240
    {
241
      "cell_type": "code",
242
      "metadata": {
243
        "id": "qDFzOC7sDBJ-"
244
      },
245
      "source": [
246
        "X = np.concatenate([np.random.randn(20, 2) + np.array([3, 3]),\n",
247
        "                    np.random.randn(20, 2) + np.array([-3, -3]),\n",
248
        "                    np.random.randn(20, 2) + np.array([-3, 3]),\n",
249
        "                    np.random.randn(20, 2) + np.array([3, -3])])\n",
250
        "\n",
251
        "Y = np.concatenate([np.ones((40)), -np.ones((40))])"
252
      ],
253
      "execution_count": 54,
254
      "outputs": []
255
    },
256
    {
257
      "cell_type": "code",
258
      "source": [
259
        "seconds = time.time()\n",
260
        "print(\"Time in seconds since beginning of run:\", seconds)\n",
261
        "local_time = time.ctime(seconds)\n",
262
        "print(local_time)"
263
      ],
264
      "metadata": {
265
        "colab": {
266
          "base_uri": "https://localhost:8080/",
267
          "height": 0
268
        },
269
        "id": "19TWP-1eKURB",
270
        "outputId": "21bed910-b9bc-4673-e150-4b4590ece06e"
271
      },
272
      "execution_count": 55,
273
      "outputs": [
274
        {
275
          "output_type": "stream",
276
          "name": "stdout",
277
          "text": [
278
            "Time in seconds since beginning of run: 1709531165.8950815\n",
279
            "Mon Mar  4 05:46:05 2024\n"
280
          ]
281
        }
282
      ]
283
    },
284
    {
285
      "cell_type": "code",
286
      "metadata": {
287
        "id": "crc0q1vbIyTj",
288
        "outputId": "a344d443-4472-4cd1-894f-9a8bbbcd219c",
289
        "colab": {
290
          "base_uri": "https://localhost:8080/",
291
          "height": 0
292
        }
293
      },
294
      "source": [
295
        "tn_model.compile(optimizer=\"adam\", loss=\"mean_squared_error\")\n",
296
        "tn_model.fit(X, Y, epochs=300, verbose=2)"
297
      ],
298
      "execution_count": 56,
299
      "outputs": [
300
        {
301
          "output_type": "stream",
302
          "name": "stdout",
303
          "text": [
304
            "Epoch 1/300\n",
305
            "3/3 - 1s - loss: 0.9824 - 989ms/epoch - 330ms/step\n",
306
            "Epoch 2/300\n",
307
            "3/3 - 0s - loss: 0.9310 - 12ms/epoch - 4ms/step\n",
308
            "Epoch 3/300\n",
309
            "3/3 - 0s - loss: 0.8843 - 11ms/epoch - 4ms/step\n",
310
            "Epoch 4/300\n",
311
            "3/3 - 0s - loss: 0.8317 - 10ms/epoch - 3ms/step\n",
312
            "Epoch 5/300\n",
313
            "3/3 - 0s - loss: 0.7705 - 10ms/epoch - 3ms/step\n",
314
            "Epoch 6/300\n",
315
            "3/3 - 0s - loss: 0.6941 - 11ms/epoch - 4ms/step\n",
316
            "Epoch 7/300\n",
317
            "3/3 - 0s - loss: 0.6033 - 12ms/epoch - 4ms/step\n",
318
            "Epoch 8/300\n",
319
            "3/3 - 0s - loss: 0.4972 - 12ms/epoch - 4ms/step\n",
320
            "Epoch 9/300\n",
321
            "3/3 - 0s - loss: 0.3789 - 11ms/epoch - 4ms/step\n",
322
            "Epoch 10/300\n",
323
            "3/3 - 0s - loss: 0.2568 - 11ms/epoch - 4ms/step\n",
324
            "Epoch 11/300\n",
325
            "3/3 - 0s - loss: 0.1478 - 11ms/epoch - 4ms/step\n",
326
            "Epoch 12/300\n",
327
            "3/3 - 0s - loss: 0.0716 - 10ms/epoch - 3ms/step\n",
328
            "Epoch 13/300\n",
329
            "3/3 - 0s - loss: 0.0546 - 10ms/epoch - 3ms/step\n",
330
            "Epoch 14/300\n",
331
            "3/3 - 0s - loss: 0.0772 - 10ms/epoch - 3ms/step\n",
332
            "Epoch 15/300\n",
333
            "3/3 - 0s - loss: 0.0885 - 10ms/epoch - 3ms/step\n",
334
            "Epoch 16/300\n",
335
            "3/3 - 0s - loss: 0.0685 - 11ms/epoch - 4ms/step\n",
336
            "Epoch 17/300\n",
337
            "3/3 - 0s - loss: 0.0493 - 11ms/epoch - 4ms/step\n",
338
            "Epoch 18/300\n",
339
            "3/3 - 0s - loss: 0.0414 - 10ms/epoch - 3ms/step\n",
340
            "Epoch 19/300\n",
341
            "3/3 - 0s - loss: 0.0453 - 9ms/epoch - 3ms/step\n",
342
            "Epoch 20/300\n",
343
            "3/3 - 0s - loss: 0.0485 - 10ms/epoch - 3ms/step\n",
344
            "Epoch 21/300\n",
345
            "3/3 - 0s - loss: 0.0463 - 11ms/epoch - 4ms/step\n",
346
            "Epoch 22/300\n",
347
            "3/3 - 0s - loss: 0.0407 - 10ms/epoch - 3ms/step\n",
348
            "Epoch 23/300\n",
349
            "3/3 - 0s - loss: 0.0373 - 11ms/epoch - 4ms/step\n",
350
            "Epoch 24/300\n",
351
            "3/3 - 0s - loss: 0.0360 - 10ms/epoch - 3ms/step\n",
352
            "Epoch 25/300\n",
353
            "3/3 - 0s - loss: 0.0361 - 12ms/epoch - 4ms/step\n",
354
            "Epoch 26/300\n",
355
            "3/3 - 0s - loss: 0.0354 - 10ms/epoch - 3ms/step\n",
356
            "Epoch 27/300\n",
357
            "3/3 - 0s - loss: 0.0337 - 11ms/epoch - 4ms/step\n",
358
            "Epoch 28/300\n",
359
            "3/3 - 0s - loss: 0.0323 - 10ms/epoch - 3ms/step\n",
360
            "Epoch 29/300\n",
361
            "3/3 - 0s - loss: 0.0310 - 10ms/epoch - 3ms/step\n",
362
            "Epoch 30/300\n",
363
            "3/3 - 0s - loss: 0.0310 - 10ms/epoch - 3ms/step\n",
364
            "Epoch 31/300\n",
365
            "3/3 - 0s - loss: 0.0302 - 12ms/epoch - 4ms/step\n",
366
            "Epoch 32/300\n",
367
            "3/3 - 0s - loss: 0.0287 - 10ms/epoch - 3ms/step\n",
368
            "Epoch 33/300\n",
369
            "3/3 - 0s - loss: 0.0281 - 10ms/epoch - 3ms/step\n",
370
            "Epoch 34/300\n",
371
            "3/3 - 0s - loss: 0.0275 - 11ms/epoch - 4ms/step\n",
372
            "Epoch 35/300\n",
373
            "3/3 - 0s - loss: 0.0264 - 10ms/epoch - 3ms/step\n",
374
            "Epoch 36/300\n",
375
            "3/3 - 0s - loss: 0.0256 - 10ms/epoch - 3ms/step\n",
376
            "Epoch 37/300\n",
377
            "3/3 - 0s - loss: 0.0250 - 11ms/epoch - 4ms/step\n",
378
            "Epoch 38/300\n",
379
            "3/3 - 0s - loss: 0.0245 - 10ms/epoch - 3ms/step\n",
380
            "Epoch 39/300\n",
381
            "3/3 - 0s - loss: 0.0235 - 11ms/epoch - 4ms/step\n",
382
            "Epoch 40/300\n",
383
            "3/3 - 0s - loss: 0.0228 - 10ms/epoch - 3ms/step\n",
384
            "Epoch 41/300\n",
385
            "3/3 - 0s - loss: 0.0220 - 10ms/epoch - 3ms/step\n",
386
            "Epoch 42/300\n",
387
            "3/3 - 0s - loss: 0.0213 - 10ms/epoch - 3ms/step\n",
388
            "Epoch 43/300\n",
389
            "3/3 - 0s - loss: 0.0205 - 11ms/epoch - 4ms/step\n",
390
            "Epoch 44/300\n",
391
            "3/3 - 0s - loss: 0.0199 - 10ms/epoch - 3ms/step\n",
392
            "Epoch 45/300\n",
393
            "3/3 - 0s - loss: 0.0191 - 10ms/epoch - 3ms/step\n",
394
            "Epoch 46/300\n",
395
            "3/3 - 0s - loss: 0.0187 - 10ms/epoch - 3ms/step\n",
396
            "Epoch 47/300\n",
397
            "3/3 - 0s - loss: 0.0181 - 10ms/epoch - 3ms/step\n",
398
            "Epoch 48/300\n",
399
            "3/3 - 0s - loss: 0.0175 - 11ms/epoch - 4ms/step\n",
400
            "Epoch 49/300\n",
401
            "3/3 - 0s - loss: 0.0164 - 10ms/epoch - 3ms/step\n",
402
            "Epoch 50/300\n",
403
            "3/3 - 0s - loss: 0.0157 - 10ms/epoch - 3ms/step\n",
404
            "Epoch 51/300\n",
405
            "3/3 - 0s - loss: 0.0152 - 10ms/epoch - 3ms/step\n",
406
            "Epoch 52/300\n",
407
            "3/3 - 0s - loss: 0.0145 - 10ms/epoch - 3ms/step\n",
408
            "Epoch 53/300\n",
409
            "3/3 - 0s - loss: 0.0138 - 12ms/epoch - 4ms/step\n",
410
            "Epoch 54/300\n",
411
            "3/3 - 0s - loss: 0.0133 - 9ms/epoch - 3ms/step\n",
412
            "Epoch 55/300\n",
413
            "3/3 - 0s - loss: 0.0125 - 10ms/epoch - 3ms/step\n",
414
            "Epoch 56/300\n",
415
            "3/3 - 0s - loss: 0.0122 - 10ms/epoch - 3ms/step\n",
416
            "Epoch 57/300\n",
417
            "3/3 - 0s - loss: 0.0113 - 10ms/epoch - 3ms/step\n",
418
            "Epoch 58/300\n",
419
            "3/3 - 0s - loss: 0.0108 - 10ms/epoch - 3ms/step\n",
420
            "Epoch 59/300\n",
421
            "3/3 - 0s - loss: 0.0102 - 9ms/epoch - 3ms/step\n",
422
            "Epoch 60/300\n",
423
            "3/3 - 0s - loss: 0.0096 - 10ms/epoch - 3ms/step\n",
424
            "Epoch 61/300\n",
425
            "3/3 - 0s - loss: 0.0090 - 10ms/epoch - 3ms/step\n",
426
            "Epoch 62/300\n",
427
            "3/3 - 0s - loss: 0.0084 - 10ms/epoch - 3ms/step\n",
428
            "Epoch 63/300\n",
429
            "3/3 - 0s - loss: 0.0077 - 9ms/epoch - 3ms/step\n",
430
            "Epoch 64/300\n",
431
            "3/3 - 0s - loss: 0.0070 - 10ms/epoch - 3ms/step\n",
432
            "Epoch 65/300\n",
433
            "3/3 - 0s - loss: 0.0070 - 10ms/epoch - 3ms/step\n",
434
            "Epoch 66/300\n",
435
            "3/3 - 0s - loss: 0.0062 - 10ms/epoch - 3ms/step\n",
436
            "Epoch 67/300\n",
437
            "3/3 - 0s - loss: 0.0057 - 10ms/epoch - 3ms/step\n",
438
            "Epoch 68/300\n",
439
            "3/3 - 0s - loss: 0.0054 - 9ms/epoch - 3ms/step\n",
440
            "Epoch 69/300\n",
441
            "3/3 - 0s - loss: 0.0050 - 10ms/epoch - 3ms/step\n",
442
            "Epoch 70/300\n",
443
            "3/3 - 0s - loss: 0.0046 - 11ms/epoch - 4ms/step\n",
444
            "Epoch 71/300\n",
445
            "3/3 - 0s - loss: 0.0041 - 10ms/epoch - 3ms/step\n",
446
            "Epoch 72/300\n",
447
            "3/3 - 0s - loss: 0.0037 - 9ms/epoch - 3ms/step\n",
448
            "Epoch 73/300\n",
449
            "3/3 - 0s - loss: 0.0033 - 10ms/epoch - 3ms/step\n",
450
            "Epoch 74/300\n",
451
            "3/3 - 0s - loss: 0.0030 - 11ms/epoch - 4ms/step\n",
452
            "Epoch 75/300\n",
453
            "3/3 - 0s - loss: 0.0027 - 11ms/epoch - 4ms/step\n",
454
            "Epoch 76/300\n",
455
            "3/3 - 0s - loss: 0.0024 - 11ms/epoch - 4ms/step\n",
456
            "Epoch 77/300\n",
457
            "3/3 - 0s - loss: 0.0021 - 11ms/epoch - 4ms/step\n",
458
            "Epoch 78/300\n",
459
            "3/3 - 0s - loss: 0.0019 - 10ms/epoch - 3ms/step\n",
460
            "Epoch 79/300\n",
461
            "3/3 - 0s - loss: 0.0016 - 10ms/epoch - 3ms/step\n",
462
            "Epoch 80/300\n",
463
            "3/3 - 0s - loss: 0.0015 - 10ms/epoch - 3ms/step\n",
464
            "Epoch 81/300\n",
465
            "3/3 - 0s - loss: 0.0013 - 11ms/epoch - 4ms/step\n",
466
            "Epoch 82/300\n",
467
            "3/3 - 0s - loss: 0.0012 - 11ms/epoch - 4ms/step\n",
468
            "Epoch 83/300\n",
469
            "3/3 - 0s - loss: 0.0011 - 10ms/epoch - 3ms/step\n",
470
            "Epoch 84/300\n",
471
            "3/3 - 0s - loss: 9.0545e-04 - 10ms/epoch - 3ms/step\n",
472
            "Epoch 85/300\n",
473
            "3/3 - 0s - loss: 7.9152e-04 - 10ms/epoch - 3ms/step\n",
474
            "Epoch 86/300\n",
475
            "3/3 - 0s - loss: 7.0412e-04 - 10ms/epoch - 3ms/step\n",
476
            "Epoch 87/300\n",
477
            "3/3 - 0s - loss: 6.1978e-04 - 10ms/epoch - 3ms/step\n",
478
            "Epoch 88/300\n",
479
            "3/3 - 0s - loss: 5.2338e-04 - 10ms/epoch - 3ms/step\n",
480
            "Epoch 89/300\n",
481
            "3/3 - 0s - loss: 5.0727e-04 - 10ms/epoch - 3ms/step\n",
482
            "Epoch 90/300\n",
483
            "3/3 - 0s - loss: 4.4617e-04 - 11ms/epoch - 4ms/step\n",
484
            "Epoch 91/300\n",
485
            "3/3 - 0s - loss: 4.1021e-04 - 11ms/epoch - 4ms/step\n",
486
            "Epoch 92/300\n",
487
            "3/3 - 0s - loss: 3.7321e-04 - 10ms/epoch - 3ms/step\n",
488
            "Epoch 93/300\n",
489
            "3/3 - 0s - loss: 3.3965e-04 - 11ms/epoch - 4ms/step\n",
490
            "Epoch 94/300\n",
491
            "3/3 - 0s - loss: 2.8217e-04 - 11ms/epoch - 4ms/step\n",
492
            "Epoch 95/300\n",
493
            "3/3 - 0s - loss: 2.8671e-04 - 10ms/epoch - 3ms/step\n",
494
            "Epoch 96/300\n",
495
            "3/3 - 0s - loss: 2.6762e-04 - 11ms/epoch - 4ms/step\n",
496
            "Epoch 97/300\n",
497
            "3/3 - 0s - loss: 2.3497e-04 - 10ms/epoch - 3ms/step\n",
498
            "Epoch 98/300\n",
499
            "3/3 - 0s - loss: 2.1839e-04 - 10ms/epoch - 3ms/step\n",
500
            "Epoch 99/300\n",
501
            "3/3 - 0s - loss: 1.9666e-04 - 11ms/epoch - 4ms/step\n",
502
            "Epoch 100/300\n",
503
            "3/3 - 0s - loss: 1.8738e-04 - 10ms/epoch - 3ms/step\n",
504
            "Epoch 101/300\n",
505
            "3/3 - 0s - loss: 1.5480e-04 - 10ms/epoch - 3ms/step\n",
506
            "Epoch 102/300\n",
507
            "3/3 - 0s - loss: 1.7105e-04 - 10ms/epoch - 3ms/step\n",
508
            "Epoch 103/300\n",
509
            "3/3 - 0s - loss: 1.4210e-04 - 11ms/epoch - 4ms/step\n",
510
            "Epoch 104/300\n",
511
            "3/3 - 0s - loss: 1.4973e-04 - 11ms/epoch - 4ms/step\n",
512
            "Epoch 105/300\n",
513
            "3/3 - 0s - loss: 1.3315e-04 - 12ms/epoch - 4ms/step\n",
514
            "Epoch 106/300\n",
515
            "3/3 - 0s - loss: 1.2269e-04 - 12ms/epoch - 4ms/step\n",
516
            "Epoch 107/300\n",
517
            "3/3 - 0s - loss: 1.2132e-04 - 11ms/epoch - 4ms/step\n",
518
            "Epoch 108/300\n",
519
            "3/3 - 0s - loss: 1.0276e-04 - 11ms/epoch - 4ms/step\n",
520
            "Epoch 109/300\n",
521
            "3/3 - 0s - loss: 1.0838e-04 - 10ms/epoch - 3ms/step\n",
522
            "Epoch 110/300\n",
523
            "3/3 - 0s - loss: 1.0152e-04 - 10ms/epoch - 3ms/step\n",
524
            "Epoch 111/300\n",
525
            "3/3 - 0s - loss: 9.3861e-05 - 10ms/epoch - 3ms/step\n",
526
            "Epoch 112/300\n",
527
            "3/3 - 0s - loss: 8.2561e-05 - 9ms/epoch - 3ms/step\n",
528
            "Epoch 113/300\n",
529
            "3/3 - 0s - loss: 8.2601e-05 - 11ms/epoch - 4ms/step\n",
530
            "Epoch 114/300\n",
531
            "3/3 - 0s - loss: 7.4005e-05 - 9ms/epoch - 3ms/step\n",
532
            "Epoch 115/300\n",
533
            "3/3 - 0s - loss: 7.7541e-05 - 10ms/epoch - 3ms/step\n",
534
            "Epoch 116/300\n",
535
            "3/3 - 0s - loss: 6.6006e-05 - 12ms/epoch - 4ms/step\n",
536
            "Epoch 117/300\n",
537
            "3/3 - 0s - loss: 6.4523e-05 - 10ms/epoch - 3ms/step\n",
538
            "Epoch 118/300\n",
539
            "3/3 - 0s - loss: 6.4468e-05 - 10ms/epoch - 3ms/step\n",
540
            "Epoch 119/300\n",
541
            "3/3 - 0s - loss: 6.0156e-05 - 10ms/epoch - 3ms/step\n",
542
            "Epoch 120/300\n",
543
            "3/3 - 0s - loss: 5.5749e-05 - 9ms/epoch - 3ms/step\n",
544
            "Epoch 121/300\n",
545
            "3/3 - 0s - loss: 5.0933e-05 - 11ms/epoch - 4ms/step\n",
546
            "Epoch 122/300\n",
547
            "3/3 - 0s - loss: 5.1243e-05 - 11ms/epoch - 4ms/step\n",
548
            "Epoch 123/300\n",
549
            "3/3 - 0s - loss: 4.6262e-05 - 12ms/epoch - 4ms/step\n",
550
            "Epoch 124/300\n",
551
            "3/3 - 0s - loss: 4.6049e-05 - 10ms/epoch - 3ms/step\n",
552
            "Epoch 125/300\n",
553
            "3/3 - 0s - loss: 4.2880e-05 - 10ms/epoch - 3ms/step\n",
554
            "Epoch 126/300\n",
555
            "3/3 - 0s - loss: 4.0773e-05 - 11ms/epoch - 4ms/step\n",
556
            "Epoch 127/300\n",
557
            "3/3 - 0s - loss: 4.0393e-05 - 10ms/epoch - 3ms/step\n",
558
            "Epoch 128/300\n",
559
            "3/3 - 0s - loss: 4.4048e-05 - 10ms/epoch - 3ms/step\n",
560
            "Epoch 129/300\n",
561
            "3/3 - 0s - loss: 3.5081e-05 - 10ms/epoch - 3ms/step\n",
562
            "Epoch 130/300\n",
563
            "3/3 - 0s - loss: 3.8248e-05 - 10ms/epoch - 3ms/step\n",
564
            "Epoch 131/300\n",
565
            "3/3 - 0s - loss: 3.2229e-05 - 10ms/epoch - 3ms/step\n",
566
            "Epoch 132/300\n",
567
            "3/3 - 0s - loss: 3.0671e-05 - 9ms/epoch - 3ms/step\n",
568
            "Epoch 133/300\n",
569
            "3/3 - 0s - loss: 3.0762e-05 - 9ms/epoch - 3ms/step\n",
570
            "Epoch 134/300\n",
571
            "3/3 - 0s - loss: 2.7715e-05 - 10ms/epoch - 3ms/step\n",
572
            "Epoch 135/300\n",
573
            "3/3 - 0s - loss: 2.9620e-05 - 10ms/epoch - 3ms/step\n",
574
            "Epoch 136/300\n",
575
            "3/3 - 0s - loss: 2.6592e-05 - 12ms/epoch - 4ms/step\n",
576
            "Epoch 137/300\n",
577
            "3/3 - 0s - loss: 3.0199e-05 - 12ms/epoch - 4ms/step\n",
578
            "Epoch 138/300\n",
579
            "3/3 - 0s - loss: 2.5135e-05 - 11ms/epoch - 4ms/step\n",
580
            "Epoch 139/300\n",
581
            "3/3 - 0s - loss: 2.4707e-05 - 10ms/epoch - 3ms/step\n",
582
            "Epoch 140/300\n",
583
            "3/3 - 0s - loss: 2.3645e-05 - 10ms/epoch - 3ms/step\n",
584
            "Epoch 141/300\n",
585
            "3/3 - 0s - loss: 2.3964e-05 - 10ms/epoch - 3ms/step\n",
586
            "Epoch 142/300\n",
587
            "3/3 - 0s - loss: 2.2884e-05 - 10ms/epoch - 3ms/step\n",
588
            "Epoch 143/300\n",
589
            "3/3 - 0s - loss: 2.0532e-05 - 10ms/epoch - 3ms/step\n",
590
            "Epoch 144/300\n",
591
            "3/3 - 0s - loss: 2.1781e-05 - 11ms/epoch - 4ms/step\n",
592
            "Epoch 145/300\n",
593
            "3/3 - 0s - loss: 2.0647e-05 - 11ms/epoch - 4ms/step\n",
594
            "Epoch 146/300\n",
595
            "3/3 - 0s - loss: 1.9495e-05 - 12ms/epoch - 4ms/step\n",
596
            "Epoch 147/300\n",
597
            "3/3 - 0s - loss: 1.8582e-05 - 11ms/epoch - 4ms/step\n",
598
            "Epoch 148/300\n",
599
            "3/3 - 0s - loss: 1.8290e-05 - 11ms/epoch - 4ms/step\n",
600
            "Epoch 149/300\n",
601
            "3/3 - 0s - loss: 1.7448e-05 - 11ms/epoch - 4ms/step\n",
602
            "Epoch 150/300\n",
603
            "3/3 - 0s - loss: 1.7882e-05 - 10ms/epoch - 3ms/step\n",
604
            "Epoch 151/300\n",
605
            "3/3 - 0s - loss: 1.6310e-05 - 11ms/epoch - 4ms/step\n",
606
            "Epoch 152/300\n",
607
            "3/3 - 0s - loss: 1.6778e-05 - 10ms/epoch - 3ms/step\n",
608
            "Epoch 153/300\n",
609
            "3/3 - 0s - loss: 1.5487e-05 - 11ms/epoch - 4ms/step\n",
610
            "Epoch 154/300\n",
611
            "3/3 - 0s - loss: 1.5726e-05 - 10ms/epoch - 3ms/step\n",
612
            "Epoch 155/300\n",
613
            "3/3 - 0s - loss: 1.5094e-05 - 11ms/epoch - 4ms/step\n",
614
            "Epoch 156/300\n",
615
            "3/3 - 0s - loss: 1.4633e-05 - 10ms/epoch - 3ms/step\n",
616
            "Epoch 157/300\n",
617
            "3/3 - 0s - loss: 1.4032e-05 - 9ms/epoch - 3ms/step\n",
618
            "Epoch 158/300\n",
619
            "3/3 - 0s - loss: 1.3945e-05 - 10ms/epoch - 3ms/step\n",
620
            "Epoch 159/300\n",
621
            "3/3 - 0s - loss: 1.3617e-05 - 10ms/epoch - 3ms/step\n",
622
            "Epoch 160/300\n",
623
            "3/3 - 0s - loss: 1.3157e-05 - 11ms/epoch - 4ms/step\n",
624
            "Epoch 161/300\n",
625
            "3/3 - 0s - loss: 1.2828e-05 - 10ms/epoch - 3ms/step\n",
626
            "Epoch 162/300\n",
627
            "3/3 - 0s - loss: 1.2695e-05 - 14ms/epoch - 5ms/step\n",
628
            "Epoch 163/300\n",
629
            "3/3 - 0s - loss: 1.2114e-05 - 11ms/epoch - 4ms/step\n",
630
            "Epoch 164/300\n",
631
            "3/3 - 0s - loss: 1.2344e-05 - 11ms/epoch - 4ms/step\n",
632
            "Epoch 165/300\n",
633
            "3/3 - 0s - loss: 1.2030e-05 - 10ms/epoch - 3ms/step\n",
634
            "Epoch 166/300\n",
635
            "3/3 - 0s - loss: 1.1489e-05 - 10ms/epoch - 3ms/step\n",
636
            "Epoch 167/300\n",
637
            "3/3 - 0s - loss: 1.1404e-05 - 10ms/epoch - 3ms/step\n",
638
            "Epoch 168/300\n",
639
            "3/3 - 0s - loss: 1.0903e-05 - 11ms/epoch - 4ms/step\n",
640
            "Epoch 169/300\n",
641
            "3/3 - 0s - loss: 1.1463e-05 - 10ms/epoch - 3ms/step\n",
642
            "Epoch 170/300\n",
643
            "3/3 - 0s - loss: 1.0795e-05 - 11ms/epoch - 4ms/step\n",
644
            "Epoch 171/300\n",
645
            "3/3 - 0s - loss: 1.0607e-05 - 10ms/epoch - 3ms/step\n",
646
            "Epoch 172/300\n",
647
            "3/3 - 0s - loss: 1.1208e-05 - 10ms/epoch - 3ms/step\n",
648
            "Epoch 173/300\n",
649
            "3/3 - 0s - loss: 9.3615e-06 - 10ms/epoch - 3ms/step\n",
650
            "Epoch 174/300\n",
651
            "3/3 - 0s - loss: 9.6801e-06 - 11ms/epoch - 4ms/step\n",
652
            "Epoch 175/300\n",
653
            "3/3 - 0s - loss: 9.5731e-06 - 10ms/epoch - 3ms/step\n",
654
            "Epoch 176/300\n",
655
            "3/3 - 0s - loss: 8.6858e-06 - 12ms/epoch - 4ms/step\n",
656
            "Epoch 177/300\n",
657
            "3/3 - 0s - loss: 9.1015e-06 - 12ms/epoch - 4ms/step\n",
658
            "Epoch 178/300\n",
659
            "3/3 - 0s - loss: 8.4440e-06 - 11ms/epoch - 4ms/step\n",
660
            "Epoch 179/300\n",
661
            "3/3 - 0s - loss: 8.5789e-06 - 11ms/epoch - 4ms/step\n",
662
            "Epoch 180/300\n",
663
            "3/3 - 0s - loss: 8.1958e-06 - 9ms/epoch - 3ms/step\n",
664
            "Epoch 181/300\n",
665
            "3/3 - 0s - loss: 8.6107e-06 - 11ms/epoch - 4ms/step\n",
666
            "Epoch 182/300\n",
667
            "3/3 - 0s - loss: 8.1158e-06 - 10ms/epoch - 3ms/step\n",
668
            "Epoch 183/300\n",
669
            "3/3 - 0s - loss: 8.0382e-06 - 10ms/epoch - 3ms/step\n",
670
            "Epoch 184/300\n",
671
            "3/3 - 0s - loss: 8.3136e-06 - 12ms/epoch - 4ms/step\n",
672
            "Epoch 185/300\n",
673
            "3/3 - 0s - loss: 7.4128e-06 - 9ms/epoch - 3ms/step\n",
674
            "Epoch 186/300\n",
675
            "3/3 - 0s - loss: 7.8207e-06 - 11ms/epoch - 4ms/step\n",
676
            "Epoch 187/300\n",
677
            "3/3 - 0s - loss: 7.5321e-06 - 10ms/epoch - 3ms/step\n",
678
            "Epoch 188/300\n",
679
            "3/3 - 0s - loss: 7.2220e-06 - 10ms/epoch - 3ms/step\n",
680
            "Epoch 189/300\n",
681
            "3/3 - 0s - loss: 7.7224e-06 - 10ms/epoch - 3ms/step\n",
682
            "Epoch 190/300\n",
683
            "3/3 - 0s - loss: 7.0167e-06 - 10ms/epoch - 3ms/step\n",
684
            "Epoch 191/300\n",
685
            "3/3 - 0s - loss: 6.7280e-06 - 9ms/epoch - 3ms/step\n",
686
            "Epoch 192/300\n",
687
            "3/3 - 0s - loss: 7.3436e-06 - 11ms/epoch - 4ms/step\n",
688
            "Epoch 193/300\n",
689
            "3/3 - 0s - loss: 6.4096e-06 - 12ms/epoch - 4ms/step\n",
690
            "Epoch 194/300\n",
691
            "3/3 - 0s - loss: 7.1740e-06 - 10ms/epoch - 3ms/step\n",
692
            "Epoch 195/300\n",
693
            "3/3 - 0s - loss: 6.2640e-06 - 10ms/epoch - 3ms/step\n",
694
            "Epoch 196/300\n",
695
            "3/3 - 0s - loss: 5.9245e-06 - 10ms/epoch - 3ms/step\n",
696
            "Epoch 197/300\n",
697
            "3/3 - 0s - loss: 5.7851e-06 - 10ms/epoch - 3ms/step\n",
698
            "Epoch 198/300\n",
699
            "3/3 - 0s - loss: 6.1468e-06 - 10ms/epoch - 3ms/step\n",
700
            "Epoch 199/300\n",
701
            "3/3 - 0s - loss: 6.6124e-06 - 10ms/epoch - 3ms/step\n",
702
            "Epoch 200/300\n",
703
            "3/3 - 0s - loss: 6.1927e-06 - 10ms/epoch - 3ms/step\n",
704
            "Epoch 201/300\n",
705
            "3/3 - 0s - loss: 6.0981e-06 - 11ms/epoch - 4ms/step\n",
706
            "Epoch 202/300\n",
707
            "3/3 - 0s - loss: 5.6132e-06 - 10ms/epoch - 3ms/step\n",
708
            "Epoch 203/300\n",
709
            "3/3 - 0s - loss: 5.4261e-06 - 10ms/epoch - 3ms/step\n",
710
            "Epoch 204/300\n",
711
            "3/3 - 0s - loss: 5.8134e-06 - 10ms/epoch - 3ms/step\n",
712
            "Epoch 205/300\n",
713
            "3/3 - 0s - loss: 5.3261e-06 - 11ms/epoch - 4ms/step\n",
714
            "Epoch 206/300\n",
715
            "3/3 - 0s - loss: 5.6922e-06 - 10ms/epoch - 3ms/step\n",
716
            "Epoch 207/300\n",
717
            "3/3 - 0s - loss: 5.3886e-06 - 10ms/epoch - 3ms/step\n",
718
            "Epoch 208/300\n",
719
            "3/3 - 0s - loss: 5.2678e-06 - 10ms/epoch - 3ms/step\n",
720
            "Epoch 209/300\n",
721
            "3/3 - 0s - loss: 5.1627e-06 - 11ms/epoch - 4ms/step\n",
722
            "Epoch 210/300\n",
723
            "3/3 - 0s - loss: 5.3975e-06 - 10ms/epoch - 3ms/step\n",
724
            "Epoch 211/300\n",
725
            "3/3 - 0s - loss: 4.5620e-06 - 10ms/epoch - 3ms/step\n",
726
            "Epoch 212/300\n",
727
            "3/3 - 0s - loss: 5.5581e-06 - 11ms/epoch - 4ms/step\n",
728
            "Epoch 213/300\n",
729
            "3/3 - 0s - loss: 4.7086e-06 - 11ms/epoch - 4ms/step\n",
730
            "Epoch 214/300\n",
731
            "3/3 - 0s - loss: 5.0151e-06 - 11ms/epoch - 4ms/step\n",
732
            "Epoch 215/300\n",
733
            "3/3 - 0s - loss: 4.8620e-06 - 12ms/epoch - 4ms/step\n",
734
            "Epoch 216/300\n",
735
            "3/3 - 0s - loss: 4.2306e-06 - 10ms/epoch - 3ms/step\n",
736
            "Epoch 217/300\n",
737
            "3/3 - 0s - loss: 4.8022e-06 - 11ms/epoch - 4ms/step\n",
738
            "Epoch 218/300\n",
739
            "3/3 - 0s - loss: 4.1304e-06 - 10ms/epoch - 3ms/step\n",
740
            "Epoch 219/300\n",
741
            "3/3 - 0s - loss: 4.4333e-06 - 11ms/epoch - 4ms/step\n",
742
            "Epoch 220/300\n",
743
            "3/3 - 0s - loss: 4.3856e-06 - 11ms/epoch - 4ms/step\n",
744
            "Epoch 221/300\n",
745
            "3/3 - 0s - loss: 3.7280e-06 - 10ms/epoch - 3ms/step\n",
746
            "Epoch 222/300\n",
747
            "3/3 - 0s - loss: 4.2963e-06 - 12ms/epoch - 4ms/step\n",
748
            "Epoch 223/300\n",
749
            "3/3 - 0s - loss: 3.8061e-06 - 12ms/epoch - 4ms/step\n",
750
            "Epoch 224/300\n",
751
            "3/3 - 0s - loss: 4.0099e-06 - 11ms/epoch - 4ms/step\n",
752
            "Epoch 225/300\n",
753
            "3/3 - 0s - loss: 4.1208e-06 - 12ms/epoch - 4ms/step\n",
754
            "Epoch 226/300\n",
755
            "3/3 - 0s - loss: 3.7706e-06 - 11ms/epoch - 4ms/step\n",
756
            "Epoch 227/300\n",
757
            "3/3 - 0s - loss: 3.6554e-06 - 12ms/epoch - 4ms/step\n",
758
            "Epoch 228/300\n",
759
            "3/3 - 0s - loss: 3.8271e-06 - 11ms/epoch - 4ms/step\n",
760
            "Epoch 229/300\n",
761
            "3/3 - 0s - loss: 3.6408e-06 - 10ms/epoch - 3ms/step\n",
762
            "Epoch 230/300\n",
763
            "3/3 - 0s - loss: 3.8301e-06 - 11ms/epoch - 4ms/step\n",
764
            "Epoch 231/300\n",
765
            "3/3 - 0s - loss: 3.9109e-06 - 10ms/epoch - 3ms/step\n",
766
            "Epoch 232/300\n",
767
            "3/3 - 0s - loss: 3.7608e-06 - 10ms/epoch - 3ms/step\n",
768
            "Epoch 233/300\n",
769
            "3/3 - 0s - loss: 4.0293e-06 - 11ms/epoch - 4ms/step\n",
770
            "Epoch 234/300\n",
771
            "3/3 - 0s - loss: 3.4236e-06 - 11ms/epoch - 4ms/step\n",
772
            "Epoch 235/300\n",
773
            "3/3 - 0s - loss: 3.7379e-06 - 11ms/epoch - 4ms/step\n",
774
            "Epoch 236/300\n",
775
            "3/3 - 0s - loss: 3.6925e-06 - 11ms/epoch - 4ms/step\n",
776
            "Epoch 237/300\n",
777
            "3/3 - 0s - loss: 3.3738e-06 - 11ms/epoch - 4ms/step\n",
778
            "Epoch 238/300\n",
779
            "3/3 - 0s - loss: 3.6437e-06 - 11ms/epoch - 4ms/step\n",
780
            "Epoch 239/300\n",
781
            "3/3 - 0s - loss: 3.1176e-06 - 10ms/epoch - 3ms/step\n",
782
            "Epoch 240/300\n",
783
            "3/3 - 0s - loss: 3.1168e-06 - 11ms/epoch - 4ms/step\n",
784
            "Epoch 241/300\n",
785
            "3/3 - 0s - loss: 3.1751e-06 - 11ms/epoch - 4ms/step\n",
786
            "Epoch 242/300\n",
787
            "3/3 - 0s - loss: 3.0683e-06 - 10ms/epoch - 3ms/step\n",
788
            "Epoch 243/300\n",
789
            "3/3 - 0s - loss: 2.9676e-06 - 10ms/epoch - 3ms/step\n",
790
            "Epoch 244/300\n",
791
            "3/3 - 0s - loss: 3.3126e-06 - 11ms/epoch - 4ms/step\n",
792
            "Epoch 245/300\n",
793
            "3/3 - 0s - loss: 2.9347e-06 - 11ms/epoch - 4ms/step\n",
794
            "Epoch 246/300\n",
795
            "3/3 - 0s - loss: 3.2757e-06 - 10ms/epoch - 3ms/step\n",
796
            "Epoch 247/300\n",
797
            "3/3 - 0s - loss: 3.2142e-06 - 11ms/epoch - 4ms/step\n",
798
            "Epoch 248/300\n",
799
            "3/3 - 0s - loss: 3.2176e-06 - 10ms/epoch - 3ms/step\n",
800
            "Epoch 249/300\n",
801
            "3/3 - 0s - loss: 2.8382e-06 - 9ms/epoch - 3ms/step\n",
802
            "Epoch 250/300\n",
803
            "3/3 - 0s - loss: 3.0712e-06 - 10ms/epoch - 3ms/step\n",
804
            "Epoch 251/300\n",
805
            "3/3 - 0s - loss: 2.9336e-06 - 10ms/epoch - 3ms/step\n",
806
            "Epoch 252/300\n",
807
            "3/3 - 0s - loss: 2.7713e-06 - 11ms/epoch - 4ms/step\n",
808
            "Epoch 253/300\n",
809
            "3/3 - 0s - loss: 3.1205e-06 - 11ms/epoch - 4ms/step\n",
810
            "Epoch 254/300\n",
811
            "3/3 - 0s - loss: 2.7059e-06 - 10ms/epoch - 3ms/step\n",
812
            "Epoch 255/300\n",
813
            "3/3 - 0s - loss: 2.9267e-06 - 12ms/epoch - 4ms/step\n",
814
            "Epoch 256/300\n",
815
            "3/3 - 0s - loss: 2.6573e-06 - 11ms/epoch - 4ms/step\n",
816
            "Epoch 257/300\n",
817
            "3/3 - 0s - loss: 2.7912e-06 - 11ms/epoch - 4ms/step\n",
818
            "Epoch 258/300\n",
819
            "3/3 - 0s - loss: 2.9237e-06 - 12ms/epoch - 4ms/step\n",
820
            "Epoch 259/300\n",
821
            "3/3 - 0s - loss: 3.3254e-06 - 10ms/epoch - 3ms/step\n",
822
            "Epoch 260/300\n",
823
            "3/3 - 0s - loss: 3.2088e-06 - 9ms/epoch - 3ms/step\n",
824
            "Epoch 261/300\n",
825
            "3/3 - 0s - loss: 2.8664e-06 - 11ms/epoch - 4ms/step\n",
826
            "Epoch 262/300\n",
827
            "3/3 - 0s - loss: 2.8006e-06 - 10ms/epoch - 3ms/step\n",
828
            "Epoch 263/300\n",
829
            "3/3 - 0s - loss: 4.1102e-06 - 10ms/epoch - 3ms/step\n",
830
            "Epoch 264/300\n",
831
            "3/3 - 0s - loss: 3.0658e-06 - 9ms/epoch - 3ms/step\n",
832
            "Epoch 265/300\n",
833
            "3/3 - 0s - loss: 2.1988e-06 - 11ms/epoch - 4ms/step\n",
834
            "Epoch 266/300\n",
835
            "3/3 - 0s - loss: 2.3797e-06 - 11ms/epoch - 4ms/step\n",
836
            "Epoch 267/300\n",
837
            "3/3 - 0s - loss: 2.1137e-06 - 11ms/epoch - 4ms/step\n",
838
            "Epoch 268/300\n",
839
            "3/3 - 0s - loss: 2.2700e-06 - 10ms/epoch - 3ms/step\n",
840
            "Epoch 269/300\n",
841
            "3/3 - 0s - loss: 2.3573e-06 - 11ms/epoch - 4ms/step\n",
842
            "Epoch 270/300\n",
843
            "3/3 - 0s - loss: 2.0647e-06 - 11ms/epoch - 4ms/step\n",
844
            "Epoch 271/300\n",
845
            "3/3 - 0s - loss: 2.2215e-06 - 11ms/epoch - 4ms/step\n",
846
            "Epoch 272/300\n",
847
            "3/3 - 0s - loss: 2.2609e-06 - 12ms/epoch - 4ms/step\n",
848
            "Epoch 273/300\n",
849
            "3/3 - 0s - loss: 2.1239e-06 - 11ms/epoch - 4ms/step\n",
850
            "Epoch 274/300\n",
851
            "3/3 - 0s - loss: 2.0631e-06 - 13ms/epoch - 4ms/step\n",
852
            "Epoch 275/300\n",
853
            "3/3 - 0s - loss: 2.1012e-06 - 11ms/epoch - 4ms/step\n",
854
            "Epoch 276/300\n",
855
            "3/3 - 0s - loss: 2.0158e-06 - 11ms/epoch - 4ms/step\n",
856
            "Epoch 277/300\n",
857
            "3/3 - 0s - loss: 2.0523e-06 - 13ms/epoch - 4ms/step\n",
858
            "Epoch 278/300\n",
859
            "3/3 - 0s - loss: 2.0416e-06 - 11ms/epoch - 4ms/step\n",
860
            "Epoch 279/300\n",
861
            "3/3 - 0s - loss: 2.1009e-06 - 10ms/epoch - 3ms/step\n",
862
            "Epoch 280/300\n",
863
            "3/3 - 0s - loss: 1.9421e-06 - 10ms/epoch - 3ms/step\n",
864
            "Epoch 281/300\n",
865
            "3/3 - 0s - loss: 1.9659e-06 - 11ms/epoch - 4ms/step\n",
866
            "Epoch 282/300\n",
867
            "3/3 - 0s - loss: 1.9462e-06 - 11ms/epoch - 4ms/step\n",
868
            "Epoch 283/300\n",
869
            "3/3 - 0s - loss: 1.7357e-06 - 11ms/epoch - 4ms/step\n",
870
            "Epoch 284/300\n",
871
            "3/3 - 0s - loss: 1.7213e-06 - 11ms/epoch - 4ms/step\n",
872
            "Epoch 285/300\n",
873
            "3/3 - 0s - loss: 1.7748e-06 - 11ms/epoch - 4ms/step\n",
874
            "Epoch 286/300\n",
875
            "3/3 - 0s - loss: 1.9336e-06 - 11ms/epoch - 4ms/step\n",
876
            "Epoch 287/300\n",
877
            "3/3 - 0s - loss: 1.7405e-06 - 10ms/epoch - 3ms/step\n",
878
            "Epoch 288/300\n",
879
            "3/3 - 0s - loss: 2.1245e-06 - 11ms/epoch - 4ms/step\n",
880
            "Epoch 289/300\n",
881
            "3/3 - 0s - loss: 2.0561e-06 - 10ms/epoch - 3ms/step\n",
882
            "Epoch 290/300\n",
883
            "3/3 - 0s - loss: 2.0798e-06 - 10ms/epoch - 3ms/step\n",
884
            "Epoch 291/300\n",
885
            "3/3 - 0s - loss: 1.7068e-06 - 11ms/epoch - 4ms/step\n",
886
            "Epoch 292/300\n",
887
            "3/3 - 0s - loss: 1.9205e-06 - 11ms/epoch - 4ms/step\n",
888
            "Epoch 293/300\n",
889
            "3/3 - 0s - loss: 1.7442e-06 - 10ms/epoch - 3ms/step\n",
890
            "Epoch 294/300\n",
891
            "3/3 - 0s - loss: 1.7597e-06 - 11ms/epoch - 4ms/step\n",
892
            "Epoch 295/300\n",
893
            "3/3 - 0s - loss: 1.5517e-06 - 11ms/epoch - 4ms/step\n",
894
            "Epoch 296/300\n",
895
            "3/3 - 0s - loss: 1.7890e-06 - 10ms/epoch - 3ms/step\n",
896
            "Epoch 297/300\n",
897
            "3/3 - 0s - loss: 1.8468e-06 - 10ms/epoch - 3ms/step\n",
898
            "Epoch 298/300\n",
899
            "3/3 - 0s - loss: 1.6581e-06 - 10ms/epoch - 3ms/step\n",
900
            "Epoch 299/300\n",
901
            "3/3 - 0s - loss: 1.6944e-06 - 10ms/epoch - 3ms/step\n",
902
            "Epoch 300/300\n",
903
            "3/3 - 0s - loss: 1.7180e-06 - 11ms/epoch - 4ms/step\n"
904
          ]
905
        },
906
        {
907
          "output_type": "execute_result",
908
          "data": {
909
            "text/plain": [
910
              "<keras.src.callbacks.History at 0x786a65815d20>"
911
            ]
912
          },
913
          "metadata": {},
914
          "execution_count": 56
915
        }
916
      ]
917
    },
918
    {
919
      "cell_type": "code",
920
      "metadata": {
921
        "id": "n-aNP4n3sqG_",
922
        "outputId": "e3333292-23f1-4a0a-c06f-e01a74493282",
923
        "colab": {
924
          "base_uri": "https://localhost:8080/",
925
          "height": 443
926
        }
927
      },
928
      "source": [
929
        "# Plotting code, feel free to ignore.\n",
930
        "h = 1.0\n",
931
        "x_min, x_max = X[:, 0].min() - 5, X[:, 0].max() + 5\n",
932
        "y_min, y_max = X[:, 1].min() - 5, X[:, 1].max() + 5\n",
933
        "xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n",
934
        "                     np.arange(y_min, y_max, h))\n",
935
        "\n",
936
        "# here \"model\" is your model's prediction (classification) function\n",
937
        "Z = tn_model.predict(np.c_[xx.ravel(), yy.ravel()])\n",
938
        "\n",
939
        "# Put the result into a color plot\n",
940
        "Z = Z.reshape(xx.shape)\n",
941
        "plt.contourf(xx, yy, Z)\n",
942
        "plt.axis('off')\n",
943
        "\n",
944
        "# Plot also the training points\n",
945
        "plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=plt.cm.Paired)"
946
      ],
947
      "execution_count": 57,
948
      "outputs": [
949
        {
950
          "output_type": "stream",
951
          "name": "stdout",
952
          "text": [
953
            "14/14 [==============================] - 0s 2ms/step\n"
954
          ]
955
        },
956
        {
957
          "output_type": "execute_result",
958
          "data": {
959
            "text/plain": [
960
              "<matplotlib.collections.PathCollection at 0x786a65602620>"
961
            ]
962
          },
963
          "metadata": {},
964
          "execution_count": 57
965
        },
966
        {
967
          "output_type": "display_data",
968
          "data": {
969
            "text/plain": [
970
              "<Figure size 640x480 with 1 Axes>"
971
            ],
972
            "image/png": "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\n"
973
          },
974
          "metadata": {}
975
        }
976
      ]
977
    },
978
    {
979
      "cell_type": "code",
980
      "source": [
981
        "seconds = time.time()\n",
982
        "print(\"Time in seconds since end of run:\", seconds)\n",
983
        "local_time = time.ctime(seconds)\n",
984
        "print(local_time)"
985
      ],
986
      "metadata": {
987
        "colab": {
988
          "base_uri": "https://localhost:8080/",
989
          "height": 0
990
        },
991
        "id": "wfZCzuq9KY9b",
992
        "outputId": "55094d23-e05a-4e9e-9bc8-e8b5d91e44ef"
993
      },
994
      "execution_count": 58,
995
      "outputs": [
996
        {
997
          "output_type": "stream",
998
          "name": "stdout",
999
          "text": [
1000
            "Time in seconds since end of run: 1709531172.417285\n",
1001
            "Mon Mar  4 05:46:12 2024\n"
1002
          ]
1003
        }
1004
      ]
1005
    },
1006
    {
1007
      "cell_type": "code",
1008
      "source": [
1009
        "seconds = time.time()\n",
1010
        "print(\"Time in seconds since beginning of run:\", seconds)\n",
1011
        "local_time = time.ctime(seconds)\n",
1012
        "print(local_time)"
1013
      ],
1014
      "metadata": {
1015
        "colab": {
1016
          "base_uri": "https://localhost:8080/",
1017
          "height": 0
1018
        },
1019
        "id": "Ft6S13x6KuEQ",
1020
        "outputId": "425bcc82-b55e-49f2-86b6-1932e5ed8025"
1021
      },
1022
      "execution_count": 59,
1023
      "outputs": [
1024
        {
1025
          "output_type": "stream",
1026
          "name": "stdout",
1027
          "text": [
1028
            "Time in seconds since beginning of run: 1709531172.4279752\n",
1029
            "Mon Mar  4 05:46:12 2024\n"
1030
          ]
1031
        }
1032
      ]
1033
    },
1034
    {
1035
      "cell_type": "markdown",
1036
      "metadata": {
1037
        "id": "BMxSJo5gtOmQ"
1038
      },
1039
      "source": [
1040
        "# VS Fully Connected"
1041
      ]
1042
    },
1043
    {
1044
      "cell_type": "code",
1045
      "metadata": {
1046
        "id": "NKQx7stYswzU",
1047
        "outputId": "fd3f1273-2a7c-4e72-eb34-1da87a65216d",
1048
        "colab": {
1049
          "base_uri": "https://localhost:8080/",
1050
          "height": 11458
1051
        }
1052
      },
1053
      "source": [
1054
        "fc_model.compile(optimizer=\"adam\", loss=\"mean_squared_error\")\n",
1055
        "fc_model.fit(X, Y, epochs=300, verbose=2)\n",
1056
        "# Plotting code, feel free to ignore.\n",
1057
        "h = 1.0\n",
1058
        "x_min, x_max = X[:, 0].min() - 5, X[:, 0].max() + 5\n",
1059
        "y_min, y_max = X[:, 1].min() - 5, X[:, 1].max() + 5\n",
1060
        "xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n",
1061
        "                     np.arange(y_min, y_max, h))\n",
1062
        "\n",
1063
        "# here \"model\" is your model's prediction (classification) function\n",
1064
        "Z = fc_model.predict(np.c_[xx.ravel(), yy.ravel()])\n",
1065
        "\n",
1066
        "# Put the result into a color plot\n",
1067
        "Z = Z.reshape(xx.shape)\n",
1068
        "plt.contourf(xx, yy, Z)\n",
1069
        "plt.axis('off')\n",
1070
        "\n",
1071
        "# Plot also the training points\n",
1072
        "plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=plt.cm.Paired)"
1073
      ],
1074
      "execution_count": 60,
1075
      "outputs": [
1076
        {
1077
          "output_type": "stream",
1078
          "name": "stdout",
1079
          "text": [
1080
            "Epoch 1/300\n",
1081
            "3/3 - 1s - loss: 0.5656 - 654ms/epoch - 218ms/step\n",
1082
            "Epoch 2/300\n",
1083
            "3/3 - 0s - loss: 0.1959 - 24ms/epoch - 8ms/step\n",
1084
            "Epoch 3/300\n",
1085
            "3/3 - 0s - loss: 0.1423 - 22ms/epoch - 7ms/step\n",
1086
            "Epoch 4/300\n",
1087
            "3/3 - 0s - loss: 0.0917 - 23ms/epoch - 8ms/step\n",
1088
            "Epoch 5/300\n",
1089
            "3/3 - 0s - loss: 0.0828 - 25ms/epoch - 8ms/step\n",
1090
            "Epoch 6/300\n",
1091
            "3/3 - 0s - loss: 0.0827 - 23ms/epoch - 8ms/step\n",
1092
            "Epoch 7/300\n",
1093
            "3/3 - 0s - loss: 0.0680 - 25ms/epoch - 8ms/step\n",
1094
            "Epoch 8/300\n",
1095
            "3/3 - 0s - loss: 0.0680 - 24ms/epoch - 8ms/step\n",
1096
            "Epoch 9/300\n",
1097
            "3/3 - 0s - loss: 0.0605 - 28ms/epoch - 9ms/step\n",
1098
            "Epoch 10/300\n",
1099
            "3/3 - 0s - loss: 0.0632 - 24ms/epoch - 8ms/step\n",
1100
            "Epoch 11/300\n",
1101
            "3/3 - 0s - loss: 0.0537 - 22ms/epoch - 7ms/step\n",
1102
            "Epoch 12/300\n",
1103
            "3/3 - 0s - loss: 0.0523 - 27ms/epoch - 9ms/step\n",
1104
            "Epoch 13/300\n",
1105
            "3/3 - 0s - loss: 0.0522 - 24ms/epoch - 8ms/step\n",
1106
            "Epoch 14/300\n",
1107
            "3/3 - 0s - loss: 0.0483 - 21ms/epoch - 7ms/step\n",
1108
            "Epoch 15/300\n",
1109
            "3/3 - 0s - loss: 0.0498 - 23ms/epoch - 8ms/step\n",
1110
            "Epoch 16/300\n",
1111
            "3/3 - 0s - loss: 0.0444 - 24ms/epoch - 8ms/step\n",
1112
            "Epoch 17/300\n",
1113
            "3/3 - 0s - loss: 0.0487 - 27ms/epoch - 9ms/step\n",
1114
            "Epoch 18/300\n",
1115
            "3/3 - 0s - loss: 0.0467 - 25ms/epoch - 8ms/step\n",
1116
            "Epoch 19/300\n",
1117
            "3/3 - 0s - loss: 0.0419 - 26ms/epoch - 9ms/step\n",
1118
            "Epoch 20/300\n",
1119
            "3/3 - 0s - loss: 0.0439 - 27ms/epoch - 9ms/step\n",
1120
            "Epoch 21/300\n",
1121
            "3/3 - 0s - loss: 0.0406 - 28ms/epoch - 9ms/step\n",
1122
            "Epoch 22/300\n",
1123
            "3/3 - 0s - loss: 0.0414 - 23ms/epoch - 8ms/step\n",
1124
            "Epoch 23/300\n",
1125
            "3/3 - 0s - loss: 0.0421 - 28ms/epoch - 9ms/step\n",
1126
            "Epoch 24/300\n",
1127
            "3/3 - 0s - loss: 0.0378 - 28ms/epoch - 9ms/step\n",
1128
            "Epoch 25/300\n",
1129
            "3/3 - 0s - loss: 0.0382 - 23ms/epoch - 8ms/step\n",
1130
            "Epoch 26/300\n",
1131
            "3/3 - 0s - loss: 0.0425 - 27ms/epoch - 9ms/step\n",
1132
            "Epoch 27/300\n",
1133
            "3/3 - 0s - loss: 0.0505 - 26ms/epoch - 9ms/step\n",
1134
            "Epoch 28/300\n",
1135
            "3/3 - 0s - loss: 0.0423 - 23ms/epoch - 8ms/step\n",
1136
            "Epoch 29/300\n",
1137
            "3/3 - 0s - loss: 0.0513 - 28ms/epoch - 9ms/step\n",
1138
            "Epoch 30/300\n",
1139
            "3/3 - 0s - loss: 0.0385 - 26ms/epoch - 9ms/step\n",
1140
            "Epoch 31/300\n",
1141
            "3/3 - 0s - loss: 0.0392 - 28ms/epoch - 9ms/step\n",
1142
            "Epoch 32/300\n",
1143
            "3/3 - 0s - loss: 0.0417 - 28ms/epoch - 9ms/step\n",
1144
            "Epoch 33/300\n",
1145
            "3/3 - 0s - loss: 0.0414 - 26ms/epoch - 9ms/step\n",
1146
            "Epoch 34/300\n",
1147
            "3/3 - 0s - loss: 0.0374 - 28ms/epoch - 9ms/step\n",
1148
            "Epoch 35/300\n",
1149
            "3/3 - 0s - loss: 0.0348 - 26ms/epoch - 9ms/step\n",
1150
            "Epoch 36/300\n",
1151
            "3/3 - 0s - loss: 0.0319 - 27ms/epoch - 9ms/step\n",
1152
            "Epoch 37/300\n",
1153
            "3/3 - 0s - loss: 0.0429 - 23ms/epoch - 8ms/step\n",
1154
            "Epoch 38/300\n",
1155
            "3/3 - 0s - loss: 0.0382 - 23ms/epoch - 8ms/step\n",
1156
            "Epoch 39/300\n",
1157
            "3/3 - 0s - loss: 0.0266 - 20ms/epoch - 7ms/step\n",
1158
            "Epoch 40/300\n",
1159
            "3/3 - 0s - loss: 0.0399 - 25ms/epoch - 8ms/step\n",
1160
            "Epoch 41/300\n",
1161
            "3/3 - 0s - loss: 0.0336 - 26ms/epoch - 9ms/step\n",
1162
            "Epoch 42/300\n",
1163
            "3/3 - 0s - loss: 0.0293 - 23ms/epoch - 8ms/step\n",
1164
            "Epoch 43/300\n",
1165
            "3/3 - 0s - loss: 0.0304 - 24ms/epoch - 8ms/step\n",
1166
            "Epoch 44/300\n",
1167
            "3/3 - 0s - loss: 0.0370 - 24ms/epoch - 8ms/step\n",
1168
            "Epoch 45/300\n",
1169
            "3/3 - 0s - loss: 0.0295 - 21ms/epoch - 7ms/step\n",
1170
            "Epoch 46/300\n",
1171
            "3/3 - 0s - loss: 0.0278 - 23ms/epoch - 8ms/step\n",
1172
            "Epoch 47/300\n",
1173
            "3/3 - 0s - loss: 0.0298 - 22ms/epoch - 7ms/step\n",
1174
            "Epoch 48/300\n",
1175
            "3/3 - 0s - loss: 0.0244 - 21ms/epoch - 7ms/step\n",
1176
            "Epoch 49/300\n",
1177
            "3/3 - 0s - loss: 0.0270 - 24ms/epoch - 8ms/step\n",
1178
            "Epoch 50/300\n",
1179
            "3/3 - 0s - loss: 0.0191 - 25ms/epoch - 8ms/step\n",
1180
            "Epoch 51/300\n",
1181
            "3/3 - 0s - loss: 0.0257 - 22ms/epoch - 7ms/step\n",
1182
            "Epoch 52/300\n",
1183
            "3/3 - 0s - loss: 0.0229 - 26ms/epoch - 9ms/step\n",
1184
            "Epoch 53/300\n",
1185
            "3/3 - 0s - loss: 0.0226 - 26ms/epoch - 9ms/step\n",
1186
            "Epoch 54/300\n",
1187
            "3/3 - 0s - loss: 0.0251 - 28ms/epoch - 9ms/step\n",
1188
            "Epoch 55/300\n",
1189
            "3/3 - 0s - loss: 0.0231 - 25ms/epoch - 8ms/step\n",
1190
            "Epoch 56/300\n",
1191
            "3/3 - 0s - loss: 0.0268 - 24ms/epoch - 8ms/step\n",
1192
            "Epoch 57/300\n",
1193
            "3/3 - 0s - loss: 0.0274 - 26ms/epoch - 9ms/step\n",
1194
            "Epoch 58/300\n",
1195
            "3/3 - 0s - loss: 0.0182 - 26ms/epoch - 9ms/step\n",
1196
            "Epoch 59/300\n",
1197
            "3/3 - 0s - loss: 0.0233 - 25ms/epoch - 8ms/step\n",
1198
            "Epoch 60/300\n",
1199
            "3/3 - 0s - loss: 0.0189 - 26ms/epoch - 9ms/step\n",
1200
            "Epoch 61/300\n",
1201
            "3/3 - 0s - loss: 0.0133 - 26ms/epoch - 9ms/step\n",
1202
            "Epoch 62/300\n",
1203
            "3/3 - 0s - loss: 0.0144 - 30ms/epoch - 10ms/step\n",
1204
            "Epoch 63/300\n",
1205
            "3/3 - 0s - loss: 0.0157 - 25ms/epoch - 8ms/step\n",
1206
            "Epoch 64/300\n",
1207
            "3/3 - 0s - loss: 0.0119 - 27ms/epoch - 9ms/step\n",
1208
            "Epoch 65/300\n",
1209
            "3/3 - 0s - loss: 0.0188 - 27ms/epoch - 9ms/step\n",
1210
            "Epoch 66/300\n",
1211
            "3/3 - 0s - loss: 0.0130 - 25ms/epoch - 8ms/step\n",
1212
            "Epoch 67/300\n",
1213
            "3/3 - 0s - loss: 0.0116 - 25ms/epoch - 8ms/step\n",
1214
            "Epoch 68/300\n",
1215
            "3/3 - 0s - loss: 0.0110 - 25ms/epoch - 8ms/step\n",
1216
            "Epoch 69/300\n",
1217
            "3/3 - 0s - loss: 0.0073 - 29ms/epoch - 10ms/step\n",
1218
            "Epoch 70/300\n",
1219
            "3/3 - 0s - loss: 0.0097 - 25ms/epoch - 8ms/step\n",
1220
            "Epoch 71/300\n",
1221
            "3/3 - 0s - loss: 0.0088 - 28ms/epoch - 9ms/step\n",
1222
            "Epoch 72/300\n",
1223
            "3/3 - 0s - loss: 0.0063 - 25ms/epoch - 8ms/step\n",
1224
            "Epoch 73/300\n",
1225
            "3/3 - 0s - loss: 0.0058 - 23ms/epoch - 8ms/step\n",
1226
            "Epoch 74/300\n",
1227
            "3/3 - 0s - loss: 0.0060 - 25ms/epoch - 8ms/step\n",
1228
            "Epoch 75/300\n",
1229
            "3/3 - 0s - loss: 0.0094 - 23ms/epoch - 8ms/step\n",
1230
            "Epoch 76/300\n",
1231
            "3/3 - 0s - loss: 0.0106 - 28ms/epoch - 9ms/step\n",
1232
            "Epoch 77/300\n",
1233
            "3/3 - 0s - loss: 0.0083 - 28ms/epoch - 9ms/step\n",
1234
            "Epoch 78/300\n",
1235
            "3/3 - 0s - loss: 0.0048 - 28ms/epoch - 9ms/step\n",
1236
            "Epoch 79/300\n",
1237
            "3/3 - 0s - loss: 0.0048 - 26ms/epoch - 9ms/step\n",
1238
            "Epoch 80/300\n",
1239
            "3/3 - 0s - loss: 0.0046 - 24ms/epoch - 8ms/step\n",
1240
            "Epoch 81/300\n",
1241
            "3/3 - 0s - loss: 0.0029 - 26ms/epoch - 9ms/step\n",
1242
            "Epoch 82/300\n",
1243
            "3/3 - 0s - loss: 0.0026 - 24ms/epoch - 8ms/step\n",
1244
            "Epoch 83/300\n",
1245
            "3/3 - 0s - loss: 0.0030 - 28ms/epoch - 9ms/step\n",
1246
            "Epoch 84/300\n",
1247
            "3/3 - 0s - loss: 0.0032 - 25ms/epoch - 8ms/step\n",
1248
            "Epoch 85/300\n",
1249
            "3/3 - 0s - loss: 0.0040 - 23ms/epoch - 8ms/step\n",
1250
            "Epoch 86/300\n",
1251
            "3/3 - 0s - loss: 0.0045 - 25ms/epoch - 8ms/step\n",
1252
            "Epoch 87/300\n",
1253
            "3/3 - 0s - loss: 0.0047 - 26ms/epoch - 9ms/step\n",
1254
            "Epoch 88/300\n",
1255
            "3/3 - 0s - loss: 0.0033 - 23ms/epoch - 8ms/step\n",
1256
            "Epoch 89/300\n",
1257
            "3/3 - 0s - loss: 0.0034 - 30ms/epoch - 10ms/step\n",
1258
            "Epoch 90/300\n",
1259
            "3/3 - 0s - loss: 0.0083 - 26ms/epoch - 9ms/step\n",
1260
            "Epoch 91/300\n",
1261
            "3/3 - 0s - loss: 0.0109 - 23ms/epoch - 8ms/step\n",
1262
            "Epoch 92/300\n",
1263
            "3/3 - 0s - loss: 0.0065 - 24ms/epoch - 8ms/step\n",
1264
            "Epoch 93/300\n",
1265
            "3/3 - 0s - loss: 0.0046 - 24ms/epoch - 8ms/step\n",
1266
            "Epoch 94/300\n",
1267
            "3/3 - 0s - loss: 0.0068 - 25ms/epoch - 8ms/step\n",
1268
            "Epoch 95/300\n",
1269
            "3/3 - 0s - loss: 0.0096 - 26ms/epoch - 9ms/step\n",
1270
            "Epoch 96/300\n",
1271
            "3/3 - 0s - loss: 0.0103 - 24ms/epoch - 8ms/step\n",
1272
            "Epoch 97/300\n",
1273
            "3/3 - 0s - loss: 0.0119 - 22ms/epoch - 7ms/step\n",
1274
            "Epoch 98/300\n",
1275
            "3/3 - 0s - loss: 0.0069 - 28ms/epoch - 9ms/step\n",
1276
            "Epoch 99/300\n",
1277
            "3/3 - 0s - loss: 0.0075 - 23ms/epoch - 8ms/step\n",
1278
            "Epoch 100/300\n",
1279
            "3/3 - 0s - loss: 0.0057 - 27ms/epoch - 9ms/step\n",
1280
            "Epoch 101/300\n",
1281
            "3/3 - 0s - loss: 0.0032 - 27ms/epoch - 9ms/step\n",
1282
            "Epoch 102/300\n",
1283
            "3/3 - 0s - loss: 0.0039 - 26ms/epoch - 9ms/step\n",
1284
            "Epoch 103/300\n",
1285
            "3/3 - 0s - loss: 0.0029 - 25ms/epoch - 8ms/step\n",
1286
            "Epoch 104/300\n",
1287
            "3/3 - 0s - loss: 0.0031 - 28ms/epoch - 9ms/step\n",
1288
            "Epoch 105/300\n",
1289
            "3/3 - 0s - loss: 0.0021 - 27ms/epoch - 9ms/step\n",
1290
            "Epoch 106/300\n",
1291
            "3/3 - 0s - loss: 0.0015 - 24ms/epoch - 8ms/step\n",
1292
            "Epoch 107/300\n",
1293
            "3/3 - 0s - loss: 0.0014 - 23ms/epoch - 8ms/step\n",
1294
            "Epoch 108/300\n",
1295
            "3/3 - 0s - loss: 0.0013 - 29ms/epoch - 10ms/step\n",
1296
            "Epoch 109/300\n",
1297
            "3/3 - 0s - loss: 0.0022 - 27ms/epoch - 9ms/step\n",
1298
            "Epoch 110/300\n",
1299
            "3/3 - 0s - loss: 0.0019 - 26ms/epoch - 9ms/step\n",
1300
            "Epoch 111/300\n",
1301
            "3/3 - 0s - loss: 0.0020 - 25ms/epoch - 8ms/step\n",
1302
            "Epoch 112/300\n",
1303
            "3/3 - 0s - loss: 6.9314e-04 - 26ms/epoch - 9ms/step\n",
1304
            "Epoch 113/300\n",
1305
            "3/3 - 0s - loss: 9.3566e-04 - 25ms/epoch - 8ms/step\n",
1306
            "Epoch 114/300\n",
1307
            "3/3 - 0s - loss: 0.0015 - 25ms/epoch - 8ms/step\n",
1308
            "Epoch 115/300\n",
1309
            "3/3 - 0s - loss: 0.0017 - 26ms/epoch - 9ms/step\n",
1310
            "Epoch 116/300\n",
1311
            "3/3 - 0s - loss: 0.0020 - 26ms/epoch - 9ms/step\n",
1312
            "Epoch 117/300\n",
1313
            "3/3 - 0s - loss: 0.0018 - 27ms/epoch - 9ms/step\n",
1314
            "Epoch 118/300\n",
1315
            "3/3 - 0s - loss: 0.0010 - 23ms/epoch - 8ms/step\n",
1316
            "Epoch 119/300\n",
1317
            "3/3 - 0s - loss: 8.8028e-04 - 25ms/epoch - 8ms/step\n",
1318
            "Epoch 120/300\n",
1319
            "3/3 - 0s - loss: 7.2462e-04 - 23ms/epoch - 8ms/step\n",
1320
            "Epoch 121/300\n",
1321
            "3/3 - 0s - loss: 8.0890e-04 - 21ms/epoch - 7ms/step\n",
1322
            "Epoch 122/300\n",
1323
            "3/3 - 0s - loss: 9.8991e-04 - 24ms/epoch - 8ms/step\n",
1324
            "Epoch 123/300\n",
1325
            "3/3 - 0s - loss: 7.1008e-04 - 25ms/epoch - 8ms/step\n",
1326
            "Epoch 124/300\n",
1327
            "3/3 - 0s - loss: 4.9597e-04 - 21ms/epoch - 7ms/step\n",
1328
            "Epoch 125/300\n",
1329
            "3/3 - 0s - loss: 4.7966e-04 - 22ms/epoch - 7ms/step\n",
1330
            "Epoch 126/300\n",
1331
            "3/3 - 0s - loss: 3.0518e-04 - 23ms/epoch - 8ms/step\n",
1332
            "Epoch 127/300\n",
1333
            "3/3 - 0s - loss: 2.7030e-04 - 26ms/epoch - 9ms/step\n",
1334
            "Epoch 128/300\n",
1335
            "3/3 - 0s - loss: 3.4302e-04 - 24ms/epoch - 8ms/step\n",
1336
            "Epoch 129/300\n",
1337
            "3/3 - 0s - loss: 3.2476e-04 - 22ms/epoch - 7ms/step\n",
1338
            "Epoch 130/300\n",
1339
            "3/3 - 0s - loss: 1.6305e-04 - 22ms/epoch - 7ms/step\n",
1340
            "Epoch 131/300\n",
1341
            "3/3 - 0s - loss: 1.8642e-04 - 21ms/epoch - 7ms/step\n",
1342
            "Epoch 132/300\n",
1343
            "3/3 - 0s - loss: 8.2074e-05 - 25ms/epoch - 8ms/step\n",
1344
            "Epoch 133/300\n",
1345
            "3/3 - 0s - loss: 6.5955e-05 - 29ms/epoch - 10ms/step\n",
1346
            "Epoch 134/300\n",
1347
            "3/3 - 0s - loss: 6.8692e-05 - 25ms/epoch - 8ms/step\n",
1348
            "Epoch 135/300\n",
1349
            "3/3 - 0s - loss: 1.1016e-04 - 28ms/epoch - 9ms/step\n",
1350
            "Epoch 136/300\n",
1351
            "3/3 - 0s - loss: 1.4056e-04 - 26ms/epoch - 9ms/step\n",
1352
            "Epoch 137/300\n",
1353
            "3/3 - 0s - loss: 1.0764e-04 - 23ms/epoch - 8ms/step\n",
1354
            "Epoch 138/300\n",
1355
            "3/3 - 0s - loss: 9.8001e-05 - 23ms/epoch - 8ms/step\n",
1356
            "Epoch 139/300\n",
1357
            "3/3 - 0s - loss: 2.1907e-04 - 25ms/epoch - 8ms/step\n",
1358
            "Epoch 140/300\n",
1359
            "3/3 - 0s - loss: 2.4921e-04 - 24ms/epoch - 8ms/step\n",
1360
            "Epoch 141/300\n",
1361
            "3/3 - 0s - loss: 4.0704e-04 - 25ms/epoch - 8ms/step\n",
1362
            "Epoch 142/300\n",
1363
            "3/3 - 0s - loss: 5.5095e-04 - 24ms/epoch - 8ms/step\n",
1364
            "Epoch 143/300\n",
1365
            "3/3 - 0s - loss: 8.7078e-04 - 22ms/epoch - 7ms/step\n",
1366
            "Epoch 144/300\n",
1367
            "3/3 - 0s - loss: 9.0852e-04 - 28ms/epoch - 9ms/step\n",
1368
            "Epoch 145/300\n",
1369
            "3/3 - 0s - loss: 0.0014 - 27ms/epoch - 9ms/step\n",
1370
            "Epoch 146/300\n",
1371
            "3/3 - 0s - loss: 0.0021 - 22ms/epoch - 7ms/step\n",
1372
            "Epoch 147/300\n",
1373
            "3/3 - 0s - loss: 0.0012 - 22ms/epoch - 7ms/step\n",
1374
            "Epoch 148/300\n",
1375
            "3/3 - 0s - loss: 0.0011 - 24ms/epoch - 8ms/step\n",
1376
            "Epoch 149/300\n",
1377
            "3/3 - 0s - loss: 0.0014 - 24ms/epoch - 8ms/step\n",
1378
            "Epoch 150/300\n",
1379
            "3/3 - 0s - loss: 0.0013 - 23ms/epoch - 8ms/step\n",
1380
            "Epoch 151/300\n",
1381
            "3/3 - 0s - loss: 0.0012 - 25ms/epoch - 8ms/step\n",
1382
            "Epoch 152/300\n",
1383
            "3/3 - 0s - loss: 0.0011 - 24ms/epoch - 8ms/step\n",
1384
            "Epoch 153/300\n",
1385
            "3/3 - 0s - loss: 8.8283e-04 - 25ms/epoch - 8ms/step\n",
1386
            "Epoch 154/300\n",
1387
            "3/3 - 0s - loss: 5.0875e-04 - 26ms/epoch - 9ms/step\n",
1388
            "Epoch 155/300\n",
1389
            "3/3 - 0s - loss: 4.6452e-04 - 23ms/epoch - 8ms/step\n",
1390
            "Epoch 156/300\n",
1391
            "3/3 - 0s - loss: 4.4445e-04 - 24ms/epoch - 8ms/step\n",
1392
            "Epoch 157/300\n",
1393
            "3/3 - 0s - loss: 4.5507e-04 - 23ms/epoch - 8ms/step\n",
1394
            "Epoch 158/300\n",
1395
            "3/3 - 0s - loss: 5.0221e-04 - 25ms/epoch - 8ms/step\n",
1396
            "Epoch 159/300\n",
1397
            "3/3 - 0s - loss: 7.1127e-04 - 23ms/epoch - 8ms/step\n",
1398
            "Epoch 160/300\n",
1399
            "3/3 - 0s - loss: 5.3585e-04 - 23ms/epoch - 8ms/step\n",
1400
            "Epoch 161/300\n",
1401
            "3/3 - 0s - loss: 3.0625e-04 - 22ms/epoch - 7ms/step\n",
1402
            "Epoch 162/300\n",
1403
            "3/3 - 0s - loss: 3.6777e-04 - 27ms/epoch - 9ms/step\n",
1404
            "Epoch 163/300\n",
1405
            "3/3 - 0s - loss: 2.5530e-04 - 25ms/epoch - 8ms/step\n",
1406
            "Epoch 164/300\n",
1407
            "3/3 - 0s - loss: 1.7076e-04 - 25ms/epoch - 8ms/step\n",
1408
            "Epoch 165/300\n",
1409
            "3/3 - 0s - loss: 2.1320e-04 - 24ms/epoch - 8ms/step\n",
1410
            "Epoch 166/300\n",
1411
            "3/3 - 0s - loss: 2.7991e-04 - 22ms/epoch - 7ms/step\n",
1412
            "Epoch 167/300\n",
1413
            "3/3 - 0s - loss: 3.3069e-04 - 24ms/epoch - 8ms/step\n",
1414
            "Epoch 168/300\n",
1415
            "3/3 - 0s - loss: 2.9444e-04 - 23ms/epoch - 8ms/step\n",
1416
            "Epoch 169/300\n",
1417
            "3/3 - 0s - loss: 4.0663e-04 - 22ms/epoch - 7ms/step\n",
1418
            "Epoch 170/300\n",
1419
            "3/3 - 0s - loss: 3.3016e-04 - 25ms/epoch - 8ms/step\n",
1420
            "Epoch 171/300\n",
1421
            "3/3 - 0s - loss: 2.0864e-04 - 27ms/epoch - 9ms/step\n",
1422
            "Epoch 172/300\n",
1423
            "3/3 - 0s - loss: 3.1231e-04 - 25ms/epoch - 8ms/step\n",
1424
            "Epoch 173/300\n",
1425
            "3/3 - 0s - loss: 2.9278e-04 - 23ms/epoch - 8ms/step\n",
1426
            "Epoch 174/300\n",
1427
            "3/3 - 0s - loss: 3.0427e-04 - 22ms/epoch - 7ms/step\n",
1428
            "Epoch 175/300\n",
1429
            "3/3 - 0s - loss: 4.5326e-04 - 23ms/epoch - 8ms/step\n",
1430
            "Epoch 176/300\n",
1431
            "3/3 - 0s - loss: 3.3629e-04 - 21ms/epoch - 7ms/step\n",
1432
            "Epoch 177/300\n",
1433
            "3/3 - 0s - loss: 2.4525e-04 - 23ms/epoch - 8ms/step\n",
1434
            "Epoch 178/300\n",
1435
            "3/3 - 0s - loss: 2.5538e-04 - 27ms/epoch - 9ms/step\n",
1436
            "Epoch 179/300\n",
1437
            "3/3 - 0s - loss: 3.3784e-04 - 27ms/epoch - 9ms/step\n",
1438
            "Epoch 180/300\n",
1439
            "3/3 - 0s - loss: 1.9497e-04 - 24ms/epoch - 8ms/step\n",
1440
            "Epoch 181/300\n",
1441
            "3/3 - 0s - loss: 1.9737e-04 - 25ms/epoch - 8ms/step\n",
1442
            "Epoch 182/300\n",
1443
            "3/3 - 0s - loss: 2.2758e-04 - 25ms/epoch - 8ms/step\n",
1444
            "Epoch 183/300\n",
1445
            "3/3 - 0s - loss: 2.9136e-04 - 25ms/epoch - 8ms/step\n",
1446
            "Epoch 184/300\n",
1447
            "3/3 - 0s - loss: 1.1060e-04 - 27ms/epoch - 9ms/step\n",
1448
            "Epoch 185/300\n",
1449
            "3/3 - 0s - loss: 5.0481e-05 - 22ms/epoch - 7ms/step\n",
1450
            "Epoch 186/300\n",
1451
            "3/3 - 0s - loss: 4.0821e-05 - 26ms/epoch - 9ms/step\n",
1452
            "Epoch 187/300\n",
1453
            "3/3 - 0s - loss: 5.7687e-05 - 23ms/epoch - 8ms/step\n",
1454
            "Epoch 188/300\n",
1455
            "3/3 - 0s - loss: 5.1819e-05 - 24ms/epoch - 8ms/step\n",
1456
            "Epoch 189/300\n",
1457
            "3/3 - 0s - loss: 4.4923e-05 - 24ms/epoch - 8ms/step\n",
1458
            "Epoch 190/300\n",
1459
            "3/3 - 0s - loss: 5.0681e-05 - 24ms/epoch - 8ms/step\n",
1460
            "Epoch 191/300\n",
1461
            "3/3 - 0s - loss: 3.9062e-05 - 24ms/epoch - 8ms/step\n",
1462
            "Epoch 192/300\n",
1463
            "3/3 - 0s - loss: 3.1511e-05 - 25ms/epoch - 8ms/step\n",
1464
            "Epoch 193/300\n",
1465
            "3/3 - 0s - loss: 3.9896e-05 - 24ms/epoch - 8ms/step\n",
1466
            "Epoch 194/300\n",
1467
            "3/3 - 0s - loss: 3.6009e-05 - 27ms/epoch - 9ms/step\n",
1468
            "Epoch 195/300\n",
1469
            "3/3 - 0s - loss: 3.8435e-05 - 26ms/epoch - 9ms/step\n",
1470
            "Epoch 196/300\n",
1471
            "3/3 - 0s - loss: 6.6916e-05 - 23ms/epoch - 8ms/step\n",
1472
            "Epoch 197/300\n",
1473
            "3/3 - 0s - loss: 1.2784e-04 - 27ms/epoch - 9ms/step\n",
1474
            "Epoch 198/300\n",
1475
            "3/3 - 0s - loss: 8.5005e-05 - 24ms/epoch - 8ms/step\n",
1476
            "Epoch 199/300\n",
1477
            "3/3 - 0s - loss: 6.0588e-05 - 23ms/epoch - 8ms/step\n",
1478
            "Epoch 200/300\n",
1479
            "3/3 - 0s - loss: 6.8180e-05 - 21ms/epoch - 7ms/step\n",
1480
            "Epoch 201/300\n",
1481
            "3/3 - 0s - loss: 4.7230e-05 - 27ms/epoch - 9ms/step\n",
1482
            "Epoch 202/300\n",
1483
            "3/3 - 0s - loss: 3.8133e-05 - 26ms/epoch - 9ms/step\n",
1484
            "Epoch 203/300\n",
1485
            "3/3 - 0s - loss: 7.4671e-05 - 26ms/epoch - 9ms/step\n",
1486
            "Epoch 204/300\n",
1487
            "3/3 - 0s - loss: 8.1094e-05 - 28ms/epoch - 9ms/step\n",
1488
            "Epoch 205/300\n",
1489
            "3/3 - 0s - loss: 7.8872e-05 - 21ms/epoch - 7ms/step\n",
1490
            "Epoch 206/300\n",
1491
            "3/3 - 0s - loss: 8.7357e-05 - 25ms/epoch - 8ms/step\n",
1492
            "Epoch 207/300\n",
1493
            "3/3 - 0s - loss: 4.8380e-05 - 24ms/epoch - 8ms/step\n",
1494
            "Epoch 208/300\n",
1495
            "3/3 - 0s - loss: 7.0697e-05 - 25ms/epoch - 8ms/step\n",
1496
            "Epoch 209/300\n",
1497
            "3/3 - 0s - loss: 5.2098e-05 - 23ms/epoch - 8ms/step\n",
1498
            "Epoch 210/300\n",
1499
            "3/3 - 0s - loss: 5.4029e-05 - 22ms/epoch - 7ms/step\n",
1500
            "Epoch 211/300\n",
1501
            "3/3 - 0s - loss: 2.8489e-05 - 26ms/epoch - 9ms/step\n",
1502
            "Epoch 212/300\n",
1503
            "3/3 - 0s - loss: 3.3961e-05 - 21ms/epoch - 7ms/step\n",
1504
            "Epoch 213/300\n",
1505
            "3/3 - 0s - loss: 4.1667e-05 - 23ms/epoch - 8ms/step\n",
1506
            "Epoch 214/300\n",
1507
            "3/3 - 0s - loss: 3.7597e-05 - 26ms/epoch - 9ms/step\n",
1508
            "Epoch 215/300\n",
1509
            "3/3 - 0s - loss: 2.7004e-05 - 30ms/epoch - 10ms/step\n",
1510
            "Epoch 216/300\n",
1511
            "3/3 - 0s - loss: 2.9110e-05 - 29ms/epoch - 10ms/step\n",
1512
            "Epoch 217/300\n",
1513
            "3/3 - 0s - loss: 3.6687e-05 - 22ms/epoch - 7ms/step\n",
1514
            "Epoch 218/300\n",
1515
            "3/3 - 0s - loss: 7.2615e-05 - 25ms/epoch - 8ms/step\n",
1516
            "Epoch 219/300\n",
1517
            "3/3 - 0s - loss: 1.0681e-04 - 22ms/epoch - 7ms/step\n",
1518
            "Epoch 220/300\n",
1519
            "3/3 - 0s - loss: 1.9565e-04 - 27ms/epoch - 9ms/step\n",
1520
            "Epoch 221/300\n",
1521
            "3/3 - 0s - loss: 1.9595e-04 - 27ms/epoch - 9ms/step\n",
1522
            "Epoch 222/300\n",
1523
            "3/3 - 0s - loss: 1.7055e-04 - 24ms/epoch - 8ms/step\n",
1524
            "Epoch 223/300\n",
1525
            "3/3 - 0s - loss: 1.4371e-04 - 26ms/epoch - 9ms/step\n",
1526
            "Epoch 224/300\n",
1527
            "3/3 - 0s - loss: 1.0054e-04 - 23ms/epoch - 8ms/step\n",
1528
            "Epoch 225/300\n",
1529
            "3/3 - 0s - loss: 7.8233e-05 - 22ms/epoch - 7ms/step\n",
1530
            "Epoch 226/300\n",
1531
            "3/3 - 0s - loss: 2.0859e-04 - 26ms/epoch - 9ms/step\n",
1532
            "Epoch 227/300\n",
1533
            "3/3 - 0s - loss: 2.3248e-04 - 22ms/epoch - 7ms/step\n",
1534
            "Epoch 228/300\n",
1535
            "3/3 - 0s - loss: 3.5742e-04 - 25ms/epoch - 8ms/step\n",
1536
            "Epoch 229/300\n",
1537
            "3/3 - 0s - loss: 3.2267e-04 - 27ms/epoch - 9ms/step\n",
1538
            "Epoch 230/300\n",
1539
            "3/3 - 0s - loss: 2.6533e-04 - 25ms/epoch - 8ms/step\n",
1540
            "Epoch 231/300\n",
1541
            "3/3 - 0s - loss: 3.3579e-04 - 24ms/epoch - 8ms/step\n",
1542
            "Epoch 232/300\n",
1543
            "3/3 - 0s - loss: 2.2141e-04 - 24ms/epoch - 8ms/step\n",
1544
            "Epoch 233/300\n",
1545
            "3/3 - 0s - loss: 1.3816e-04 - 25ms/epoch - 8ms/step\n",
1546
            "Epoch 234/300\n",
1547
            "3/3 - 0s - loss: 1.2997e-04 - 21ms/epoch - 7ms/step\n",
1548
            "Epoch 235/300\n",
1549
            "3/3 - 0s - loss: 1.2696e-04 - 23ms/epoch - 8ms/step\n",
1550
            "Epoch 236/300\n",
1551
            "3/3 - 0s - loss: 7.3166e-05 - 25ms/epoch - 8ms/step\n",
1552
            "Epoch 237/300\n",
1553
            "3/3 - 0s - loss: 4.9531e-05 - 23ms/epoch - 8ms/step\n",
1554
            "Epoch 238/300\n",
1555
            "3/3 - 0s - loss: 5.9576e-05 - 26ms/epoch - 9ms/step\n",
1556
            "Epoch 239/300\n",
1557
            "3/3 - 0s - loss: 6.9014e-05 - 24ms/epoch - 8ms/step\n",
1558
            "Epoch 240/300\n",
1559
            "3/3 - 0s - loss: 1.2079e-04 - 23ms/epoch - 8ms/step\n",
1560
            "Epoch 241/300\n",
1561
            "3/3 - 0s - loss: 1.0165e-04 - 25ms/epoch - 8ms/step\n",
1562
            "Epoch 242/300\n",
1563
            "3/3 - 0s - loss: 1.1189e-04 - 21ms/epoch - 7ms/step\n",
1564
            "Epoch 243/300\n",
1565
            "3/3 - 0s - loss: 1.2715e-04 - 26ms/epoch - 9ms/step\n",
1566
            "Epoch 244/300\n",
1567
            "3/3 - 0s - loss: 2.3746e-04 - 27ms/epoch - 9ms/step\n",
1568
            "Epoch 245/300\n",
1569
            "3/3 - 0s - loss: 7.2393e-04 - 31ms/epoch - 10ms/step\n",
1570
            "Epoch 246/300\n",
1571
            "3/3 - 0s - loss: 8.1162e-04 - 24ms/epoch - 8ms/step\n",
1572
            "Epoch 247/300\n",
1573
            "3/3 - 0s - loss: 6.6941e-04 - 24ms/epoch - 8ms/step\n",
1574
            "Epoch 248/300\n",
1575
            "3/3 - 0s - loss: 6.1267e-04 - 26ms/epoch - 9ms/step\n",
1576
            "Epoch 249/300\n",
1577
            "3/3 - 0s - loss: 5.4795e-04 - 26ms/epoch - 9ms/step\n",
1578
            "Epoch 250/300\n",
1579
            "3/3 - 0s - loss: 8.4581e-04 - 25ms/epoch - 8ms/step\n",
1580
            "Epoch 251/300\n",
1581
            "3/3 - 0s - loss: 4.3189e-04 - 22ms/epoch - 7ms/step\n",
1582
            "Epoch 252/300\n",
1583
            "3/3 - 0s - loss: 6.3720e-04 - 24ms/epoch - 8ms/step\n",
1584
            "Epoch 253/300\n",
1585
            "3/3 - 0s - loss: 8.4664e-04 - 27ms/epoch - 9ms/step\n",
1586
            "Epoch 254/300\n",
1587
            "3/3 - 0s - loss: 0.0025 - 26ms/epoch - 9ms/step\n",
1588
            "Epoch 255/300\n",
1589
            "3/3 - 0s - loss: 0.0032 - 26ms/epoch - 9ms/step\n",
1590
            "Epoch 256/300\n",
1591
            "3/3 - 0s - loss: 0.0040 - 26ms/epoch - 9ms/step\n",
1592
            "Epoch 257/300\n",
1593
            "3/3 - 0s - loss: 0.0021 - 24ms/epoch - 8ms/step\n",
1594
            "Epoch 258/300\n",
1595
            "3/3 - 0s - loss: 0.0023 - 22ms/epoch - 7ms/step\n",
1596
            "Epoch 259/300\n",
1597
            "3/3 - 0s - loss: 0.0034 - 21ms/epoch - 7ms/step\n",
1598
            "Epoch 260/300\n",
1599
            "3/3 - 0s - loss: 0.0045 - 25ms/epoch - 8ms/step\n",
1600
            "Epoch 261/300\n",
1601
            "3/3 - 0s - loss: 0.0064 - 26ms/epoch - 9ms/step\n",
1602
            "Epoch 262/300\n",
1603
            "3/3 - 0s - loss: 0.0050 - 23ms/epoch - 8ms/step\n",
1604
            "Epoch 263/300\n",
1605
            "3/3 - 0s - loss: 0.0068 - 26ms/epoch - 9ms/step\n",
1606
            "Epoch 264/300\n",
1607
            "3/3 - 0s - loss: 0.0042 - 29ms/epoch - 10ms/step\n",
1608
            "Epoch 265/300\n",
1609
            "3/3 - 0s - loss: 0.0047 - 24ms/epoch - 8ms/step\n",
1610
            "Epoch 266/300\n",
1611
            "3/3 - 0s - loss: 0.0045 - 26ms/epoch - 9ms/step\n",
1612
            "Epoch 267/300\n",
1613
            "3/3 - 0s - loss: 0.0046 - 25ms/epoch - 8ms/step\n",
1614
            "Epoch 268/300\n",
1615
            "3/3 - 0s - loss: 0.0032 - 25ms/epoch - 8ms/step\n",
1616
            "Epoch 269/300\n",
1617
            "3/3 - 0s - loss: 0.0031 - 26ms/epoch - 9ms/step\n",
1618
            "Epoch 270/300\n",
1619
            "3/3 - 0s - loss: 0.0041 - 28ms/epoch - 9ms/step\n",
1620
            "Epoch 271/300\n",
1621
            "3/3 - 0s - loss: 0.0034 - 24ms/epoch - 8ms/step\n",
1622
            "Epoch 272/300\n",
1623
            "3/3 - 0s - loss: 0.0043 - 25ms/epoch - 8ms/step\n",
1624
            "Epoch 273/300\n",
1625
            "3/3 - 0s - loss: 0.0034 - 22ms/epoch - 7ms/step\n",
1626
            "Epoch 274/300\n",
1627
            "3/3 - 0s - loss: 0.0036 - 22ms/epoch - 7ms/step\n",
1628
            "Epoch 275/300\n",
1629
            "3/3 - 0s - loss: 0.0030 - 23ms/epoch - 8ms/step\n",
1630
            "Epoch 276/300\n",
1631
            "3/3 - 0s - loss: 0.0027 - 25ms/epoch - 8ms/step\n",
1632
            "Epoch 277/300\n",
1633
            "3/3 - 0s - loss: 0.0033 - 22ms/epoch - 7ms/step\n",
1634
            "Epoch 278/300\n",
1635
            "3/3 - 0s - loss: 0.0024 - 21ms/epoch - 7ms/step\n",
1636
            "Epoch 279/300\n",
1637
            "3/3 - 0s - loss: 0.0017 - 23ms/epoch - 8ms/step\n",
1638
            "Epoch 280/300\n",
1639
            "3/3 - 0s - loss: 0.0017 - 24ms/epoch - 8ms/step\n",
1640
            "Epoch 281/300\n",
1641
            "3/3 - 0s - loss: 0.0015 - 22ms/epoch - 7ms/step\n",
1642
            "Epoch 282/300\n",
1643
            "3/3 - 0s - loss: 0.0015 - 24ms/epoch - 8ms/step\n",
1644
            "Epoch 283/300\n",
1645
            "3/3 - 0s - loss: 0.0019 - 27ms/epoch - 9ms/step\n",
1646
            "Epoch 284/300\n",
1647
            "3/3 - 0s - loss: 0.0042 - 22ms/epoch - 7ms/step\n",
1648
            "Epoch 285/300\n",
1649
            "3/3 - 0s - loss: 0.0026 - 22ms/epoch - 7ms/step\n",
1650
            "Epoch 286/300\n",
1651
            "3/3 - 0s - loss: 0.0035 - 25ms/epoch - 8ms/step\n",
1652
            "Epoch 287/300\n",
1653
            "3/3 - 0s - loss: 0.0033 - 28ms/epoch - 9ms/step\n",
1654
            "Epoch 288/300\n",
1655
            "3/3 - 0s - loss: 0.0059 - 26ms/epoch - 9ms/step\n",
1656
            "Epoch 289/300\n",
1657
            "3/3 - 0s - loss: 0.0073 - 26ms/epoch - 9ms/step\n",
1658
            "Epoch 290/300\n",
1659
            "3/3 - 0s - loss: 0.0060 - 24ms/epoch - 8ms/step\n",
1660
            "Epoch 291/300\n",
1661
            "3/3 - 0s - loss: 0.0032 - 25ms/epoch - 8ms/step\n",
1662
            "Epoch 292/300\n",
1663
            "3/3 - 0s - loss: 0.0022 - 23ms/epoch - 8ms/step\n",
1664
            "Epoch 293/300\n",
1665
            "3/3 - 0s - loss: 0.0021 - 21ms/epoch - 7ms/step\n",
1666
            "Epoch 294/300\n",
1667
            "3/3 - 0s - loss: 0.0025 - 24ms/epoch - 8ms/step\n",
1668
            "Epoch 295/300\n",
1669
            "3/3 - 0s - loss: 0.0011 - 23ms/epoch - 8ms/step\n",
1670
            "Epoch 296/300\n",
1671
            "3/3 - 0s - loss: 6.3007e-04 - 23ms/epoch - 8ms/step\n",
1672
            "Epoch 297/300\n",
1673
            "3/3 - 0s - loss: 4.8764e-04 - 24ms/epoch - 8ms/step\n",
1674
            "Epoch 298/300\n",
1675
            "3/3 - 0s - loss: 5.1926e-04 - 27ms/epoch - 9ms/step\n",
1676
            "Epoch 299/300\n",
1677
            "3/3 - 0s - loss: 7.6698e-04 - 29ms/epoch - 10ms/step\n",
1678
            "Epoch 300/300\n",
1679
            "3/3 - 0s - loss: 7.6851e-04 - 24ms/epoch - 8ms/step\n",
1680
            "14/14 [==============================] - 0s 3ms/step\n"
1681
          ]
1682
        },
1683
        {
1684
          "output_type": "execute_result",
1685
          "data": {
1686
            "text/plain": [
1687
              "<matplotlib.collections.PathCollection at 0x786a654e6ef0>"
1688
            ]
1689
          },
1690
          "metadata": {},
1691
          "execution_count": 60
1692
        },
1693
        {
1694
          "output_type": "display_data",
1695
          "data": {
1696
            "text/plain": [
1697
              "<Figure size 640x480 with 1 Axes>"
1698
            ],
1699
            "image/png": "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\n"
1700
          },
1701
          "metadata": {}
1702
        }
1703
      ]
1704
    },
1705
    {
1706
      "cell_type": "code",
1707
      "source": [
1708
        "seconds = time.time()\n",
1709
        "print(\"Time in seconds since end of run:\", seconds)\n",
1710
        "local_time = time.ctime(seconds)\n",
1711
        "print(local_time)"
1712
      ],
1713
      "metadata": {
1714
        "colab": {
1715
          "base_uri": "https://localhost:8080/",
1716
          "height": 0
1717
        },
1718
        "id": "YyOarWssKyjN",
1719
        "outputId": "cf9f497e-f126-4cfb-b848-20723f97522f"
1720
      },
1721
      "execution_count": 61,
1722
      "outputs": [
1723
        {
1724
          "output_type": "stream",
1725
          "name": "stdout",
1726
          "text": [
1727
            "Time in seconds since end of run: 1709531181.5916784\n",
1728
            "Mon Mar  4 05:46:21 2024\n"
1729
          ]
1730
        }
1731
      ]
1732
    }
1733
  ]
1734
}