1269 lines (1269 with data), 157.6 kB
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"machine_shape": "hm",
"gpuType": "V28"
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "TPU"
},
"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",
"import pandas as pd\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)\n",
"# Explainability code assistance aided by ChatGPT3.5\n",
"# 2021 Kelly, D. TensorFlow Explainable AI tutorial https://www.youtube.com/watch?v=6xePkn3-LME"
],
"execution_count": 57,
"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": 58,
"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": "bbKsmK8wIFTp",
"outputId": "46a1ee1b-9f47-48a1-b9d6-acd027e37f52",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 0
}
},
"source": [
"Dense = tf.keras.layers.Dense\n",
"tn_model = tf.keras.Sequential(\n",
" [\n",
" tf.keras.Input(shape=(2,)),\n",
" Dense(1024, activation=tf.nn.relu),\n",
" # Start Modified Layers\n",
" TNLayer(),\n",
" TNLayer(),\n",
" TNLayer(),\n",
" TNLayer(),\n",
" # Finish Modified Layers\n",
" Dense(1, activation=None)])\n",
"tn_model.summary()"
],
"execution_count": 59,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Model: \"sequential_5\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" dense_10 (Dense) (None, 1024) 3072 \n",
" \n",
" tn_layer_20 (TNLayer) (None, 1024) 5120 \n",
" \n",
" tn_layer_21 (TNLayer) (None, 1024) 5120 \n",
" \n",
" tn_layer_22 (TNLayer) (None, 1024) 5120 \n",
" \n",
" tn_layer_23 (TNLayer) (None, 1024) 5120 \n",
" \n",
" dense_11 (Dense) (None, 1) 1025 \n",
" \n",
"=================================================================\n",
"Total params: 24577 (96.00 KB)\n",
"Trainable params: 24577 (96.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": [
"# Generate points forming intersecting ellipses\n",
"theta1 = np.linspace(0, 2*np.pi, 240) # 480/2 = 240 points for each ellipse\n",
"theta2 = np.linspace(0, 2*np.pi, 240)\n",
"\n",
"a1, b1 = 2, 1 # Parameters for ellipse 1\n",
"a2, b2 = 1, 2 # Parameters for ellipse 2\n",
"\n",
"x1 = a1 * np.cos(theta1)\n",
"y1 = b1 * np.sin(theta1)\n",
"\n",
"x2 = a2 * np.cos(theta2)\n",
"y2 = b2 * np.sin(theta2)\n",
"\n",
"X = np.concatenate([np.column_stack((x1, y1)), np.column_stack((x2, y2))])\n",
"Y = np.concatenate([np.ones((240)), -np.ones((240))])"
],
"execution_count": 60,
"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": "b4f32bea-e8df-4adb-f8c7-922e337061dd"
},
"execution_count": 61,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since beginning of run: 1712719442.227418\n",
"Wed Apr 10 03:24:02 2024\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "crc0q1vbIyTj",
"outputId": "eb1b2868-3531-4516-a4d7-cf4f8144fbf8",
"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": 62,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Epoch 1/300\n",
"15/15 - 2s - loss: 1.0018 - 2s/epoch - 121ms/step\n",
"Epoch 2/300\n",
"15/15 - 0s - loss: 1.0001 - 87ms/epoch - 6ms/step\n",
"Epoch 3/300\n",
"15/15 - 0s - loss: 1.0002 - 90ms/epoch - 6ms/step\n",
"Epoch 4/300\n",
"15/15 - 0s - loss: 1.0002 - 88ms/epoch - 6ms/step\n",
"Epoch 5/300\n",
"15/15 - 0s - loss: 1.0001 - 87ms/epoch - 6ms/step\n",
"Epoch 6/300\n",
"15/15 - 0s - loss: 1.0001 - 86ms/epoch - 6ms/step\n",
"Epoch 7/300\n",
"15/15 - 0s - loss: 1.0002 - 83ms/epoch - 6ms/step\n",
"Epoch 8/300\n",
"15/15 - 0s - loss: 1.0001 - 79ms/epoch - 5ms/step\n",
"Epoch 9/300\n",
"15/15 - 0s - loss: 1.0003 - 78ms/epoch - 5ms/step\n",
"Epoch 10/300\n",
"15/15 - 0s - loss: 1.0001 - 84ms/epoch - 6ms/step\n",
"Epoch 11/300\n",
"15/15 - 0s - loss: 1.0002 - 78ms/epoch - 5ms/step\n",
"Epoch 12/300\n",
"15/15 - 0s - loss: 1.0001 - 77ms/epoch - 5ms/step\n",
"Epoch 13/300\n",
"15/15 - 0s - loss: 1.0003 - 79ms/epoch - 5ms/step\n",
"Epoch 14/300\n",
"15/15 - 0s - loss: 1.0002 - 82ms/epoch - 5ms/step\n",
"Epoch 15/300\n",
"15/15 - 0s - loss: 1.0001 - 81ms/epoch - 5ms/step\n",
"Epoch 16/300\n",
"15/15 - 0s - loss: 1.0001 - 76ms/epoch - 5ms/step\n",
"Epoch 17/300\n",
"15/15 - 0s - loss: 1.0001 - 78ms/epoch - 5ms/step\n",
"Epoch 18/300\n",
"15/15 - 0s - loss: 1.0001 - 77ms/epoch - 5ms/step\n",
"Epoch 19/300\n",
"15/15 - 0s - loss: 1.0002 - 86ms/epoch - 6ms/step\n",
"Epoch 20/300\n",
"15/15 - 0s - loss: 1.0001 - 72ms/epoch - 5ms/step\n",
"Epoch 21/300\n",
"15/15 - 0s - loss: 1.0001 - 76ms/epoch - 5ms/step\n",
"Epoch 22/300\n",
"15/15 - 0s - loss: 1.0003 - 82ms/epoch - 5ms/step\n",
"Epoch 23/300\n",
"15/15 - 0s - loss: 1.0002 - 82ms/epoch - 5ms/step\n",
"Epoch 24/300\n",
"15/15 - 0s - loss: 1.0001 - 75ms/epoch - 5ms/step\n",
"Epoch 25/300\n",
"15/15 - 0s - loss: 1.0001 - 77ms/epoch - 5ms/step\n",
"Epoch 26/300\n",
"15/15 - 0s - loss: 1.0001 - 81ms/epoch - 5ms/step\n",
"Epoch 27/300\n",
"15/15 - 0s - loss: 1.0001 - 81ms/epoch - 5ms/step\n",
"Epoch 28/300\n",
"15/15 - 0s - loss: 1.0002 - 78ms/epoch - 5ms/step\n",
"Epoch 29/300\n",
"15/15 - 0s - loss: 1.0001 - 80ms/epoch - 5ms/step\n",
"Epoch 30/300\n",
"15/15 - 0s - loss: 1.0001 - 82ms/epoch - 5ms/step\n",
"Epoch 31/300\n",
"15/15 - 0s - loss: 1.0001 - 83ms/epoch - 6ms/step\n",
"Epoch 32/300\n",
"15/15 - 0s - loss: 1.0002 - 84ms/epoch - 6ms/step\n",
"Epoch 33/300\n",
"15/15 - 0s - loss: 1.0000 - 80ms/epoch - 5ms/step\n",
"Epoch 34/300\n",
"15/15 - 0s - loss: 1.0000 - 78ms/epoch - 5ms/step\n",
"Epoch 35/300\n",
"15/15 - 0s - loss: 1.0001 - 78ms/epoch - 5ms/step\n",
"Epoch 36/300\n",
"15/15 - 0s - loss: 1.0001 - 82ms/epoch - 5ms/step\n",
"Epoch 37/300\n",
"15/15 - 0s - loss: 1.0001 - 82ms/epoch - 5ms/step\n",
"Epoch 38/300\n",
"15/15 - 0s - loss: 1.0001 - 83ms/epoch - 6ms/step\n",
"Epoch 39/300\n",
"15/15 - 0s - loss: 1.0001 - 78ms/epoch - 5ms/step\n",
"Epoch 40/300\n",
"15/15 - 0s - loss: 1.0000 - 80ms/epoch - 5ms/step\n",
"Epoch 41/300\n",
"15/15 - 0s - loss: 1.0001 - 73ms/epoch - 5ms/step\n",
"Epoch 42/300\n",
"15/15 - 0s - loss: 1.0000 - 71ms/epoch - 5ms/step\n",
"Epoch 43/300\n",
"15/15 - 0s - loss: 1.0000 - 73ms/epoch - 5ms/step\n",
"Epoch 44/300\n",
"15/15 - 0s - loss: 1.0001 - 75ms/epoch - 5ms/step\n",
"Epoch 45/300\n",
"15/15 - 0s - loss: 1.0001 - 74ms/epoch - 5ms/step\n",
"Epoch 46/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 47/300\n",
"15/15 - 0s - loss: 1.0001 - 71ms/epoch - 5ms/step\n",
"Epoch 48/300\n",
"15/15 - 0s - loss: 1.0000 - 70ms/epoch - 5ms/step\n",
"Epoch 49/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 50/300\n",
"15/15 - 0s - loss: 1.0002 - 69ms/epoch - 5ms/step\n",
"Epoch 51/300\n",
"15/15 - 0s - loss: 1.0002 - 70ms/epoch - 5ms/step\n",
"Epoch 52/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 53/300\n",
"15/15 - 0s - loss: 1.0001 - 70ms/epoch - 5ms/step\n",
"Epoch 54/300\n",
"15/15 - 0s - loss: 1.0000 - 70ms/epoch - 5ms/step\n",
"Epoch 55/300\n",
"15/15 - 0s - loss: 1.0002 - 70ms/epoch - 5ms/step\n",
"Epoch 56/300\n",
"15/15 - 0s - loss: 1.0003 - 68ms/epoch - 5ms/step\n",
"Epoch 57/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 58/300\n",
"15/15 - 0s - loss: 1.0001 - 71ms/epoch - 5ms/step\n",
"Epoch 59/300\n",
"15/15 - 0s - loss: 1.0001 - 70ms/epoch - 5ms/step\n",
"Epoch 60/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 61/300\n",
"15/15 - 0s - loss: 1.0002 - 68ms/epoch - 5ms/step\n",
"Epoch 62/300\n",
"15/15 - 0s - loss: 1.0001 - 70ms/epoch - 5ms/step\n",
"Epoch 63/300\n",
"15/15 - 0s - loss: 1.0000 - 71ms/epoch - 5ms/step\n",
"Epoch 64/300\n",
"15/15 - 0s - loss: 1.0001 - 70ms/epoch - 5ms/step\n",
"Epoch 65/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 66/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 67/300\n",
"15/15 - 0s - loss: 1.0000 - 69ms/epoch - 5ms/step\n",
"Epoch 68/300\n",
"15/15 - 0s - loss: 1.0002 - 69ms/epoch - 5ms/step\n",
"Epoch 69/300\n",
"15/15 - 0s - loss: 1.0000 - 69ms/epoch - 5ms/step\n",
"Epoch 70/300\n",
"15/15 - 0s - loss: 1.0000 - 70ms/epoch - 5ms/step\n",
"Epoch 71/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 72/300\n",
"15/15 - 0s - loss: 1.0002 - 68ms/epoch - 5ms/step\n",
"Epoch 73/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 74/300\n",
"15/15 - 0s - loss: 1.0000 - 69ms/epoch - 5ms/step\n",
"Epoch 75/300\n",
"15/15 - 0s - loss: 1.0000 - 71ms/epoch - 5ms/step\n",
"Epoch 76/300\n",
"15/15 - 0s - loss: 1.0000 - 70ms/epoch - 5ms/step\n",
"Epoch 77/300\n",
"15/15 - 0s - loss: 1.0000 - 70ms/epoch - 5ms/step\n",
"Epoch 78/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 79/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 80/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 81/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 82/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 83/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 84/300\n",
"15/15 - 0s - loss: 1.0000 - 69ms/epoch - 5ms/step\n",
"Epoch 85/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 86/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 87/300\n",
"15/15 - 0s - loss: 1.0001 - 70ms/epoch - 5ms/step\n",
"Epoch 88/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 89/300\n",
"15/15 - 0s - loss: 1.0002 - 69ms/epoch - 5ms/step\n",
"Epoch 90/300\n",
"15/15 - 0s - loss: 1.0005 - 67ms/epoch - 4ms/step\n",
"Epoch 91/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 92/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 93/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 94/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 95/300\n",
"15/15 - 0s - loss: 1.0002 - 68ms/epoch - 5ms/step\n",
"Epoch 96/300\n",
"15/15 - 0s - loss: 1.0000 - 67ms/epoch - 4ms/step\n",
"Epoch 97/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 98/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 99/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 100/300\n",
"15/15 - 0s - loss: 1.0002 - 68ms/epoch - 5ms/step\n",
"Epoch 101/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 102/300\n",
"15/15 - 0s - loss: 1.0000 - 69ms/epoch - 5ms/step\n",
"Epoch 103/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 104/300\n",
"15/15 - 0s - loss: 1.0002 - 68ms/epoch - 5ms/step\n",
"Epoch 105/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 106/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 107/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 108/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 109/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 110/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 111/300\n",
"15/15 - 0s - loss: 1.0002 - 69ms/epoch - 5ms/step\n",
"Epoch 112/300\n",
"15/15 - 0s - loss: 1.0004 - 68ms/epoch - 5ms/step\n",
"Epoch 113/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 114/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 115/300\n",
"15/15 - 0s - loss: 1.0000 - 70ms/epoch - 5ms/step\n",
"Epoch 116/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 117/300\n",
"15/15 - 0s - loss: 1.0000 - 69ms/epoch - 5ms/step\n",
"Epoch 118/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 119/300\n",
"15/15 - 0s - loss: 1.0000 - 69ms/epoch - 5ms/step\n",
"Epoch 120/300\n",
"15/15 - 0s - loss: 1.0001 - 70ms/epoch - 5ms/step\n",
"Epoch 121/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 122/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 123/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 124/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 125/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 126/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 127/300\n",
"15/15 - 0s - loss: 1.0002 - 69ms/epoch - 5ms/step\n",
"Epoch 128/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 129/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 130/300\n",
"15/15 - 0s - loss: 1.0000 - 69ms/epoch - 5ms/step\n",
"Epoch 131/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 132/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 133/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 134/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 135/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 136/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 137/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 138/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 139/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 140/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 141/300\n",
"15/15 - 0s - loss: 1.0002 - 68ms/epoch - 5ms/step\n",
"Epoch 142/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 143/300\n",
"15/15 - 0s - loss: 1.0000 - 67ms/epoch - 4ms/step\n",
"Epoch 144/300\n",
"15/15 - 0s - loss: 1.0000 - 67ms/epoch - 4ms/step\n",
"Epoch 145/300\n",
"15/15 - 0s - loss: 1.0002 - 67ms/epoch - 4ms/step\n",
"Epoch 146/300\n",
"15/15 - 0s - loss: 1.0004 - 66ms/epoch - 4ms/step\n",
"Epoch 147/300\n",
"15/15 - 0s - loss: 1.0000 - 69ms/epoch - 5ms/step\n",
"Epoch 148/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 149/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 150/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 151/300\n",
"15/15 - 0s - loss: 1.0000 - 67ms/epoch - 4ms/step\n",
"Epoch 152/300\n",
"15/15 - 0s - loss: 1.0002 - 68ms/epoch - 5ms/step\n",
"Epoch 153/300\n",
"15/15 - 0s - loss: 1.0002 - 67ms/epoch - 4ms/step\n",
"Epoch 154/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 155/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 156/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 157/300\n",
"15/15 - 0s - loss: 1.0000 - 65ms/epoch - 4ms/step\n",
"Epoch 158/300\n",
"15/15 - 0s - loss: 1.0002 - 67ms/epoch - 4ms/step\n",
"Epoch 159/300\n",
"15/15 - 0s - loss: 1.0003 - 65ms/epoch - 4ms/step\n",
"Epoch 160/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 161/300\n",
"15/15 - 0s - loss: 1.0002 - 67ms/epoch - 4ms/step\n",
"Epoch 162/300\n",
"15/15 - 0s - loss: 1.0002 - 66ms/epoch - 4ms/step\n",
"Epoch 163/300\n",
"15/15 - 0s - loss: 1.0002 - 65ms/epoch - 4ms/step\n",
"Epoch 164/300\n",
"15/15 - 0s - loss: 1.0000 - 63ms/epoch - 4ms/step\n",
"Epoch 165/300\n",
"15/15 - 0s - loss: 1.0000 - 65ms/epoch - 4ms/step\n",
"Epoch 166/300\n",
"15/15 - 0s - loss: 1.0002 - 64ms/epoch - 4ms/step\n",
"Epoch 167/300\n",
"15/15 - 0s - loss: 1.0001 - 64ms/epoch - 4ms/step\n",
"Epoch 168/300\n",
"15/15 - 0s - loss: 1.0002 - 63ms/epoch - 4ms/step\n",
"Epoch 169/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 170/300\n",
"15/15 - 0s - loss: 1.0002 - 65ms/epoch - 4ms/step\n",
"Epoch 171/300\n",
"15/15 - 0s - loss: 1.0001 - 64ms/epoch - 4ms/step\n",
"Epoch 172/300\n",
"15/15 - 0s - loss: 1.0001 - 64ms/epoch - 4ms/step\n",
"Epoch 173/300\n",
"15/15 - 0s - loss: 1.0000 - 64ms/epoch - 4ms/step\n",
"Epoch 174/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 175/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 176/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 177/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 178/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 179/300\n",
"15/15 - 0s - loss: 1.0000 - 67ms/epoch - 4ms/step\n",
"Epoch 180/300\n",
"15/15 - 0s - loss: 1.0002 - 65ms/epoch - 4ms/step\n",
"Epoch 181/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 182/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 183/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 184/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 185/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 186/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 187/300\n",
"15/15 - 0s - loss: 1.0002 - 66ms/epoch - 4ms/step\n",
"Epoch 188/300\n",
"15/15 - 0s - loss: 1.0000 - 64ms/epoch - 4ms/step\n",
"Epoch 189/300\n",
"15/15 - 0s - loss: 1.0001 - 64ms/epoch - 4ms/step\n",
"Epoch 190/300\n",
"15/15 - 0s - loss: 1.0000 - 65ms/epoch - 4ms/step\n",
"Epoch 191/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 192/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 193/300\n",
"15/15 - 0s - loss: 1.0002 - 69ms/epoch - 5ms/step\n",
"Epoch 194/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 195/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 196/300\n",
"15/15 - 0s - loss: 1.0002 - 66ms/epoch - 4ms/step\n",
"Epoch 197/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 198/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 199/300\n",
"15/15 - 0s - loss: 1.0002 - 67ms/epoch - 4ms/step\n",
"Epoch 200/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 201/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 202/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 203/300\n",
"15/15 - 0s - loss: 1.0002 - 67ms/epoch - 4ms/step\n",
"Epoch 204/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 205/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 206/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 207/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 208/300\n",
"15/15 - 0s - loss: 1.0002 - 67ms/epoch - 4ms/step\n",
"Epoch 209/300\n",
"15/15 - 0s - loss: 1.0000 - 67ms/epoch - 4ms/step\n",
"Epoch 210/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 211/300\n",
"15/15 - 0s - loss: 1.0004 - 66ms/epoch - 4ms/step\n",
"Epoch 212/300\n",
"15/15 - 0s - loss: 1.0002 - 67ms/epoch - 4ms/step\n",
"Epoch 213/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 214/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 215/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 216/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 217/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 218/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 219/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 220/300\n",
"15/15 - 0s - loss: 1.0001 - 69ms/epoch - 5ms/step\n",
"Epoch 221/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 222/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 223/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 224/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 225/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 226/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 227/300\n",
"15/15 - 0s - loss: 1.0002 - 67ms/epoch - 4ms/step\n",
"Epoch 228/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 229/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 230/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 231/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 232/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 233/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 234/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 235/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 236/300\n",
"15/15 - 0s - loss: 1.0002 - 66ms/epoch - 4ms/step\n",
"Epoch 237/300\n",
"15/15 - 0s - loss: 1.0002 - 66ms/epoch - 4ms/step\n",
"Epoch 238/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 239/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 240/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 241/300\n",
"15/15 - 0s - loss: 1.0000 - 65ms/epoch - 4ms/step\n",
"Epoch 242/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 243/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 244/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 245/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 246/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 247/300\n",
"15/15 - 0s - loss: 1.0000 - 67ms/epoch - 4ms/step\n",
"Epoch 248/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 249/300\n",
"15/15 - 0s - loss: 1.0002 - 68ms/epoch - 5ms/step\n",
"Epoch 250/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 251/300\n",
"15/15 - 0s - loss: 1.0003 - 66ms/epoch - 4ms/step\n",
"Epoch 252/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 253/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 254/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 255/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 256/300\n",
"15/15 - 0s - loss: 1.0000 - 67ms/epoch - 4ms/step\n",
"Epoch 257/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 258/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 259/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 260/300\n",
"15/15 - 0s - loss: 1.0000 - 65ms/epoch - 4ms/step\n",
"Epoch 261/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 262/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 263/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 264/300\n",
"15/15 - 0s - loss: 1.0002 - 66ms/epoch - 4ms/step\n",
"Epoch 265/300\n",
"15/15 - 0s - loss: 1.0000 - 67ms/epoch - 4ms/step\n",
"Epoch 266/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 267/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 268/300\n",
"15/15 - 0s - loss: 1.0002 - 67ms/epoch - 4ms/step\n",
"Epoch 269/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 270/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 271/300\n",
"15/15 - 0s - loss: 1.0000 - 65ms/epoch - 4ms/step\n",
"Epoch 272/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 273/300\n",
"15/15 - 0s - loss: 1.0000 - 67ms/epoch - 4ms/step\n",
"Epoch 274/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 275/300\n",
"15/15 - 0s - loss: 1.0000 - 69ms/epoch - 5ms/step\n",
"Epoch 276/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 277/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 278/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 279/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 280/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 281/300\n",
"15/15 - 0s - loss: 1.0000 - 65ms/epoch - 4ms/step\n",
"Epoch 282/300\n",
"15/15 - 0s - loss: 1.0001 - 68ms/epoch - 5ms/step\n",
"Epoch 283/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 284/300\n",
"15/15 - 0s - loss: 1.0002 - 65ms/epoch - 4ms/step\n",
"Epoch 285/300\n",
"15/15 - 0s - loss: 1.0000 - 68ms/epoch - 5ms/step\n",
"Epoch 286/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 287/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 288/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 289/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 290/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 291/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 292/300\n",
"15/15 - 0s - loss: 1.0001 - 66ms/epoch - 4ms/step\n",
"Epoch 293/300\n",
"15/15 - 0s - loss: 1.0002 - 65ms/epoch - 4ms/step\n",
"Epoch 294/300\n",
"15/15 - 0s - loss: 1.0001 - 67ms/epoch - 4ms/step\n",
"Epoch 295/300\n",
"15/15 - 0s - loss: 1.0000 - 65ms/epoch - 4ms/step\n",
"Epoch 296/300\n",
"15/15 - 0s - loss: 1.0000 - 65ms/epoch - 4ms/step\n",
"Epoch 297/300\n",
"15/15 - 0s - loss: 1.0001 - 65ms/epoch - 4ms/step\n",
"Epoch 298/300\n",
"15/15 - 0s - loss: 1.0000 - 66ms/epoch - 4ms/step\n",
"Epoch 299/300\n",
"15/15 - 0s - loss: 1.0000 - 65ms/epoch - 4ms/step\n",
"Epoch 300/300\n",
"15/15 - 0s - loss: 1.0000 - 65ms/epoch - 4ms/step\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<keras.src.callbacks.History at 0x7f9c3c30b820>"
]
},
"metadata": {},
"execution_count": 62
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "n-aNP4n3sqG_",
"outputId": "b505f76b-21b3-41e6-9d39-f867e0aa61cc",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 443
}
},
"source": [
"# Plotting code, feel free to ignore.\n",
"h = 1.0\n",
"x_min, x_max = X[:, 0].min() - 5, X[:, 0].max() + 5\n",
"y_min, y_max = X[:, 1].min() - 5, X[:, 1].max() + 5\n",
"xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n",
" np.arange(y_min, y_max, h))\n",
"\n",
"# here \"model\" is your model's prediction (classification) function\n",
"Z = tn_model.predict(np.c_[xx.ravel(), yy.ravel()])\n",
"\n",
"# Put the result into a color plot\n",
"Z = Z.reshape(xx.shape)\n",
"plt.contourf(xx, yy, Z)\n",
"plt.axis('off')\n",
"\n",
"# Plot also the training points\n",
"plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=plt.cm.Paired)"
],
"execution_count": 63,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"7/7 [==============================] - 1s 4ms/step\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7f9c107b9090>"
]
},
"metadata": {},
"execution_count": 63
},
{
"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": "s_ukr55OORqE",
"outputId": "d435a9bf-cd1b-4132-a373-e26cc05c9bd0"
},
"execution_count": 64,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since end of run: 1712719466.130014\n",
"Wed Apr 10 03:24:26 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": "o8HTyvcHchzQ",
"outputId": "b6d778e9-6a20-48ec-c56b-048a498ba620"
},
"execution_count": 65,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since beginning of run: 1712719466.1353476\n",
"Wed Apr 10 03:24:26 2024\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# Function to compute saliency map\n",
"@tf.function\n",
"def compute_saliency(input_image):\n",
" with tf.GradientTape() as tape:\n",
" tape.watch(input_image)\n",
" predictions = tn_model(input_image)\n",
" grads = tape.gradient(predictions, input_image)\n",
" saliency_map = tf.reduce_max(tf.abs(grads), axis=-1)\n",
" return saliency_map\n",
"\n",
"# Function to compute saliency map using Gradient\n",
"@tf.function\n",
"def compute_gradient_saliency(input_image):\n",
" with tf.GradientTape() as tape:\n",
" tape.watch(input_image)\n",
" predictions = tn_model(input_image)\n",
" grads = tape.gradient(predictions, input_image)\n",
" saliency_map = tf.reduce_max(tf.abs(grads), axis=-1)\n",
" return saliency_map\n",
"\n",
"# Compute saliency map for the entire grid\n",
"def compute_saliency_map_grid():\n",
" xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n",
" input_image = np.c_[xx.ravel(), yy.ravel()]\n",
" saliency_map = compute_saliency(tf.constant(input_image, dtype=tf.float32)).numpy()\n",
" saliency_map = saliency_map.reshape(xx.shape)\n",
" return xx, yy, saliency_map\n",
"\n",
"# Compute and plot saliency map for the entire grid\n",
"xx, yy, saliency_map = compute_saliency_map_grid()\n",
"\n",
"# Compute saliency maps for all data points\n",
"def compute_saliency_maps():\n",
" saliency_maps = []\n",
" for data_point in X:\n",
" saliency_map = compute_gradient_saliency(tf.constant(data_point[None, :], dtype=tf.float32)).numpy()\n",
" saliency_maps.append(saliency_map)\n",
" return saliency_maps\n",
"\n",
"# Find the indices of the data points with the highest saliency values\n",
"def find_top_indices(saliency_maps, top_k):\n",
" top_indices = np.argsort(np.max(saliency_maps, axis=1))[-top_k:]\n",
" return top_indices\n",
"\n",
"def plot_most_diagnostic(top_indices, top_k, normalized_saliency_values):\n",
" plt.figure(figsize=(8, 6))\n",
" plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=plt.cm.Paired)\n",
" plt.scatter(X[top_indices, 0], X[top_indices, 1], marker='o', s=200, facecolors='none', edgecolors='r', linewidths=2)\n",
" for i, index in enumerate(top_indices):\n",
" plt.annotate(f'{normalized_saliency_values.iloc[index][\"Saliency\"]:.4f}', (X[index, 0], X[index, 1]), xytext=(X[index, 0]+0.35, X[index, 1]+0.25), arrowprops=dict(facecolor='black', arrowstyle='->'))\n",
" plt.title(f'Saliency Most Diagnostic Data Points (Top {top_k})')\n",
" plt.xlabel('Feature 1')\n",
" plt.ylabel('Feature 2')\n",
" plt.grid(True)\n",
" plt.axis('equal')\n",
" plt.show()\n",
"\n",
"# Compute saliency maps for all data points\n",
"saliency_maps = compute_saliency_maps()\n",
"\n",
"# Find the indices of the data points with the highest saliency values\n",
"top_k = 5 # Number of top diagnostic data points to select\n",
"top_indices = find_top_indices(saliency_maps, top_k)\n",
"\n",
"# Create a DataFrame to store the saliency values\n",
"saliency_df = pd.DataFrame(data=saliency_maps, columns=[\"Saliency\"])\n",
"\n",
"# Save the saliency values to a CSV file\n",
"saliency_df.to_csv(\"saliency_values.csv\", index=False)\n",
"\n",
"print(\"Saliency values saved to saliency_values.csv\")\n",
"\n",
"# Normalizing the saliency values\n",
"normalized_saliency = (saliency_df - saliency_df.min()) / (saliency_df.max() - saliency_df.min())\n",
"\n",
"# Saving the normalized saliency values to a new CSV file\n",
"normalized_saliency.to_csv(\"normalized_saliency_values.csv\", index=False)\n",
"\n",
"# Plot the most diagnostic data points\n",
"plot_most_diagnostic(top_indices, top_k, normalized_saliency)\n",
"\n",
"print(\"Normalized saliency values saved to normalized_saliency_values.csv\")\n",
"print(\"Normalized Saliency Top-k:\")\n",
"print(normalized_saliency.nlargest(top_k, 'Saliency'))\n",
"print(\"Normalized Saliency Max:\", normalized_saliency.max())\n",
"print(\"Normalized Saliency Min:\", normalized_saliency.min())\n",
"print(\"Normalized Saliency Mean:\", normalized_saliency.mean())\n",
"print(\"Normalized Saliency Median:\", normalized_saliency.median())\n",
"print(\"Normalized Saliency Mode:\", normalized_saliency.mode())\n",
"sum_normalized_values = normalized_saliency.sum()\n",
"print(\"Normalized Saliency Sum:\", sum_normalized_values)\n",
"print(\"#\")\n",
"print(\"#\")\n",
"print(\"#\")\n",
"print(\"Normalized Saliency Standard Deviation:\", normalized_saliency.std())\n",
"print(\"Normalized Saliency Skewness:\", normalized_saliency.skew())\n",
"print(\"Normalized Saliency Kurtosis:\", normalized_saliency.kurtosis())\n",
"print(\"Normalized Saliency Variance:\", normalized_saliency.var())\n",
"coefficient_variation = (normalized_saliency.std() / normalized_saliency.mean()) * 100\n",
"print(\"Normalized Saliency Coefficient of Variation:\", coefficient_variation)\n",
"print(\"#\")\n",
"print(\"#\")\n",
"print(\"#\")\n",
"cumulative_sum = normalized_saliency.cumsum()\n",
"print(\"Cumulative Sum of Normalized Saliency Values:\", cumulative_sum)\n",
"mean_cumulative_sum = cumulative_sum / len(normalized_saliency)\n",
"print(\"Mean of Cumulative Sum of Normalized Saliency Values:\", mean_cumulative_sum)\n",
"rms = np.sqrt(np.mean(normalized_saliency**2))\n",
"print(\"Normalized Saliency Root Mean Square:\", rms)\n",
"q1 = normalized_saliency.quantile(0.25)\n",
"q2 = normalized_saliency.quantile(0.75)\n",
"iqr = q2 - q1\n",
"print(\"Normalized Saliency 25th Percentile:\", q1)\n",
"print(\"Normalized Saliency 75th Percentile:\", q2)\n",
"print(\"Normalized Saliency Interquartile Range:\", iqr)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1868
},
"id": "95xed6YyDClf",
"outputId": "52e3cee6-151f-45f0-bfd2-cb60a4fa44bf"
},
"execution_count": 66,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Saliency values saved to saliency_values.csv\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 800x600 with 1 Axes>"
],
"image/png": "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PKoqfeD4907PpPcCgSSEJl2k2ygirl1XXXVXUcSKirg/xbIgqy4qYhexAhZWXQuuZVUEAaUXERCIhBACIb1NJmXq/f0xMBCBzCSkTJL38zw8ZO6ce+eduZmZN+ee8x5mzZrFHXfcccL93njjDbp27UpSUhLbtm3jwQcfZOjQoXz22cl76x577DFmzZp13PbFixfXmzALIfzz9ddfs2TJEsrKykhNTWXy5Mn06NEDgEceeYS4uDjuvfdeAHbs2MH8+fMpKCjAZDIxePBg9u/fT+/evb1DnebMmcOaNWtQFIXIyEh69+7N9ddfT3V1NR999NFxSxof6/XXX/eWUKuurubtt99m3bp1aDQaqquruf7667niiitOuO/q1at5/vnn+eijj9Bqj45b/t///sfPP//MNddcw4wZM3j//fcJCQlpktdOCCHEiVVXV3PddddRUVFR79X9Vk18p0+fztNP178m9q5du/jss88alfj+0fLlyxk7diyZmZl16nwe60Q9vsnJyRQXF8swiQDgcDhYunQp5513Hnp9043PUt1udn/8IvuWLm7gngrm2ESG3PcKwfHJTRZPW5VfaePnvYWYD22nOqkfaI6fyJYYamBUakyjjm+32wkPD+fDDz/k0ksv9W6/+eabKS8v57PPPmPLli08/vjjfP3116Snp5OXl8ecOXO45ZZbvO1vvPFG1qxZw549e457DJfLxSeffMKkSZPYsGEDp5122gljeeedd3j00UfrDLfauXMnEyZM4Oeff2bfvn2cd955FBYWEhER0ajn21ya630k/LezwMKuAuvJJ7e5XZgPbeec0WMJDpLl0zO/XsDvn81r1L7JZ19G3xsebvLx0vI+CiwWi4WYmBifiW+rDnW4//77mThxYr1t0tLSSEhIoLCwsM52p9NJaWmpt0SRP4YNGwZQb+JrNBoxGo//kNHr9fKLHUCa43z0u/5+aosPkL/xhwbtV5O3j1UPXEjXMVfT76Z/dOixY50jdYSYDLjBk/SeIPEtqHbhQoNJ3/DVqIqKinC5XHTq1KnO+U9MTGTLli1cfvnlfP3113Tv3p13332Xa6+9lhtuuIFXXnmFcePG0a1bN5YtW8aSJUtwuVx1jrF9+3ZGjBhBbW0tISEhfP755wwYMOCEcRQXF/Ovf/2LW2+91XsMm83GDTfcwJw5c+jWrZu3BnAgf3YEcmztnYsTvz+Oo9V26HPkdjnZ/fGLZH75VgPq8Hho9EaGTH2RuIFnN+skQXkfBQZ/z0GrfkPHxsYSGxvrs92IESMoLy9n8+bNDB48GPD03rrdbm8y64+tW7cCni9JIf5I0Wg5457nyV76b3YunoPb2bBxW/uXf4y9qoLBd83psLOFFUXBqNNQ3xxrtwpZpVWcFt80V1A2bNjAp59+SlZWFk6nk/fee4+//OUv3sUpXnzxRSZPnkyvXr1QFIVu3bpx00038c4779Q5Ts+ePdm6dSsVFRV88skn3HjjjaxcufK4Hl+LxcKFF17IaaedxmOPPebd/tBDD9G7d2/++te/NsnzEu1bqEnn19piHXm54sJff+KX1x/BVl7U8J0VDWfc+zzxg85p+sBEm9YmuqZ69+7NhAkTmDx5MvPnz8fhcDBlyhT+8pe/kJSUBEBubi5jx47l3XffZejQoezdu5fFixfzpz/9iejoaLZt28Z9993H2WefTf/+/Vv5GYlApdHqSJvwN0I7p7N29i2gNqx4fN767/jut3X0vHIKqeOv75CliMpqHJgAjd1Gwsa1RO3YSvi+PWhra3AZTVjSuuMaMhT+dgWYGjZjPSYmBq1WS0FBAevWrWPWrFl8++23hIWFcfrpp7Nhw4Y6423B8wf2kiVLqK2tpaSkhKSkJKZPn05aWlqddgaDgfT0dAAGDx7Mxo0befHFF3n99de9bSorK5kwYQKhoaF8/vnndXoYli9fzvbt2/nkk08AODKKLCYmhkceeeSEcwdExxVi8C+h1Wk63mcIQN7GpWx6cWqDJh0fYY5Lpv9NM4gbcGYzRCbaujaR+IKnOsOUKVMYO3YsGo2GK6+8kpdeesl7v8PhICMjg+rqasDzJfbDDz/wwgsvUFVVRXJyMldeeSWPPvpoaz0F0YbE9h3BkPteYusbj+CwNqwwusNawY5FT2KrKKb31VObJ8AAppaV8t1337H9ratZ7LBz3MjnZcCbwEPRMHkyTJ8O4eF+HdtgMNCjRw/uvfdecnJy6N27N++//z4PPPAAV1111XFJ77GOlERzOBx8+umnXH311fU+ltvtPm68//nnn4/RaOS///0vpj8k7Z9++ik1NUf7ujdu3MjNN9/MTz/9dNKhVaJjUlWVrYfqX2WsY6a7UJa5jZ0fPkfJzvUN31nREJHWh7P++VGH7HQQ/mkziW9UVBSLF5984lFKSgrHztNLTk5m5cqVLRGaaKcSzxhL/MCzWD93CkW//gx+XZg8as+S18nbtIwel9xKp1EXtfsPYpvNxoLp03ny5VfIdbu4SqPh2IFMR14976tQUgJPPQXvvw/vvAPnnVfv8VevXs2sWbPYtWsXiqJwxx13cOedd/Lyyy9TXV3tXcTihhtuoFOnTsyePRuA9evXk5uby8CBA8nNzeWxxx7D7XbzwAMPeI/90EMPccEFF9ClSxcqKytZvHgxK1as4LvvvgM8Se/48eOprq7m/fffx2KxeEsdxsbGotVqj0tui4uLAc8Vq0Cb3CZaV3mNg/Ka+odSBXy5pWZQsmsja2ZPQnU1rtxYVI+BDL1/Xrv/rBWnps0kvkK0Bo3OwND7XmLDs3dRtGNNg/e3HtzLlnkPYDnwO6dde38zRNj6bDYbb7/9NrP/8Q9yS0u5WqvlzJde4paHHyF/1Gh2Dz+H9zJ+49vvv+TeKQ8wJjiEHqt/IO5//wW7HQ4ehAkTcL39NtoTTHb9+eefmTVrFj/88AN9+vTh448/Ji8vj7lz5/L2228zcOBAvv32W29ZspycHO+SxgC1tbU8+uijZGVlERISwp/+9Cfee++9OsloYWEhN9xwA3l5eYSHh9O/f3++++47zjucjG/ZsoX16z09UEeGQxyxb98+UlJSmvZFFe1alf0ktXs7qLK928n86h3y1n9HY1J+Radn2P3ziO0/SpJe4VObqOPbmiwWC+Hh4T7LY4iW4XA4+Oabb/jTn/7UorNoVbeL/M3L2frWDByV5Y06RliXnqRffAtJwye0i8oPtbW1vPXWWzz11FPk5eVxraryqKrSLSiIb/79b6zVBj5f+QP/W/w2DlstY664jmumPIjJ7Fnw4+JgGyFT7kBdupQbgVrg4+++g/HjAVi1ahWzZs1i+fLl9OvXjxkzZnDFFVfUSWpF47TW+0h4FFptLNvjY8KW24X54NZ2f45y13zN5lcPX31p4JwKFA0anY7hD7xBTB//J7o3FXkfBRZ/87W2/+0rRAtQNFoSh5xHWJee/PSPa7BXWRr8IW3JyWDLq//HwZ//y9D7X0Gja9iqQ4GitraWN998k6eeeor8/Hyuv/pqHlm5kp55eQDk/uVa/v3vf/Pl19/gcNgZe8VfuXji7UTG1i09eCA8jt7ffstro0fz3qpV/Adg0iRWzp/PrLlz+fHHHxkwYACffvopl112mSS8ot2IDNKjUTwVTk5G344ntamqSsnODez93yIKtvzY6OMkn3Up6RffQminNN+NhThMvkmEaIDg+C6c/eQnJJ91CY2dflL4608s//tF7Fu6GGdNVdMG2Ixqamp48cUXSUtLY+rUqYwbN45du3bxbno6PfPyKAVmdO1K708+4fPPP+ecS67mhf+u5ob/e+y4pFcBnG6Vzb/8wn3r1nFX585EA+cePMi5F11EWVkZn3/+OVu2bJFeXtHu7C601pv0AvSKC22ZYFqYqqpsW/BP1jw5kYJfVjT6OP1vnsmg2/8lSa9oMOnxFaKBzLGdGHT7bLqOvYY1j9+I2+VscO9vdeEBti94goxP5zHykXcIS+7RTNGeupqaGl5//XWefvppioqK+Nvf/sYjjzziGetqs1Eyfz7PAy8BzoICbrn1Nk4fNBBjv9EnLdCvAoq9iquvvprU1FS2hoby6sGDDAKWhIZyyZo1KEFBLfgshWgZblVlT5HVZ7sgffv6Y89lt3Fow3dkfbOIiuydno2NGGkZFJNE72vuo/Ooi5o4QtFRtK93lhAtKKr7QEY+upDg+C6NPIKK3VLKqkevZsd7T1GZm9Wk8Z2q6upqnnvuOVJTU/n73//OBRdcQEZGBgsWLCA9PZ3i4mIevuEGUoqLeR64rWdP9mVnM/fZOURGRtZ7bFVVufkvf2bfvn1kZGRQUVvL28OGsQQYVVmJsnRpSzxFIVpctd2FzVX/H8qK4qmH3V5Y8/ez/P4L+GXeg0eT3kZIv/Q2xr2wVJJecUqkx1eIUxDVYxBj5n5D3oalbJn3f57V3hrUi6HidtjI+vY9sv63iLQLbqTPXx/0b2ayxQKlpaDRQHw8nGCp7caoqqpi/vz5PPPMM5SWlnLjjTfy8MMPexd8KC4uZu7cubzyyiuodjt3AfcDcY89BvHxOByeL2yFk8/P3vTjd2xcd7RKxo4dO5h0+GcNsP2bbzjtkktO8JQtuN1uKQ8m2iyNP2N3VdC0g+oE1kP7yFn5Gfu+/wCXvbbRx1F0enpfcx/pF97UhNGJjkoSXyFOkaIoJA0bjykqjg1z7sBuLW/4QQ4Plcj63yJKf/+FrqOvpNPIC9GZgo9po8KGDfDGG7BqFWRmHr1Pr4e+fWHCBLj1VmhEea2qqirmzZvHnDlzKCsrY+LEiTz88MOkpqYCUFRUxLPPPsurr76KoihMmTKF+3ftIuaLLzwHGDSo7lOq57FOP+c87vrXK5zZuyvRwUZPDe68PNSJEwkGehcW1mlfUlLC888/z0svvcTFF1/MBx980ODnJ0QgCNJpMOk01DpP3uurAgmhJg60XFhNSnW72fHuv9j3/Qee7utTKB7V7cKb6H7pbRhC/FvkRghfJPEVoolEdR/Iea/8yMG1/2PnB8/gqKpo1Ad++d5tlO/dxm/vP8MZU18krv8oyMjwrHL2008n3snhgF9+8fx76im47DJPghwT4/PxrFYrr776Ks8++ywVFRXcdNNNPPTQQ97atAUFBTz77LPMmzcPjUbDvffey7Rp04iOjoZje2V9DG84llarZdSESxnWNZLUqMPJfWnp0QaHV0ArLi7mueee4+WXX8blcnHnnXfWWXhCiLYmv9JWb9ILEBGkJya47ZXHslsrOPjzfznw0xdU7PvNs7ExSa+ioCgKA255nC7nXtG0QYoOTxJfIZqQ1mCi6zmXE9tnGGuemEh1YeP7bJy1Vax7ejL9lGRSPlmBYrMfvdNkgv79QaeDPXuguPjoF4yqwuefe/4NGwYPPOBJUHV13+6VlZXehNdisTBp0iSmT59O165dAcjPz2fOnDm89tpr6HQ6pk2bxn333UdUVNTRgxw7Aa2sDOLiGvQcg/THTH4rK/P+WKzVMvehh3jllVdwu93cdddd/P3vfyeugccXItDsKqz02SYtytzmFmI4uOZrtr7+CG6HzXfjemh0BrpdOJGuY6/BHJPURNEJcZQkvkI0A3NMEuc+tYSDq79i79cLqMrPbtRxumSWkbphl/e2u2sXNI/NgrQ0uP122LXrpPtWA5+sX8+1V16Jvk8fWLgQzjgDi8XCK6+8wty5c7Fard6Et0sXzyS9vLw8nnnmGebPn4/BYODvf/87U6dOrZvwHtGnz9Gff/kFevY8+hrotVT7WKDKpDtmfu0vv1AEPAu8+v33sGKFZzjF/fcTGxt7skMI0Wa4VZWCSt+JYUm1nbRIUwtEdGoc1VYOrv6S/M3LKdr286kdTNGgN4cy8pEFhKf0bpoAhTgBSXyFaCY6k5mUsVfTdfSf2frGIxxYtYT6p3zVFV5aS/+N+d7b2ekR7BwaRp+v3qXL5ytR3MdcLk1JgZEjoXt3KC+HDz5gSnExHwKXAfrffsMybBgvXXghz/38M1VVVdxyyy1Mnz6d5ORkAA4dOsTTTz/NG2+8gdFo5MEHH+Tee++tv0LDkCFHf16yBP7yF+/NAYlhrD1oqfc5bjlYwZjusRQWFjJnxgzm4Zncdvcll3D//PnE+DFUQ4j2pi2sp1q4fTUbn78HV20NjVlm+FiGsChSxl1LyrhrMEXIH7mieUniK0QzUzQaBt72L+IGnk3Wt+9Rtmerz282xa0yaF0emsPNsnpEsuP0OFIyiui6eYe3nat/P7Rzn4OxYz2TSA5bdNppLLjtNhbi+Up6HHje7cby5ZdMHDWKxz78kM6dOwOQm5vLU089xZtvvklQUBAPPfQQ99xzj3+VE8aM8QxvKCyETz+FrCw4nEjrdL6rJf6+/yBL5s3m7dfno6mpYSowLTKS6Pff9wznEKId0SgKIQYtVnv9l0KizIG5qmNtRTE5P35C4bbVlGZsPrUM/fCkt8Sh4znjnudQTlLzW4imJomvEC1AURQ6Db+ATsMvoCJ7F6sfvwGXrQbVfeIvwISDlYRVeC6JVkQY+W1QHGFlNvpuKfC22dM7moy+KhGrFxJfk02Xc67EGBbJb7/9xh1Tp3L9pZeS/c03pDgc1ABpQA0wa/16OpWVcRC8CW9wcDCPPvood999N+HhDZg9bTR6qkg88QQ4nTBpEnz7LQDWWudJdysvLuTLRa+x7NP3Mej13JeQwH379hENnuNJ0ivaIUutgyofSa9WgbRoc4MXxWlueZuWsfmlaY1asOdEQjt3J23C3+hyzuWS9IoWJYmvEC0sPKU35/zrUzK/fJucVZ+jOo8vVJ+yp9z782+D4lAVGLT+aA9wZq8odg2MBdVJacZmSn/fwp4lr9P37he54pqbCA0N5csff8SuqtwGdAWmAQsBl9PJnWPH8nZFBSEhIcycOZMpU6YQFhbWuCf0wAPw3nuwfz+sWAHTpsH48ei0x0/OKSsq4KtFr/HDp++j0xu48K+38rKtgk7vLfI06NwZHnqocXEIEeB2FVT6HBTQIzYEo06Lw9H6iW/p77+wb+m/Kdm1kdrSfN87+KBotGhNZkbNfJ/wAF6tUrRvkvgK0QqC47sw4JZZ9L95Jnv++ya7P34BFA2objQuN9FF1QBUhegpjjcTm1dFePnRHuBd/f8wDk5VcdZYGT9uLL+X1KJRoG/vXow8/Qwq3n+fB4Bx4eGs1WiYXFZGWFERsyZN4q7nnyc0NNRzjIMHYdMmT+k0mw1CQ6FfPxg8uP5SZaGhsGABnHceuFyen8ePJ7EkH40SjFuFsqJ8/rvwNZZ/9gF6vZGLb7yTK8ZMYOzzT5Cw/nCJNo0G3nkHGtLjLEQbklNe47ONrx7h5qaqKm6Hncyv3yHjPy+haLQnvTLVEBqdns5nXkr3S28lOD65CSIVonEk8RWiFSkaDT0uu43QTt3I/PItyjJ/Jazc5u3ZLYkNAkUhZW+5d5+MfjGoJ+hNBahyuAkxaAg1aCk+kMX/Sks4BLiB5RUVbA0N5QngTiDEYvGUI3vvPXj1VVi//sRBarWecmj33APnnnviNqNHe47zt795NxmGDaHv8FE8Zq3hi01r0RsM/Pny6/hbzz70Xv8TyX+9CO2R3m6NBhYt8iTPQrRTLrfvMbEOd+v09Dprq8n69l32Lf03trKjC8icStKraDSobjf9bp5J13OvRKNre7WJRfsjia8QASBxyDgSh4zDbrWQc8/1wH4ArKFGUFWiCz09wDajloKkkJMe59UL0+rcfvD7bByAFugOdD39dH5evZrVTidXfvMNNwwfDps31x+cy3W0LvB118FLL0F09PHtrr0WEhLg9tspLi7m3upq3l76LWbgH8A9DjvhHy44brfq+ES0CxdgnHB+/XEI0caZDdp6e3QVIMzYcsmhqqpUZO+kpjiP3f95kcrcrCYdWxzdeyjdL7uN2D7Dm+yYQpwqSXyFCCCGkDC6XXADLPjKs0GBoCoHBrvny6g82oSq8b+wfWKoASpspDtVNEBx9g4izCa0Fivuqqq6Se+AAXDhhZ7/g4OhqMhz/6efQl6ep83ixbB2Lfzwg6eW8B8cSE/nyTPP5O3bbydUVfkHcDdwosELtRFRZF1+LTsn3smogWkk+v2shGh7rDYnNY76e09VID0muN42TSV/y4/89sEzVOVlN91BNRpwu+l++R10v2gSuqCWeS5CNIQkvkIEGCXxaArY8/Q/oYZVAVkAVDVwGdOpI5IY/VUWoZV2XBqFb4bHcMbPuSQeW163Vy+YPx/OPrtOSTQAJk6E556D99+HadNQy8uZvm8fXYYM4a5du7wrteXk5DB79mzefvttQkNDueaaa3hxzhzsK9eSs2I14Vm/o62txWUyUZHandI+A8gfdiZugxEAbQOSeSHaot2Flfga6ZAaZSbM1Dw9vqrbTdH2NRRuX4310D4Kt648/v1+iqLSB5J+8SQSBo9p0uMK0ZQk8RUi0AwY4K1xqd20hdPeehNe/AQApYFlMw02JyGVnqWOLRFGNC6VmIIq7/0F8WZ2je+CcfUi4qr2kXz25RhC/tA/q9fDTTfBeefxztChPJOXx4elpXDXXex/9llmz57NO++8Q1hYGP/85z+59dZb+emnnwiLicFxxSWs6DnUZ5whBilnJNq3faXVPttommmZ4uqiXNY9cxvW3L2g0cKRcbunuFLGkYlvp/31AVLG/gWdMcj3TkK0Mkl8hQg0oaGeSgqbNsH27SilZd67UjoPpPpPF7D3mwV+zbZOzqrgyFdpSZyZnjuK0TuPftn9MiIJe1EOFOVQ9Ns6Mj59lTPufYHg+GSM4THoTGZv222lpUwpK2Oy0cgwm41bP/mEhUuWEB4RweOPP85dd91FSEgIDsfR8mxmg46UyCCyy+qfzb4lt4IzU08wbliIdsCtqjj9mNhmczZNRQe3007OyiVk//BvrPn7UR021CNJbhNUaADQ6AzE9htJtwtvIuY033/cChEoJPEVIhDdeqsn8QWYOxcSEyEvD2XTJk776iti+g73rgLnrLGe8BB6m4v0XaXe2wdTwhj1w37v7ZogHfagYz4CDpdEW/fULYDni63TqIvo9ee7cRqCueqqq0hNTcURG0v3VauIBJ5MSeGOX34hJOTkE+5Oiw/1mfgeKK+h2u7EbJCPJNH+aBQFg1bB7jp58qsAwafw+2+3VlC8cz2u2mr2fb+Y8qzt3itHTUXRaFC0eoY9MF8mrIk2S75lhAhE110H//ynp7buDz/AkCGeCWZWK8qHHxI/aRLxA88GIH/zj2x68V7cLtfRGdlulYEb8jDaPL07hzqHEFZuq9PbW5BU/8QTt9POgVVLOLT+O57ZVEHW3ixUoKSkhKeio7m9pITgzEwoLYV6Et/yelZwO1ZJtUMSX9EuWWodOOpJesEzsS0tuuGTwVwOOzs/eIbs5R8fvxhOEyW9Gr0Rc1xnEgaPIWXsNZhjOzXJcYVoDfItI0QgCg6GN9+ECy7w3N648eh9M2bAlVdCRAQACYNHM/aFpexf/h+KfltL9d5d9Fm1l8SDnp5gu0HD9jMS6LWtsM5DZKfXsyjFEaqbT3/JYdX2IgCCdBrs1nKeRcdcIBZYu3Il5mPq9/6Rv6MWZXqbaK+251t8rtiWEhlERJDviW1up4O8jUvJ+fFTqopzcVRZcFSWg89HaJgjQ6kiuvVn+APzMYT68XkhRBsgia8QgWrCBHjkEXjyybrbDx3yTDb7z39A53kLB0XF0+uSW+nljEFd8DPKfk/ZBrcCW0YkYTdqvYkwQEFiMJYok19hnJEUQmZpLUmhBnQaBRUIttjovB9igNJ3X8Y5ejhhnbufcP/YECMKvr+WzXqZ4CbaH6fbzQEfQ32g/mEOlbl7qdi3E1V1k73035Rl/upd6bE5RPU4nZBOaSQNm0Bs3xEoGk2zPI4QrUESXyEC2eOPe8bpPfFE3e1LlkBKClxzDRgMsGsXrFkDRUXenlM1KIhDd/8VYygMfW2xtxawCmwdmuB3CJ3Djfx9VN1Lm+ElNZyzvxKAffszWfnwlcQPPBut3ogpMQ30nb1tg/RauvoxwW3TwTLG94z3Oy4h2gK7U/X5R58C2FwnTmLXPXMbZb+tPf6OZkh6DaGR9LvxETqNvLDJjy1EoJDEV4hApiie5Pecc+CWW2D/0clp5OZ6auyeyDnnoDz7LJ1XrqTzU09B8dESZipgM53aW197zHhFtwZUp4P8Tcs8vVB6I1w+k8yvFxDTvT+qy0XvTj3ILqvngHjG+JZU2YkONpxSbEIEEoNO49cVjyC9ltI9W8n6ZiEFv/6ES9HBJQ9T+vvWZh0GFJZyGl3OvgxzbCfiBpyJRifvP9G+SeIrRFswbhzs3g2ffAJPPw07dhzfRqPxLBmclgbFxTBsGLiP9gqpBgOK3Y4GSO8+isy9a/wqiXYiYeU2789VIcd8Uapu1MOP+ftn89jj9LRzJ50G17/o87iFVpskvqJdKa6y+Ux6VVXFsuRZsn76BEXRoLpdqDrj4TubZziDMSKWtAl/o9ufJqLRtdwyyUK0Nkl8hWgrTCb46189//bvh5tvhuXLj97vdnvG/x46dPy+V12F0qOHd7xw78g+RN3/V7K+fZeyvdtwO+yoLv+qLwDE5h/tQa7wY6ywv8l1M9XvF6JVqKrKloPlPtvpNn9G8ar/HN6naers1nF4PHBwUhpn3PMchpAITBExKBoZVy86Hkl8hWiLunaFZcs8Y3vfeMOTAP/2G7gOf2nqdNCnD4wZA7fdBj17enqMDye+yvz5JNyzk4TBowFP6bJf35zJgZ+WeHqBVfWkPU1mq52EQ56JcjVBOsr9SHw1xfvAVgXG+ss1le9ajyNkGHpzqL+vhBAByV5ZRnG5hYpa38ml5tDOpg9A0aDRGwjtnI4xLIrOIy8icdj5aPVyRUV0bJL4CtGW9e4Nzz/v+bm21jPEQVEgOtrTQ3ysXr08ifDy5bBnD8yZAw89BHgWqxh0x2y6X3YbuWu/wV5ZRsnuTVj2Z1BndKKq0n9jgXfp5P3dIlA1vrtpFacd/S//xTH0Gs+QjBNRVfYZOlNy/0V0P/867NZyNFodcQPOIrr3EBTpDhYBTFVVFEWhLHMbuz95maJtq3F1HQhXP1P/jm43BEc1eTyxfYcz8NYnCIpObPJjC9GWSeIrRHthMkHnzvW3+de/YORIz5ftzJkwcODRWsFASGIKPa+4E/AMT9j7v3fJ+vZdakvyQVXpub2YuMPDHGqCdGT19L+2p371uzgGXQzGkyx2oShgDKY2ZSi7P34BRev5eMr88i3Cuvai11X3UFWQg6LREttnOKGd0/1+bCGaQ3VRLnu/XsCBn77AWWNFHxqJw1pxeMiOCtYS3wfRaFD8aXdSnj8IgxO60P2y29EajISnnEZIQtdTOKYQ7ZckvkJ0JMOGwQMPwFNPgcMBl17q+fnee0Fb95KsotGSfuFNdLvgRmwHstA9MgPdb//23v/r0ESchgaMEVSUkye9R6huXJ37oP/1qzpjji37d7Ph2Ts9YxVRQVWJ7TeSXlffR+WBDFTVTVT3QZIMi2ZTU5LPvu8/4OCar3DVVmOKiqeq4ACq0+Edw+6o9JQuObJgmqvX6PoPqqpgq0K7d12D49GHhKPVGzFGxtHlnCtIPutSdCZzg48jREcjia8QHc0TT8DevZ4FMBwOuP9+ePddmDIFLrwQEg9fGnW7Yc8elI8/xjRvHuTnew9RcPOfMQ3rSVJtNXkbl4Kq+p7A5u/yqfU1O2bccdH2NRRtX1Pn7ujThtLn+gepyP4Nl91GWJceRPeSYRKiYax5+8j69j3yNy3D7bBjTuhK5YHfPZNAjyS5VZZ6j6EGheEY9pd6GqigKBh+nI/icpy83R9o9EZSx19H72vuk2oMQjSCJL5CdDRaLSxeDMnJnvHBqgq//gqTJ3vuj42FkBDPeOHKyrr7hoTAvHnE/+1vHFlqoiJ7F5lfvsWhDd+jupwoWt0Jc1fF7UST+xvuxF5wstnkGi2qqfET20p2bmDVI1cefkAFVJXghBT63vAQ1kNZ2C1lBMUm0Wn4BeiDwxr9OKLtcruc2K3l6AxB6IKCKfz1J/Z+s4iS3ZtAUQhL7k5F9q46f8zZM8sb/DjOnmeffDw7eEuYaHN+qfc4ilZH32unYYpOQKPVE937DJn8KcQpkMRXiI5Ip4O5c+Gyy2DaNNi06eh9RUWef8fSaDxtn3vOU1HiGOEpvRl891xOd7twOezYamv5YcWqE9Ym02/8BNtlM+sNzd1tGM6UM9Blb6q3nU+He5ir8rNZ/8xtoCjeusU7Fv2LbhdPQnU6sObtQ28OJWnYBOIGnCklntoJVVWp2PcbtooSTNEJBEUnsffLt8he9qG3t9Yc15nqwoN16lmX793eNI8fFOG5aqKtf7lfNSgCLIWeG4qCKTKO0E7dcCtaioHRTy0hNN7H2H0hhN8k8RWiIzvrLNi40fPvk09g82ZP2TO73dO727+/Z1zw9ddDly71HkrRaNEZg1A1no+V0U99QXnGRtwuF26nnZ2Ln0WXuQbHoV24k3qf/EBuJ47TLzv1xPePVNU7btjttLPn89cO1zdVUTQaDqxaQkhSGiGJKZT+/gsoCrF9R5A24W9EdOtPVV42jupKzHGdMYY1/Sx80TiqqlKasZnCrT/hdjmISO2DRm9g57/nUpV/dKVDjd6I2+moM1ymuvCg5xiNWMTFJ0fNya9sHA0epcozsc0QGknKedeSftHN6EzBOBwOvvnmG0xRsoy3EE1JEl8hBAwZ4vnXhIJiEglLvNJ7u9OIP5Gz4lO2BYdhr29Hja7+xLgpHU6CjiQ+1kNZWA9lee8+tO5bctd8jTEiFlv54V5wRUPCGWPpcdntlGZsxpqXjS4omKRh5xOR2ufw8dyoqhuNVj5iG0t1uynL/BW7tRxzXGdCO6VTsGUF+5Z+gGX/brSGIOIGnk1pxmYsORkoWi2gnHQhFrfDdsLtzRK7zohj0KX1N3K7iNE5GPPKMlz2WvTmUJT6hkYIIZqEfCoLIVqEMSyK7pdMJvv3Qoqr6k19oTl64BrhSELsTXo9G8nf9AP5G5d6h0+gqmT+900iuvVDZzJTvHMDqCqhyT3odsENxA06l0Nrv6GmNB9jeAydR16IKTIO1e3GVlEMgDE8pt0nPqqqUpb5K7VlhZgiYolMH0BNSR77l31M8a6NKIpCbL+RGEIj2PPlW54yeofpQyJwWMvrDEvIXrr46LFdgfE7A+DsPQbCE+pZilBF0WoZ0iMJrUGP1mBs0fiE6Mgk8RVCtKhOYab6E19VBYMZd1gcGkvh4UvUdv+rQrSEI7EcM3wCjh8fWnngd7a+8ag3AVI0OlS3i50fzCGm73Cq8vdTU+xZYjoothPdJtyIKSqeAz9/QW1pAUHRiXQ55wriBp5F6e7NlGRsAhRi+gwnqsegw4+5jdryYoKi4glP7YOiKLidDs9lfkUhOL6Ld/a/s6YKu7UcxXS0rJzqdlNTkoeqqphjEr1jnKuLcqkpyccYHkVIYqp3W/HODahuF1HdBxLaOR1rXjYHVi2hpiQPQ1gUyWdejMtuI+t/iyjcvgZUlaiepxPZYxAHVn5GdcEB72MbwqJwWMu9cQCeYSYnmB55tF3gJLheh5cEPpKU64b/uf6rGigYtRoigqQqgxAtTRJfIUSLSosOZke+BdfJ8lhFQdEbibj3A4bF69EFBbPrw+fJWfHp0cvVGq1n4lC9tc8CyOFEWT2mbFXxjrV1mtQU5bLjvX95bmg04HZTsX8X+Zt+QGsMwmWr8SalGZ+8jDmusydpPZw4A5gTUojqPpDCrSuxH64pawiNovOZF1NbWkDexqWexNEQBJfPJOOzeeT9/AU1JXkAGCNiSRw6Hsv+XZRmbPEeN6xLT3TmEEp3b+HY19wUlUBtaX6dCYFZ3ywEqNMzW/jrzxRuXXXcy2K3lJ7oxarvlQwACqB6n1/86WPQB4fhODwko8voP7O2OoLqmvpLlLkD6Q85ITqQNpP4Pvnkk3z99dds3boVg8FAeXm5z31UVWXmzJm8+eablJeXM2rUKF577TW6d+/e/AELIU7IpNfSLzGMrYdOXgdVBfJqgdAY9Hot/W/6B72vuc8zllOjISQpjd8/e5XsZR8fTYYPly9rFw73fh7532WrAer2dh6ZmHWs6vxsqvOz62yzV5aS9b9FHEnYPMfxHHfv1wtQnEfHvtrKi8j+/oPjjmvJyThhmLWl+cfFdUSdbcdMKGuLjiS5icMm4Ky24KiyENIpnZSxV3t73o9QVRX37gKfxww1Sm+vEK2hzSS+drudq666ihEjRvD222/7tc8zzzzDSy+9xKJFi0hNTeUf//gH559/Pjt37sRkMjVzxEKIk1OOScNOzmpzEqT39CbqzSFE9xrsva/vDQ/T88/3UL53G6qqEta1N7lrvmTPF28c05OoHF7RVWnzydepayd/FDQ3RUGjN5J81qVUHtyDy24jsls/UsZdS1iXHj53zy6rpqL2xBPsjtU9JrgpohVCNFCbSXxnzZoFwMKFC/1qr6oqL7zwAo8++iiXXuqZXfvuu+8SHx/PkiVL+Mtf6llRRwjRrHRaxa80TOtjwTW9OYTYfiO9t7tdcCOp511HedYOXA4boUlpVBflsuvjFynZuf5wKwW9OQRHjbX99BCLBlAOV4BQUV0uIrsPJKbvCMr3bkNRNMT0GU6Xcy7HEBrZ4COrqsrO/Eqf7aLNerpGyfLCQrSGNpP4NtS+ffvIz89n3Lhx3m3h4eEMGzaMtWvXnjTxtdls2GxHL/1ZLJ7LsQ6HA4fD/2UlRfM4cg7kXAQuf85RvFnnV+WG3wsrGNy54QlIaGrfoz+HRDL0wTexlRdht1ZgjIhBYzCx/4ePyFnxKTUleWj0RiK69aXs962A6h0K0G7pjN7/22fqr6BoNHWGWxhCI+l55V24aqux5u1DazSTMHgMEd36nXBJ68Z8xtQ4XFhqfJdNizaZcDmd1PcOkM+6wCfnKLD4ex4UVW1bXR4LFy5k6tSpPsf4rlmzhlGjRnHo0CESExO926+++moUReGjjz464X6PPfaYt3f5WIsXL8Zslr/QhRBCCCECTXV1Nddddx0VFRWEhZ18SfpW7fGdPn06Tz/9dL1tdu3aRa9evVooInjooYeYNm2a97bFYiE5OZnx48fX+0KKluFwOFi6dCnnnXceer1MDglE/p4jh8vNf3/Lr7fHUQF6xoXQN6F133u28iLyN/+Io9ZKcFwykd0Hse/bd8n5aQmuWs/Es4i0vlQXHcReebjWrKoeHVd8uNxVwNAZ4dKH4Yt/gbPlFnY4qWNfn8M/a3QGTxm7w0yRcaScdy2VBzOpPPA7WoORhMHj6HTmRejNYdjKCnE7nZii4rzl21pagdXGT1klPtsN6xJJckRQvW3ksy7wyTkKLEeu0PvSqonv/fffz8SJE+ttk5aW1qhjJyQkAFBQUFCnx7egoICBAweedD+j0YjReHwxcb1eL7/YAUTOR+DzdY7cigvVx5KuKmBzK61+rvWxSaRPuL7Otv5/e5C+196HraIUncmMPjgMl93GoQ3fUfjrz6guBxHd+hPVYyB7v1pA3qZlh5M7haieg6gqOICtvAjl8Opuqst5OGF2N/vYY+/RnbY6VR2axJEk9tgqG4cX5tAHheCoOvrlZAiLpuvoP1N5aC8luzaioBDbfxRpE24gtHM6hdt+xl5ZjjmuE7F9htcpm/ZHhvjOTfs8GsjlVtlwoMjnMsVGrYau0aFoNT4GsB8mn3WBT85RYPD3HLRq4hsbG0tsbGyzHDs1NZWEhASWLVvmTXQtFgvr16/njjvuaJbHFEL4T6/VoFHA7SPHszkDqKf0DzQ6A0HRCd7bWoOR5DMvIfnMS+q0i7pvEHZrBbaKEgyhkRjDInG7nBRsWUHJ7k0ARPceQlTP0zmw8nNyVnziXZQi+ewrsFvL2L/sI2/SaAiLIrrXGRTv3OBd2AE8q5tp9UZqywq8SaLqdmEIjcRuLffUSFY0qEcS0eBQnBW2Osm3PiQct8PurRusul0oOj2Raf0o3/ebt3ycotWRMHgMhtBIDq7+EldtNRqdnk6jLqLr6Ksp2bWBoh1rUN1uonsOpuvYqzFGxFK8cz21pYWYImKI6TO83t7ZpKHjT+0EtaCDFTXYXL5/V0emRPmd9Aohml6bmdyWk5NDaWkpOTk5uFwutm7dCkB6ejohIZ5ViHr16sXs2bO5/PLLURSFqVOn8sQTT9C9e3dvObOkpCQuu+yy1nsiQggANIpCSpSZrJLqetsdstSSX1lLQmjbLkFoCAnHEBLuva3R6kgcMo7EIePqtEu/6GbSL7r5uP17/XkK1rxsUBRCElLQ6PS4nXaKtq+htrwIU2Q8sf1Gomi0lOzcUCehju49hNrSAg6u/pLaskL0EXFkAONe+IHyjE0U/7YOUInqMZj4QWfjctjJ37ycmpI8jGHRJA4Zh94ciqO6krLMbahuFxGpfTCGRwPQ/6Z/4KypQmsyozmcREf1GEj3S2897nnE9RvVNC9ogCmttvtVoi/Y2Ga+doVol9rMO3DGjBksWrTIe3vQIE/R8B9//JFzzz0XgIyMDCoqKrxtHnjgAaqqqrj11lspLy/nzDPP5Ntvv5UavkIEiD7xYeSUVVNfp64C7MyvbPOJ76nS6AyEJfc4blv8oHOPaxvTZxgxfYbV2RYUnUD3SyYDnrGJGd98g6LRENd/FHH96yajOmMQnUdeeNxx9ebQ49qCZ4EHfXDHngPhcqt+VciQzl4hWlebSXwXLlzos4bvHwtUKIrCP//5T/75z382Y2RCiMYKMepICgsip7zmpG1UPJOGnG4VnWQNIgDVOFzsL6v/ygVAmFGHWV//GGAhRPPStHYAQoiOTavxrOLmi9vXYGAhWsmugkrsLt+/n6clhJ6wZrAQouVI4iuEaFURQXq/LhEXVwVA2S0h/kBVVbJKqny2izYbSI2SZYqFaG2S+AohWlVqVLBf4x5XZ5fi9GPWvBAtya2Cw4+rEWaDDHEQIhBI4iuEaFVGnYZhXXwvS+x0q+yvZyywEK2hxuH02UYBgmRsrxABQRJfIUSriws5ftGYEymv8W8tdiFagqqqrPJjpTYVSImSJe+FCASS+AohWp3Gzwk/1XbfvWtCtJSCShsVtb5/J7tEBBFtNrRAREIIXyTxFUK0OpNeS1SQ7+UmD1bUUmiVSW4iMORV1vpVkWRgp3DfjYQQLUISXyFEQOiT4HsBBAXYnlfhs50QLcHmdPtVkUQIETgk8RVCBITOEUEkhtU/1lcFCq12ah2ulglKiJOw2pzklPmebGnSaWRimxABRBJfIUTACDfp/bp0bJeyZqKVbT1UgUv13d/bIzbE7zHsQojmJ4mvECJghBh0fl06PiBlzUQrsjvdHPTjdzDMpKNXXGgLRCSE8JckvkKIgNE10uzXYhbb8ixS2ky0mhqHy68/0JLCTGj9+YUWQrQYSXyFEAHDoNMwuHOEz3YKkFlsbfZ4hDiRIj8ri5h0MrZXiEAjia8QIqCkx4Sg89FLpgLFVVLWTLS8SpuTTQfL/WrbJTKoeYMRQjSYJL5CiIDjK/EFqLK7cMokN9HC9hT5d6Whe0wwwQZdM0cjhGgoSXyFEAEnOSLIZ3UHu0tl/YGyFolHiCPyK2t9ju/VaeB0P4bsCCFaniS+QoiA0yM2xK92OWU1WG2yjLFoGS63SrUfNaQNWq2UMBMiQEniK4QIOGEmvd89Zocstc0bjBCHbThQhsNVf3+vAsSH1r8QixCi9UjiK4QISJFBer/aVUhZM9ECKmsdZJdW+2yn4v8VCyFEy5PEVwgRkMJMOr9WcdtbUiUVHkSzyymv8ev3cWBSOFFmQ7PHI4RoHEl8hRAByajT0tXPclBbcyuaORrR0VXUOvxatKJTuKnZYxFCNJ4kvkKIgDWoUwRGre+avkVVdqrsMslNNI9Cq439Zb6XKNYoEKSXRSuECGSS+AohApZJryUt2r/xklLdQTQHVVXZ5EfZPAXPktt6rXytChHI5B0qhAhooSb/FgHYfLBcFrQQTa6sxkFFre8/qvRahf6J4S0QkRDiVEjiK4QIaMkRQfixkBsVtU5+93NVLSH85W/VkNPiwzAbZJiDEIFOEl8hREAzaDUMTPKvJ21PcVUzRyM6EpvTxa95/k2cDPPzyoQQonVJ4iuECHg940KJ8COxqHa4cLtluINoGtvzLNQ4fP8+6bUKCaFSzUGItkASXyFEmxBhNvhVR3XTwXJU1Z/CU0KcnNOtkuXHghUAAxLD0fozHkcI0eok8RVCtAldI4L8qqO6t6SavEpZ0EKcmiqbE5fb929cXIiB7rJSmxBthiS+Qog2ITHMRLTZv2WM98gkN3EKXG6VDTmlfrWNDTE2czRCiKYkia8Qok1QFIVzusWiVXxfUpYljMWp2FNspbjav2oOyRH+rS4ohAgMkvgKIdoMo07j1+x5u0tl2yFZxlg0jr9XDDqFmYgMMjRzNEKIpiSJrxCiTfG3h+23gkpKq+3NHI1obxwuN1a7y2c7k07DiJSoFohICNGUJPEVQrQp6THBGPxcFjZT6vqKBnCrKquyiv1qmxBmkuWJhWiD5F0rhGhTjDotY7rH+NU2z1Irpc2E37JKqii0+neVIDlcxvYK0RZJ4iuEaHMigwyYdL4/vqodLjYfLG/+gES74O/Kf2FGHUnhsmCFEG2RJL5CiDapS6TZrwUt9hRXyVhf4ZPN6aKixnclB60GRqfHovGjuogQIvBI4iuEaJN6xoag8XO1rL0lMtZXnJzD5eaHPUV+LZASF2zEbNA2e0xCiOYhia8Qok0KMeoY3c2/sb4HymtwuNzNHJFoq/aWVGGpdfrVNiUquJmjEUI0J0l8hRBtVmyI0a8KDzanm5V7i3HLRDdxAv5W/wg16mTBCiHaOEl8hRBtWmqUf2N9i6rs5Ftqmz0e0bYUWm1U2nz39moVhTHpMWj9HF4jhAhMbSbxffLJJxk5ciRms5mIiAi/9pk4cSKKotT5N2HChOYNVAjRonrGhaCTsb6iESy1DlZk+lm3N9SA2eB71UAhRGBrM4mv3W7nqquu4o477mjQfhMmTCAvL8/779///nczRSiEaA3BBh1ju8f61Ta3opZCq62ZIxJtRUaR1e/hL2kxIc0cjRCiJbSZP19nzZoFwMKFCxu0n9FoJCEhoRkiEkIEikizgWCDliofS82qwMq9xVx0WgJBepmZ35Gpqsq+kmq/KjnEBBtICpO6vUK0B20m8W2sFStWEBcXR2RkJGPGjOGJJ54gOjr6pO1tNhs229EeIYvFAoDD4cDh8F3jUTSvI+dAzkXgaq1zlBphYke+xWc7pxsyCyroFR/aAlEFpo7+PlJVlQ0HynC5fI/tNWo1jOoSjsvppP4/q5pWRz9HbYGco8Di73lQ1Da2nufChQuZOnUq5eXlPtt++OGHmM1mUlNT2bt3Lw8//DAhISGsXbsWrfbEvT2PPfaYt3f5WIsXL8ZsNp9q+EIIIYQQoolVV1dz3XXXUVFRQVhY2EnbtWriO336dJ5++ul62+zatYtevXp5bzck8f2jrKwsunXrxg8//MDYsWNP2OZEPb7JyckUFxfX+0KKluFwOFi6dCnnnXceer2+tcMRJ9Ca58judPPVrnzcfnyqJYQaGZkS1SFX4Oro76Nvdxdg9TEs5ojxPWIJM7X8a9TRz1FbIOcosFgsFmJiYnwmvq061OH+++9n4sSJ9bZJS0trssdLS0sjJiaGzMzMkya+RqMRo9F43Ha9Xi+/2AFEzkfga41zpNdDYngwhyy1Psdu5lc5ybM6SYnquFdyOuL76GB5DVYnoPE9xrtvQhjRoa37+9ERz1FbI+coMPh7Dlo18Y2NjSU21r/Z2E3h4MGDlJSUkJiY2GKPKYRoWT3iQsj1s17v7sLKDp34djRFVhs/7Svxq21ssIF+iXKVT4j2ps2UM8vJyWHr1q3k5OTgcrnYunUrW7duxWq1etv06tWLzz//HACr1cr//d//sW7dOrKzs1m2bBmXXnop6enpnH/++a31NIQQzSwh1ESfBP8mrpXVONhTZPXdULQLvx6q8GuxE4DusVK+TIj2qM1UdZgxYwaLFi3y3h40aBAAP/74I+eeey4AGRkZVFRUAKDVatm2bRuLFi2ivLycpKQkxo8fz+OPP37CoQxCiPajf2I4B8trqKj1PWt/08FyQow6EqVcVbtWUmWnqMruV1uzXkvncFmaWIj2qM0kvgsXLvRZw/fYeXpBQUF89913zRyVECJQ9YgNYeOBcr/a7sy3SOLbjlXanPy4t8ivtjqNwmhZmliIdqvNDHUQQoiGSIk0E2zwb5GKwio7uRU1zRyRaC3r95ficPlXwKh/YlirVHEQQrQMSXyFEO2STqthbPdY9Fr/eu5+yiqhoNK/SXGi7Sir9n+Ig1aB1OjgZo5ICNGaJPEVQrRbwQYdfeP9m5mvAltzK5o3INGiquz+D3EAGNQpAoNWvhaFaM/kHS6EaNfSooPxs9OX0hoH2aVVzRuQaBGqqrJybzE2p39DHHrGhkglByE6AEl8hRDtmkGnYWRqtN/t1+4vk/G+7UBeZa1fVT3A80UoNXuF6Bgk8RVCtHudw4Po34DEZt3+Mlz+rHssAlJFrYM1+0r9bt8zLgS9DHEQokOQd7oQokPoGReCzs8SVXaXm+15Mt63LbI53SzbU4TDzz9cOoeb6J8U3sxRCSEChSS+QogOQafRMKiT/wnOrkIruwoqmzEi0Rwyi63YnG6/2hq0CqNSo9EoUrNXiI5CEl8hRIeRHhPSoCEPWw9VUFHjaMaIRFM6UF7DtjyL3+17xYVK0itEByOJrxCiQzktPpRQo/+LVm44ION924KCylp+3lfid/vEUCO94kKbMSIhRCCSxFcI0aEoitKgXt/iKjvLM4twSvIb0H5pQA3mcJOOs7vJssRCdESS+AohOpwukWbOSI7wu31xlZ3dhTLeNxC53J56vWUNGJIyIClchjgI0UFJ4iuE6JC6x4SQGmX2u/2OPIssaRyANhwo45DF//OSEmkmKczUjBEJIQKZJL5CiA7rtPhQ/L3arQI/ZhZzSBa3CBiFlbVkl1b73T45PIjhXSNRpLdXiA5LEl8hRIcVZtJzdloM/qZBKrBmfyluVcb7trYD5dUsyyz2u70CDO0iSa8QHZ0kvkKIDi0xzMSoBixp7HCp/G93AdUOVzNGJepjqXWwugErs4En6TXo5CtPiI5OPgWEEB1e53ATkUF6v9tbap0s21OIw+XfQgmi6VTZnfyUVUJD+txHdI0kLTq42WISQrQdkvgKITo8RVE4p1sMIQ2o72u1udiSWy7DHlqQ1ebku92FWGxOv/fpGhlESpQkvUIID0l8hRACCNJrubBXHKYGXA7PKqlmRWaxLHDRAlRVZXV2CbYG9LKb9VoGdopovqCEEG2OJL5CCHGYRqPh9M4RDdqnwGpj88HyZolHeFTbXXyzq4DSav9r9YaZdIzvGYdZr23GyIQQbY0kvkIIcYyukWaGNGBxC4C9JVWs318qPb/NwOVWWZ5Z1KDhDQAjU6IIkqRXCPEHkvgKIcQfpMeEMKxLZIP2ySqt5qd9Jagy5rfJVNud/JhZRGUDk94hyRFEBhmaKSohRFsmia8QQpxASpSZ+BBjg/bJs9SyPqdMqj00gWq7k+8yCimqsjdov3O7RZMeE9JMUQkh2jpJfIUQ4gQ0hys9pEQGNWi/faXVfP97IXanJL+NZbU5WZ5ZRG0DX8MescEkhjXsfAkhOhZJfIUQ4iS0GoURKdHEBhv8Xt0NPHV+l2cWUSOLXDRYnqWWr3bmU2lr2GuXFm1mkFRwEEL4IImvEEL4MCo1mmBjwyZKldU4+HJnPoVWWzNF1f7kVdaycm9xgxanAOibEMqwLlFoZDliIYQPkvgKIYQPQXotE3rGkxRmatB+LrfK8j1F5Flqmimy9kFVVTbklLIis+FJb3yIkdPiw5olLiFE+yOJrxBC+EGv1TCiaxTBhob1/KrAir0lrM0ukVXeTsDhcrMqq4S9JdUN3rdnbAjndItBq5GeXiGEfyTxFUIIPxl0Gsb1iCM2WN/gfbPLali+R8b9HqvIamPJjkMcstQ2eN/UyCBO7xwhSa8QokEk8RVCiAYw67WM6xHf4FJnAEVVdv77Wx4Hyzv20AeXWyWjsJJle4poTPGL1CgzQ7pENX1gQoh2TxJfIYRohLPSPNUeGsqtwk/7StiQU9Yhe39rHU6+yyhgS25Fg8fzAgztEsnwrlHS0yuEaBRJfIUQohH0Wg1ju8fSP7FxE6v2llTx1c58Ciobfpm/LXK5VXYVVPLFb/lU1DZsJbYjBiSF0S06uIkjE0J0JLrWDkAIIdoqRVHokxCGW1XZkV/Z4P2dbpXlmcV0CjNxeucIQozt8yPZUutgVVZJg5cePkKnURiTHkN0cMOHlwghxLHa56esEEK0oH6J4cQEG1mdXYLD1fAL+LmWWvJ25dMnIYyesSHote3jYpzT5WZ9Thk5pzCm2aBVGNc9jvCghk8oFEKIP5LEVwghmkBimInze8az9PdCbI2YseVWYXuehV0FFgZ1iiAtOrjNLshgc7rYXVjJ7gIrp7Jwc3JEEKd3CsdskK8qIUTTkE8TIYRoIqFGHRN6xbPtUAX7ShtelxbA6YaNB8rZnldB/8QI0qLNKG0kAfYkvFYyCitpRMd3Hb3jQxmYFN40gQkhxGGS+AohRBMy67UM7xpFtNnApoPljT5OrVNlw4Eyfsktp1d8aEAPgbDUOthZUEl2aXWjKjUcy6jTMCQ5kuSIoCaJTQghjiWJrxBCNIPusSGEB+nZdKCs0VUMABxule15FnbkWUgKN9E7LpTYRtQQbmpOl5uc8mp2F1pP6fkdKypIx5jucQGb4Ash2j5JfIUQopnEhRi5oFc8G3LKyGrk0IcjVCC3opbcilp0GoWUSDNdo8xEmfXoNC2TKDrdKjllVewvraHAajvl3t0jNAoM7hxBalSw1OcVQjQrSXyFEKIZKYrC0C6RpEYHs25/KVX2U1+0wulWySypIrOkCoBos57EMBPxoSZigw1NNia4xuGi0uYkz1LLwYoaKmudTZbsHhFm0jG6W4xMYBNCtAj5pBFCiGamKApxIUYuOi2BLQfL2VNc1aTHL6l2UFLtYEd+JQqeEmARQQbCTDpCjToigvRoFIUgvRadRsFm9wxNsNoc6NwKdpcbq81Jjd2T6JbXOqi0ORtVncJfeo3iGcsbGdRmq1cIIdoeSXyFEKKFaBSFM5IjOS0+lHX7Symw2pv8MVTA5lIpsNoosNpO3Mjtwgx8m1EEGm2Tx+BLSmQQp3eOwKhr+ccWQnRsbWIGQXZ2NpMmTSI1NZWgoCC6devGzJkzsdvr/9Kora3lrrvuIjo6mpCQEK688koKCgpaKGohhDgxs0HH6PRYRqVEEWbqOP0P0WYDl/ZJYERKtCS9QohW0SY+cXfv3o3b7eb1118nPT2dHTt2MHnyZKqqqnj22WdPut99993H119/zX/+8x/Cw8OZMmUKV1xxBatXr27B6IUQ4niKotAl0kyXSDO5FTVsPFBGjaP5hha0pphgAwOSwpt0/LEQQjRGm0h8J0yYwIQJE7y309LSyMjI4LXXXjtp4ltRUcHbb7/N4sWLGTNmDAALFiygd+/erFu3juHDh7dI7EII4Uun8CASw0zkltfwy6GKJpkAFwjiQ4z0SQglPtTU2qEIIQTQRhLfE6moqCAqKuqk92/evBmHw8G4ceO823r16kWXLl1Yu3btSRNfm82GzXZ0XJzFYgHA4XDgcDiaKHrRWEfOgZyLwCXnqPESQvRM6B5NodXO70WVzTIGGAC3q+7/TUhRIDncxIDEcIx6z3AG+V1oOHkfBT45R4HF3/PQJhPfzMxMXn755XqHOeTn52MwGIiIiKizPT4+nvz8/JPuN3v2bGbNmnXc9u+//x6z2dzomEXTWrp0aWuHIHyQc3TqmvsTx3xoe7Mct/gALNvRLIfucOR9FPjkHAWG6mr/aqW3auI7ffp0nn766Xrb7Nq1i169enlv5+bmMmHCBK666iomT57c5DE99NBDTJs2zXvbYrGQnJzM+PHjCQsLa/LHEw3jcDhYunQp5513Hnq9vrXDEScg56h5lNfY2VtSRZ7FRu2plhlzuzAf2k51Ur9TquoQbNDSNTKIzhFBhBnlXDcleR8FPjlHgeXIFXpfWjXxvf/++5k4cWK9bdLS0rw/Hzp0iNGjRzNy5EjeeOONevdLSEjAbrdTXl5ep9e3oKCAhISEk+5nNBoxGo9fDlSv18svdgCR8xH45Bw1rVi9ntiwYAAqbU6yS6rIr7RRVuPApTZyWQmNtkGJr1ajkBBqJDk8iNgQIyHGNnnRsE2R91Hgk3MUGPw9B636qRUbG0tsbKxfbXNzcxk9ejSDBw9mwYIFaHws0Tl48GD0ej3Lli3jyiuvBCAjI4OcnBxGjBhxyrELIURrCTXq6JcUTj/A5VYprbZjsTkottoprrJT43DhcJ/aGms6BcKD9EQGGYgONtAlMqjFlkYWQojm0ib+XM/NzeXcc8+la9euPPvssxQVFXnvO9J7m5uby9ixY3n33XcZOnQo4eHhTJo0iWnTphEVFUVYWBh33303I0aMkIoOQoh2Q6tRiA0xEhtipFv00e02pwur3QWqSnmNg1qnG7cKTrcbh8NB3kHoERuMXqfHbPCs6KbXaogLMaBRNGgUpPSYEKLdaROJ79KlS8nMzCQzM5POnTvXuU89fInP4XCQkZFRZ3Dz888/j0aj4corr8Rms3H++eczb968Fo1dCCFag1Gn9S4SER1cd/iWw+Eg71fonxgul2iFEB1Km0h8J06c6HMscEpKijcJPsJkMvHqq6/y6quvNmN0QgghhBCiLZABW0IIIYQQokOQxFcIIYQQQnQIkvgKIYQQQogOQRJfIYQQQgjRIUjiK4QQQgghOgRJfIUQQgghRIcgia8QQgghhOgQJPEVQgghhBAdgiS+QgghhBCiQ5DEVwghhBBCdAiS+AohhBBCiA5BEl8hhBBCCNEhSOIrhBBCCCE6BF1rBxDoVFUFwGKxtHIkAsDhcFBdXY3FYkGv17d2OOIE5BwFPjlHgU/OUeCTcxRYjuRpR/K2k5HE14fKykoAkpOTWzkSIYQQQghRn8rKSsLDw096v6L6So07OLfbzaFDhwgNDUVRlNYOp8OzWCwkJydz4MABwsLCWjsccQJyjgKfnKPAJ+co8Mk5CiyqqlJZWUlSUhIazclH8kqPrw8ajYbOnTu3dhjiD8LCwuSDJsDJOQp8co4Cn5yjwCfnKHDU19N7hExuE0IIIYQQHYIkvkIIIYQQokOQxFe0KUajkZkzZ2I0Gls7FHESco4Cn5yjwCfnKPDJOWqbZHKbEEIIIYToEKTHVwghhBBCdAiS+AohhBBCiA5BEl8hhBBCCNEhSOIrhBBCCCE6BEl8RZuUnZ3NpEmTSE1NJSgoiG7dujFz5kzsdntrhyaO8eSTTzJy5EjMZjMRERGtHY4AXn31VVJSUjCZTAwbNowNGza0dkjiGKtWreLiiy8mKSkJRVFYsmRJa4ck/mD27NkMGTKE0NBQ4uLiuOyyy8jIyGjtsISfJPEVbdLu3btxu928/vrr/Pbbbzz//PPMnz+fhx9+uLVDE8ew2+1cddVV3HHHHa0digA++ugjpk2bxsyZM9myZQsDBgzg/PPPp7CwsLVDE4dVVVUxYMAAXn311dYORZzEypUrueuuu1i3bh1Lly7F4XAwfvx4qqqqWjs04QcpZybajTlz5vDaa6+RlZXV2qGIP1i4cCFTp06lvLy8tUPp0IYNG8aQIUN45ZVXAHC73SQnJ3P33Xczffr0Vo5O/JGiKHz++edcdtllrR2KqEdRURFxcXGsXLmSs88+u7XDET5Ij69oNyoqKoiKimrtMIQISHa7nc2bNzNu3DjvNo1Gw7hx41i7dm0rRiZE21ZRUQEg3z9thCS+ol3IzMzk5Zdf5rbbbmvtUIQISMXFxbhcLuLj4+tsj4+PJz8/v5WiEqJtc7vdTJ06lVGjRtG3b9/WDkf4QRJfEVCmT5+Ooij1/tu9e3edfXJzc5kwYQJXXXUVkydPbqXIO47GnCMhhGiP7rrrLnbs2MGHH37Y2qEIP+laOwAhjnX//fczceLEetukpaV5fz506BCjR49m5MiRvPHGG80cnYCGnyMRGGJiYtBqtRQUFNTZXlBQQEJCQitFJUTbNWXKFL766itWrVpF586dWzsc4SdJfEVAiY2NJTY21q+2ubm5jB49msGDB7NgwQI0GrmA0RIaco5E4DAYDAwePJhly5Z5J0u53W6WLVvGlClTWjc4IdoQVVW5++67+fzzz1mxYgWpqamtHZJoAEl8RZuUm5vLueeeS9euXXn22WcpKiry3ie9V4EjJyeH0tJScnJycLlcbN26FYD09HRCQkJaN7gOaNq0adx4442cccYZDB06lBdeeIGqqipuuumm1g5NHGa1WsnMzPTe3rdvH1u3biUqKoouXbq0YmTiiLvuuovFixfzxRdfEBoa6h0jHx4eTlBQUCtHJ3yRcmaiTVq4cOFJv6zlVzpwTJw4kUWLFh23/ccff+Tcc89t+YAEr7zyCnPmzCE/P5+BAwfy0ksvMWzYsNYOSxy2YsUKRo8efdz2G2+8kYULF7Z8QOI4iqKccPuCBQt8DgMTrU8SXyGEEEII0SHIoEghhBBCCNEhSOIrhBBCCCE6BEl8hRBCCCFEhyCJrxBCCCGE6BAk8RVCCCGEEB2CJL5CCCGEEKJDkMRXCCGEEEJ0CJL4CiGEEEKIDkESXyGEEEII0SFI4iuEEK1g4sSJKIpy3L/MzMwmOf7ChQuJiIhokmM11qpVq7j44otJSkpCURSWLFnSqvEIIYQkvkII0UomTJhAXl5enX+pqamtHdZxHA5Ho/arqqpiwIABvPrqq00ckRBCNI4kvkII0UqMRiMJCQl1/mm1WgC++OILTj/9dEwmE2lpacyaNQun0+nd97nnnqNfv34EBweTnJzMnXfeidVqBWDFihXcdNNNVFRUeHuSH3vsMYAT9rxGRESwcOFCALKzs1EUhY8++ohzzjkHk8nEBx98AMBbb71F7969MZlM9OrVi3nz5tX7/C644AKeeOIJLr/88iZ4tYQQ4tTpWjsAIYQQdf3000/ccMMNvPTSS5x11lns3buXW2+9FYCZM2cCoNFoeOmll0hNTSUrK4s777yTBx54gHnz5jFy5EheeOEFZsyYQUZGBgAhISENimH69OnMnTuXQYMGeZPfGTNm8MorrzBo0CB++eUXJk+eTHBwMDfeeGPTvgBCCNFMJPEVQohW8tVXX9VJSC+44AL+85//MGvWLKZPn+5NKNPS0nj88cd54IEHvInv1KlTvfulpKTwxBNPcPvttzNv3jwMBgPh4eEoikJCQkKjYps6dSpXXHGF9/bMmTOZO3eud1tqaio7d+7k9ddfl8RXCNFmSOIrhBCtZPTo0bz22mve28HBwQD8+uuvrF69mieffNJ7n8vlora2lurqasxmMz/88AOzZ89m9+7dWCwWnE5nnftP1RlnnOH9uaqqir179zJp0iQmT57s3e50OgkPDz/lxxJCiJYiia8QQrSS4OBg0tPTj9tutVqZNWtWnR7XI0wmE9nZ2Vx00UXccccdPPnkk0RFRfHzzz8zadIk7HZ7vYmvoiioqlpn24kmrx1Jwo/EA/Dmm28ybNiwOu2OjEkWQoi2QBJfIYQIMKeffjoZGRknTIoBNm/ejNvtZu7cuWg0njnKH3/8cZ02BoMBl8t13L6xsbHk5eV5b+/Zs4fq6up644mPjycpKYmsrCyuv/76hj4dIYQIGJL4CiFEgJkxYwYXXXQRXbp04c9//jMajYZff/2VHTt28MQTT5Ceno7D4eDll1/m4osvZvXq1cyfP7/OMVJSUrBarSxbtowBAwZgNpsxm82MGTOGV155hREjRuByuXjwwQfR6/U+Y5o1axb33HMP4eHhTJgwAZvNxqZNmygrK2PatGkn3MdqtdapS7xv3z62bt1KVFQUXbp0ObUXSQghGkHKmQkhRIA5//zz+eqrr/j+++8ZMmQIw4cP5/nnn6dr164ADBgwgOeee46nn36avn378sEHHzB79uw6xxg5ciS3334711xzDbGxsTzzzDMAzJ07l+TkZM466yyuu+46/v73v/s1JviWW27hrbfeYsGCBfTr149zzjmHhQsX1lt3eNOmTQwaNIhBgwYBMG3aNAYNGsSMGTMa+9IIIcQpUdQ/DvYSQgghhBCiHZIeXyGEEEII0SFI4iuEEEIIIToESXyFEEIIIUSHIImvEEIIIYToECTxFUIIIYQQHYIkvkIIIYQQokOQxFcIIYQQQnQIkvgKIYQQQogOQRJfIYQQQgjRIUjiK4QQQgghOgRJfIUQQgghRIfw//clWOAhh9xSAAAAAElFTkSuQmCC\n"
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Normalized saliency values saved to normalized_saliency_values.csv\n",
"Normalized Saliency Top-k:\n",
" Saliency\n",
"151 1.000000\n",
"349 0.961795\n",
"152 0.952559\n",
"372 0.943729\n",
"156 0.932360\n",
"Normalized Saliency Max: Saliency 1.0\n",
"dtype: float32\n",
"Normalized Saliency Min: Saliency 0.0\n",
"dtype: float32\n",
"Normalized Saliency Mean: Saliency 0.457561\n",
"dtype: float32\n",
"Normalized Saliency Median: Saliency 0.391044\n",
"dtype: float32\n",
"Normalized Saliency Mode: Saliency\n",
"0 0.238495\n",
"1 0.395794\n",
"Normalized Saliency Sum: Saliency 219.629318\n",
"dtype: float32\n",
"#\n",
"#\n",
"#\n",
"Normalized Saliency Standard Deviation: Saliency 0.26139\n",
"dtype: float32\n",
"Normalized Saliency Skewness: Saliency 0.374233\n",
"dtype: float32\n",
"Normalized Saliency Kurtosis: Saliency -1.121772\n",
"dtype: float32\n",
"Normalized Saliency Variance: Saliency 0.068325\n",
"dtype: float32\n",
"Normalized Saliency Coefficient of Variation: Saliency 57.12685\n",
"dtype: float32\n",
"#\n",
"#\n",
"#\n",
"Cumulative Sum of Normalized Saliency Values: Saliency\n",
"0 0.238495\n",
"1 0.454820\n",
"2 0.683381\n",
"3 0.903955\n",
"4 1.129474\n",
".. ...\n",
"475 218.117691\n",
"476 218.492996\n",
"477 218.862808\n",
"478 219.233612\n",
"479 219.629410\n",
"\n",
"[480 rows x 1 columns]\n",
"Mean of Cumulative Sum of Normalized Saliency Values: Saliency\n",
"0 0.000497\n",
"1 0.000948\n",
"2 0.001424\n",
"3 0.001883\n",
"4 0.002353\n",
".. ...\n",
"475 0.454412\n",
"476 0.455194\n",
"477 0.455964\n",
"478 0.456737\n",
"479 0.457561\n",
"\n",
"[480 rows x 1 columns]\n",
"Normalized Saliency Root Mean Square: 0.5268251\n",
"Normalized Saliency 25th Percentile: Saliency 0.240385\n",
"Name: 0.25, dtype: float64\n",
"Normalized Saliency 75th Percentile: Saliency 0.70227\n",
"Name: 0.75, dtype: float64\n",
"Normalized Saliency Interquartile Range: Saliency 0.461885\n",
"dtype: float64\n"
]
}
]
},
{
"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": "4f50a07f-25c0-4405-d3c4-111c5f798be6"
},
"execution_count": 67,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since end of run: 1712719467.7695332\n",
"Wed Apr 10 03:24:27 2024\n"
]
}
]
}
]
}