From 50c1398494d3138d3830829fd77d767acb7ae4bf Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 19 Mar 2024 14:25:35 -0700 Subject: [PATCH 1/4] Removed create seeds notebook --- .../eluc/prescriptors/esp/create_seeds.ipynb | 1492 ----------------- 1 file changed, 1492 deletions(-) delete mode 100644 use_cases/eluc/prescriptors/esp/create_seeds.ipynb diff --git a/use_cases/eluc/prescriptors/esp/create_seeds.ipynb b/use_cases/eluc/prescriptors/esp/create_seeds.ipynb deleted file mode 100644 index 437a8eb..0000000 --- a/use_cases/eluc/prescriptors/esp/create_seeds.ipynb +++ /dev/null @@ -1,1492 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from pathlib import Path\n", - "import json\n", - "\n", - "import pandas as pd\n", - "import tensorflow as tf\n", - "from keras.models import load_model\n", - "\n", - "from data import constants\n", - "from data.eluc_data import ELUCData, ELUCEncoder\n", - "from prescriptors.esp.unileaf_prescriptor import UnileafPrescriptor, reco_to_context_actions\n", - "from predictors.neural_network.neural_net_predictor import NeuralNetPredictor" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Generate Seeds" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "def create_template_model():\n", - " \"\"\"\n", - " Creates keras template prescriptor given architecture from paper:\n", - " Input layer for each context variable\n", - " Dense layer for each context variable hidden size 16\n", - " Tanh activation\n", - " Output as reco_land_use vector\n", - " \"\"\"\n", - " inputs = [tf.keras.Input(shape=(1,), name=f\"{col}_input\") for col in constants.CAO_MAPPING[\"context\"]]\n", - " dense = [tf.keras.layers.Dense(16, name=constants.CAO_MAPPING[\"context\"][i])(inputs[i]) for i in range(len(inputs))]\n", - " add4 = tf.keras.layers.Add()(dense)\n", - " activation = tf.keras.layers.Activation(\"tanh\", name=\"first_hidden_activation\")(add4)\n", - " output = tf.keras.layers.Dense(len(constants.RECO_COLS), name=\"reco_land_use\")(activation)\n", - " model = tf.keras.Model(inputs=inputs, outputs=output)\n", - " return model\n", - "\n", - "def seed_no_change(data_df: pd.DataFrame, encoded_data_df: pd.DataFrame, seed_dir: Path):\n", - " \"\"\"\n", - " Creates seed model that attempts to prescribe zero change.\n", - " This is now feasible because we no longer softmax the output but instead linearly scale them.\n", - " \"\"\"\n", - "\n", - " no_change_preds = data_df[constants.RECO_COLS].copy()\n", - " y_train = no_change_preds.to_numpy()\n", - " X_train = [encoded_data_df[col].values for col in constants.CAO_MAPPING[\"context\"]]\n", - "\n", - " no_change_model = create_template_model()\n", - " opt = tf.keras.optimizers.legacy.Adam(learning_rate=0.001)\n", - " no_change_model.compile(optimizer=opt, loss='mean_absolute_error', metrics=['mae'])\n", - " no_change_model.fit(X_train, y_train, epochs=300, batch_size=128, verbose=1)\n", - "\n", - " seed_dir.mkdir(parents=True, exist_ok=True)\n", - " no_change_model.save(seed_dir / \"1_1.h5\")\n", - "\n", - "def seed_max_change(data_df: pd.DataFrame, encoded_data_df: pd.DataFrame, seed_dir: Path, best_col=\"secdf\"):\n", - " \"\"\"\n", - " Creates seed model that attempts to prescribe maximum change.\n", - " Moves all possible land use to best_col which is secdf by default.\n", - " \"\"\"\n", - " # Move all the land use to secdf\n", - " land_use = data_df[constants.RECO_COLS].sum(axis=1)\n", - " max_change_preds = data_df[constants.RECO_COLS].copy()\n", - " max_change_preds[constants.RECO_COLS] = 0\n", - " max_change_preds[best_col] = land_use\n", - "\n", - " y_train = max_change_preds.to_numpy()\n", - " X_train = [encoded_data_df[col].values for col in constants.CAO_MAPPING[\"context\"]]\n", - " \n", - " max_change_model = create_template_model()\n", - " opt = tf.keras.optimizers.legacy.Adam(learning_rate=0.001)\n", - " max_change_model.compile(optimizer=opt, loss='mean_absolute_error', metrics=['mae'])\n", - " max_change_model.fit(X_train, y_train, epochs=300, batch_size=128, verbose=1)\n", - "\n", - " seed_dir.mkdir(parents=True, exist_ok=True)\n", - " max_change_model.save(seed_dir / \"1_2.h5\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "dataset = ELUCData()" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Take small subset for training, we really don't need more and just need the model to converge\n", - "seed_sample = dataset.train_df.sample(1000)\n", - "encoded_seed_sample = dataset.encoder.encode_as_df(seed_sample)\n", - "seed_dir = Path(\"prescriptors/esp/seeds/test\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Metal device set to: Apple M1 Pro\n", - "\n", - "systemMemory: 16.00 GB\n", - "maxCacheSize: 5.33 GB\n", - "\n", - "Epoch 1/300\n", - "8/8 [==============================] - 1s 28ms/step - loss: 0.3318 - mae: 0.3318\n", - "Epoch 2/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.2603 - mae: 0.2603\n", - "Epoch 3/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.2447 - mae: 0.2447\n", - "Epoch 4/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.2291 - mae: 0.2291\n", - "Epoch 5/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.2131 - mae: 0.2131\n", - "Epoch 6/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1996 - mae: 0.1996\n", - "Epoch 7/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1863 - mae: 0.1863\n", - "Epoch 8/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1743 - mae: 0.1743\n", - "Epoch 9/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1632 - mae: 0.1632\n", - "Epoch 10/300\n", - "8/8 [==============================] - 0s 15ms/step - loss: 0.1523 - mae: 0.1523\n", - "Epoch 11/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1425 - mae: 0.1425\n", - "Epoch 12/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1331 - mae: 0.1331\n", - "Epoch 13/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1245 - mae: 0.1245\n", - "Epoch 14/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1168 - mae: 0.1168\n", - "Epoch 15/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1095 - mae: 0.1095\n", - "Epoch 16/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1027 - mae: 0.1027\n", - "Epoch 17/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0962 - mae: 0.0962\n", - "Epoch 18/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0902 - mae: 0.0902\n", - "Epoch 19/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0846 - mae: 0.0846\n", - "Epoch 20/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0798 - mae: 0.0798\n", - "Epoch 21/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0751 - mae: 0.0751\n", - "Epoch 22/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0711 - mae: 0.0711\n", - "Epoch 23/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0673 - mae: 0.0673\n", - "Epoch 24/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0641 - mae: 0.0641\n", - "Epoch 25/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0608 - mae: 0.0608\n", - "Epoch 26/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0582 - mae: 0.0582\n", - "Epoch 27/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0553 - mae: 0.0553\n", - "Epoch 28/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0529 - mae: 0.0529\n", - "Epoch 29/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0507 - mae: 0.0507\n", - "Epoch 30/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0489 - mae: 0.0489\n", - "Epoch 31/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0468 - mae: 0.0468\n", - "Epoch 32/300\n", - "8/8 [==============================] - 0s 15ms/step - loss: 0.0451 - mae: 0.0451\n", - "Epoch 33/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0435 - mae: 0.0435\n", - "Epoch 34/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0419 - mae: 0.0419\n", - "Epoch 35/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0405 - mae: 0.0405\n", - "Epoch 36/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0390 - mae: 0.0390\n", - "Epoch 37/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0378 - mae: 0.0378\n", - "Epoch 38/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0370 - mae: 0.0370\n", - "Epoch 39/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0356 - mae: 0.0356\n", - "Epoch 40/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0342 - mae: 0.0342\n", - "Epoch 41/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0331 - mae: 0.0331\n", - "Epoch 42/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0320 - mae: 0.0320\n", - "Epoch 43/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0311 - mae: 0.0311\n", - "Epoch 44/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0300 - mae: 0.0300\n", - "Epoch 45/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0289 - mae: 0.0289\n", - "Epoch 46/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0279 - mae: 0.0279\n", - "Epoch 47/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0271 - mae: 0.0271\n", - "Epoch 48/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0264 - mae: 0.0264\n", - "Epoch 49/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0255 - mae: 0.0255\n", - "Epoch 50/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0250 - mae: 0.0250\n", - "Epoch 51/300\n", - "8/8 [==============================] - 0s 14ms/step - loss: 0.0246 - mae: 0.0246\n", - "Epoch 52/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0240 - mae: 0.0240\n", - "Epoch 53/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0233 - mae: 0.0233\n", - "Epoch 54/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0229 - mae: 0.0229\n", - "Epoch 55/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0222 - mae: 0.0222\n", - "Epoch 56/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0220 - mae: 0.0220\n", - "Epoch 57/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0213 - mae: 0.0213\n", - "Epoch 58/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0208 - mae: 0.0208\n", - "Epoch 59/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0204 - mae: 0.0204\n", - "Epoch 60/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0201 - mae: 0.0201\n", - "Epoch 61/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0198 - mae: 0.0198\n", - "Epoch 62/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0193 - mae: 0.0193\n", - "Epoch 63/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0190 - mae: 0.0190\n", - "Epoch 64/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0189 - mae: 0.0189\n", - "Epoch 65/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0185 - mae: 0.0185\n", - "Epoch 66/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0183 - mae: 0.0183\n", - "Epoch 67/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0182 - mae: 0.0182\n", - "Epoch 68/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0176 - mae: 0.0176\n", - "Epoch 69/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0175 - mae: 0.0175\n", - "Epoch 70/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0169 - mae: 0.0169\n", - "Epoch 71/300\n", - "8/8 [==============================] - 0s 14ms/step - loss: 0.0169 - mae: 0.0169\n", - "Epoch 72/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0168 - mae: 0.0168\n", - "Epoch 73/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0163 - mae: 0.0163\n", - "Epoch 74/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0160 - mae: 0.0160\n", - "Epoch 75/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0159 - mae: 0.0159\n", - "Epoch 76/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0157 - mae: 0.0157\n", - "Epoch 77/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0157 - mae: 0.0157\n", - "Epoch 78/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0153 - mae: 0.0153\n", - "Epoch 79/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0150 - mae: 0.0150\n", - "Epoch 80/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0148 - mae: 0.0148\n", - "Epoch 81/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0144 - mae: 0.0144\n", - "Epoch 82/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0144 - mae: 0.0144\n", - "Epoch 83/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0141 - mae: 0.0141\n", - "Epoch 84/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0138 - mae: 0.0138\n", - "Epoch 85/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0136 - mae: 0.0136\n", - "Epoch 86/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0136 - mae: 0.0136\n", - "Epoch 87/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0136 - mae: 0.0136\n", - "Epoch 88/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0135 - mae: 0.0135\n", - "Epoch 89/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0129 - mae: 0.0129\n", - "Epoch 90/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0127 - mae: 0.0127\n", - "Epoch 91/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0124 - mae: 0.0124\n", - "Epoch 92/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0123 - mae: 0.0123\n", - "Epoch 93/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0121 - mae: 0.0121\n", - "Epoch 94/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0122 - mae: 0.0122\n", - "Epoch 95/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0121 - mae: 0.0121\n", - "Epoch 96/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0118 - mae: 0.0118\n", - "Epoch 97/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0117 - mae: 0.0117\n", - "Epoch 98/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0115 - mae: 0.0115\n", - "Epoch 99/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0114 - mae: 0.0114\n", - "Epoch 100/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0118 - mae: 0.0118\n", - "Epoch 101/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0116 - mae: 0.0116\n", - "Epoch 102/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0110 - mae: 0.0110\n", - "Epoch 103/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0107 - mae: 0.0107\n", - "Epoch 104/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0106 - mae: 0.0106\n", - "Epoch 105/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0107 - mae: 0.0107\n", - "Epoch 106/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0105 - mae: 0.0105\n", - "Epoch 107/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0102 - mae: 0.0102\n", - "Epoch 108/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0102 - mae: 0.0102\n", - "Epoch 109/300\n", - "8/8 [==============================] - 0s 14ms/step - loss: 0.0100 - mae: 0.0100\n", - "Epoch 110/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0098 - mae: 0.0098\n", - "Epoch 111/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0096 - mae: 0.0096\n", - "Epoch 112/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0095 - mae: 0.0095\n", - "Epoch 113/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0094 - mae: 0.0094\n", - "Epoch 114/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0092 - mae: 0.0092\n", - "Epoch 115/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0091 - mae: 0.0091\n", - "Epoch 116/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0091 - mae: 0.0091\n", - "Epoch 117/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0093 - mae: 0.0093\n", - "Epoch 118/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0093 - mae: 0.0093\n", - "Epoch 119/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0092 - mae: 0.0092\n", - "Epoch 120/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0091 - mae: 0.0091\n", - "Epoch 121/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0089 - mae: 0.0089\n", - "Epoch 122/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0085 - mae: 0.0085\n", - "Epoch 123/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0087 - mae: 0.0087\n", - "Epoch 124/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0086 - mae: 0.0086\n", - "Epoch 125/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0085 - mae: 0.0085\n", - "Epoch 126/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0082 - mae: 0.0082\n", - "Epoch 127/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0081 - mae: 0.0081\n", - "Epoch 128/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0079 - mae: 0.0079\n", - "Epoch 129/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0080 - mae: 0.0080\n", - "Epoch 130/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0078 - mae: 0.0078\n", - "Epoch 131/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0075 - mae: 0.0075\n", - "Epoch 132/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0074 - mae: 0.0074\n", - "Epoch 133/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0075 - mae: 0.0075\n", - "Epoch 134/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0074 - mae: 0.0074\n", - "Epoch 135/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0076 - mae: 0.0076\n", - "Epoch 136/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0074 - mae: 0.0074\n", - "Epoch 137/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0074 - mae: 0.0074\n", - "Epoch 138/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0072 - mae: 0.0072\n", - "Epoch 139/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0070 - mae: 0.0070\n", - "Epoch 140/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0069 - mae: 0.0069\n", - "Epoch 141/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0070 - mae: 0.0070\n", - "Epoch 142/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0073 - mae: 0.0073\n", - "Epoch 143/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0072 - mae: 0.0072\n", - "Epoch 144/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0070 - mae: 0.0070\n", - "Epoch 145/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0069 - mae: 0.0069\n", - "Epoch 146/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0065 - mae: 0.0065\n", - "Epoch 147/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0065 - mae: 0.0065\n", - "Epoch 148/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0069 - mae: 0.0069\n", - "Epoch 149/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0065 - mae: 0.0065\n", - "Epoch 150/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0067 - mae: 0.0067\n", - "Epoch 151/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0066 - mae: 0.0066\n", - "Epoch 152/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0063 - mae: 0.0063\n", - "Epoch 153/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0064 - mae: 0.0064\n", - "Epoch 154/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0067 - mae: 0.0067\n", - "Epoch 155/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0064 - mae: 0.0064\n", - "Epoch 156/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0065 - mae: 0.0065\n", - "Epoch 157/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0065 - mae: 0.0065\n", - "Epoch 158/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0067 - mae: 0.0067\n", - "Epoch 159/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0068 - mae: 0.0068\n", - "Epoch 160/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0064 - mae: 0.0064\n", - "Epoch 161/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0061 - mae: 0.0061\n", - "Epoch 162/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0060 - mae: 0.0060\n", - "Epoch 163/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0059 - mae: 0.0059\n", - "Epoch 164/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0058 - mae: 0.0058\n", - "Epoch 165/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0057 - mae: 0.0057\n", - "Epoch 166/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0059 - mae: 0.0059\n", - "Epoch 167/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0058 - mae: 0.0058\n", - "Epoch 168/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0058 - mae: 0.0058\n", - "Epoch 169/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0059 - mae: 0.0059\n", - "Epoch 170/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0059 - mae: 0.0059\n", - "Epoch 171/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0058 - mae: 0.0058\n", - "Epoch 172/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 173/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0057 - mae: 0.0057\n", - "Epoch 174/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 175/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0058 - mae: 0.0058\n", - "Epoch 176/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0059 - mae: 0.0059\n", - "Epoch 177/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0057 - mae: 0.0057\n", - "Epoch 178/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 179/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0057 - mae: 0.0057\n", - "Epoch 180/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0057 - mae: 0.0057\n", - "Epoch 181/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 182/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0054 - mae: 0.0054\n", - "Epoch 183/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0053 - mae: 0.0053\n", - "Epoch 184/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0054 - mae: 0.0054\n", - "Epoch 185/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0055 - mae: 0.0055\n", - "Epoch 186/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0055 - mae: 0.0055\n", - "Epoch 187/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0054 - mae: 0.0054\n", - "Epoch 188/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0053 - mae: 0.0053\n", - "Epoch 189/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0052 - mae: 0.0052\n", - "Epoch 190/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0051 - mae: 0.0051\n", - "Epoch 191/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0052 - mae: 0.0052\n", - "Epoch 192/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0052 - mae: 0.0052\n", - "Epoch 193/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0053 - mae: 0.0053\n", - "Epoch 194/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0053 - mae: 0.0053\n", - "Epoch 195/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0051 - mae: 0.0051\n", - "Epoch 196/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0051 - mae: 0.0051\n", - "Epoch 197/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0052 - mae: 0.0052\n", - "Epoch 198/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0054 - mae: 0.0054\n", - "Epoch 199/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0057 - mae: 0.0057\n", - "Epoch 200/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0058 - mae: 0.0058\n", - "Epoch 201/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0052 - mae: 0.0052\n", - "Epoch 202/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0053 - mae: 0.0053\n", - "Epoch 203/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0055 - mae: 0.0055\n", - "Epoch 204/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0054 - mae: 0.0054\n", - "Epoch 205/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0051 - mae: 0.0051\n", - "Epoch 206/300\n", - "8/8 [==============================] - 0s 14ms/step - loss: 0.0051 - mae: 0.0051\n", - "Epoch 207/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 208/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0049 - mae: 0.0049\n", - "Epoch 209/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0049 - mae: 0.0049\n", - "Epoch 210/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0051 - mae: 0.0051\n", - "Epoch 211/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0051 - mae: 0.0051\n", - "Epoch 212/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0051 - mae: 0.0051\n", - "Epoch 213/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 214/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 215/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0049 - mae: 0.0049\n", - "Epoch 216/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 217/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 218/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0051 - mae: 0.0051\n", - "Epoch 219/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 220/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 221/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 222/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 223/300\n", - "8/8 [==============================] - 0s 14ms/step - loss: 0.0046 - mae: 0.0046\n", - "Epoch 224/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 225/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0046 - mae: 0.0046\n", - "Epoch 226/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 227/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 228/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 229/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 230/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 231/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 232/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 233/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 234/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0053 - mae: 0.0053\n", - "Epoch 235/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 236/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 237/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0046 - mae: 0.0046\n", - "Epoch 238/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 239/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 240/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 241/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 242/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 243/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 244/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 245/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 246/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 247/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 248/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 249/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 250/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 251/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 252/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0046 - mae: 0.0046\n", - "Epoch 253/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0049 - mae: 0.0049\n", - "Epoch 254/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0046 - mae: 0.0046\n", - "Epoch 255/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0049 - mae: 0.0049\n", - "Epoch 256/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0052 - mae: 0.0052\n", - "Epoch 257/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0049 - mae: 0.0049\n", - "Epoch 258/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 259/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 260/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 261/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 262/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0046 - mae: 0.0046\n", - "Epoch 263/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 264/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0041 - mae: 0.0041\n", - "Epoch 265/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0042 - mae: 0.0042\n", - "Epoch 266/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 267/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 268/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 269/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 270/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0042 - mae: 0.0042\n", - "Epoch 271/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 272/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 273/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0046 - mae: 0.0046\n", - "Epoch 274/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 275/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 276/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0041 - mae: 0.0041\n", - "Epoch 277/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 278/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0042 - mae: 0.0042\n", - "Epoch 279/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0042 - mae: 0.0042\n", - "Epoch 280/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0041 - mae: 0.0041\n", - "Epoch 281/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 282/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0041 - mae: 0.0041\n", - "Epoch 283/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0041 - mae: 0.0041\n", - "Epoch 284/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 285/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 286/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 287/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 288/300\n", - "8/8 [==============================] - 0s 14ms/step - loss: 0.0042 - mae: 0.0042\n", - "Epoch 289/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0041 - mae: 0.0041\n", - "Epoch 290/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 291/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 292/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 293/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0040 - mae: 0.0040\n", - "Epoch 294/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 295/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 296/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 297/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 298/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 299/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0040 - mae: 0.0040\n", - "Epoch 300/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0041 - mae: 0.0041\n", - "Epoch 1/300\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/964840/anaconda3/envs/leaf/lib/python3.10/site-packages/keras/src/engine/training.py:3000: UserWarning: You are saving your model as an HDF5 file via `model.save()`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')`.\n", - " saving_api.save_model(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "8/8 [==============================] - 1s 25ms/step - loss: 0.4574 - mae: 0.4574\n", - "Epoch 2/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.3186 - mae: 0.3186\n", - "Epoch 3/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.2623 - mae: 0.2623\n", - "Epoch 4/300\n", - "8/8 [==============================] - 0s 15ms/step - loss: 0.2409 - mae: 0.2409\n", - "Epoch 5/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.2269 - mae: 0.2269\n", - "Epoch 6/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.2119 - mae: 0.2119\n", - "Epoch 7/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1970 - mae: 0.1970\n", - "Epoch 8/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1844 - mae: 0.1844\n", - "Epoch 9/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1720 - mae: 0.1720\n", - "Epoch 10/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1602 - mae: 0.1602\n", - "Epoch 11/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1491 - mae: 0.1491\n", - "Epoch 12/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.1386 - mae: 0.1386\n", - "Epoch 13/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.1289 - mae: 0.1289\n", - "Epoch 14/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.1200 - mae: 0.1200\n", - "Epoch 15/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.1118 - mae: 0.1118\n", - "Epoch 16/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.1043 - mae: 0.1043\n", - "Epoch 17/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0974 - mae: 0.0974\n", - "Epoch 18/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0913 - mae: 0.0913\n", - "Epoch 19/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0858 - mae: 0.0858\n", - "Epoch 20/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0808 - mae: 0.0808\n", - "Epoch 21/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0768 - mae: 0.0768\n", - "Epoch 22/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0726 - mae: 0.0726\n", - "Epoch 23/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0691 - mae: 0.0691\n", - "Epoch 24/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0661 - mae: 0.0661\n", - "Epoch 25/300\n", - "8/8 [==============================] - 0s 14ms/step - loss: 0.0633 - mae: 0.0633\n", - "Epoch 26/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0606 - mae: 0.0606\n", - "Epoch 27/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0581 - mae: 0.0581\n", - "Epoch 28/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0557 - mae: 0.0557\n", - "Epoch 29/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0536 - mae: 0.0536\n", - "Epoch 30/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0516 - mae: 0.0516\n", - "Epoch 31/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0496 - mae: 0.0496\n", - "Epoch 32/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0478 - mae: 0.0478\n", - "Epoch 33/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0463 - mae: 0.0463\n", - "Epoch 34/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0447 - mae: 0.0447\n", - "Epoch 35/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0432 - mae: 0.0432\n", - "Epoch 36/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0414 - mae: 0.0414\n", - "Epoch 37/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0401 - mae: 0.0401\n", - "Epoch 38/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0388 - mae: 0.0388\n", - "Epoch 39/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0380 - mae: 0.0380\n", - "Epoch 40/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0367 - mae: 0.0367\n", - "Epoch 41/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0353 - mae: 0.0353\n", - "Epoch 42/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0342 - mae: 0.0342\n", - "Epoch 43/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0333 - mae: 0.0333\n", - "Epoch 44/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0326 - mae: 0.0326\n", - "Epoch 45/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0315 - mae: 0.0315\n", - "Epoch 46/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0307 - mae: 0.0307\n", - "Epoch 47/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0299 - mae: 0.0299\n", - "Epoch 48/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0292 - mae: 0.0292\n", - "Epoch 49/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0287 - mae: 0.0287\n", - "Epoch 50/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0280 - mae: 0.0280\n", - "Epoch 51/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0272 - mae: 0.0272\n", - "Epoch 52/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0266 - mae: 0.0266\n", - "Epoch 53/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0261 - mae: 0.0261\n", - "Epoch 54/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0257 - mae: 0.0257\n", - "Epoch 55/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0254 - mae: 0.0254\n", - "Epoch 56/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0245 - mae: 0.0245\n", - "Epoch 57/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0241 - mae: 0.0241\n", - "Epoch 58/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0236 - mae: 0.0236\n", - "Epoch 59/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0230 - mae: 0.0230\n", - "Epoch 60/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0224 - mae: 0.0224\n", - "Epoch 61/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0220 - mae: 0.0220\n", - "Epoch 62/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0216 - mae: 0.0216\n", - "Epoch 63/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0212 - mae: 0.0212\n", - "Epoch 64/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0208 - mae: 0.0208\n", - "Epoch 65/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0203 - mae: 0.0203\n", - "Epoch 66/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0199 - mae: 0.0199\n", - "Epoch 67/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0195 - mae: 0.0195\n", - "Epoch 68/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0189 - mae: 0.0189\n", - "Epoch 69/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0186 - mae: 0.0186\n", - "Epoch 70/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0182 - mae: 0.0182\n", - "Epoch 71/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0180 - mae: 0.0180\n", - "Epoch 72/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0178 - mae: 0.0178\n", - "Epoch 73/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0175 - mae: 0.0175\n", - "Epoch 74/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0174 - mae: 0.0174\n", - "Epoch 75/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0173 - mae: 0.0173\n", - "Epoch 76/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0170 - mae: 0.0170\n", - "Epoch 77/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0170 - mae: 0.0170\n", - "Epoch 78/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0165 - mae: 0.0165\n", - "Epoch 79/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0162 - mae: 0.0162\n", - "Epoch 80/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0159 - mae: 0.0159\n", - "Epoch 81/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0156 - mae: 0.0156\n", - "Epoch 82/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0153 - mae: 0.0153\n", - "Epoch 83/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0151 - mae: 0.0151\n", - "Epoch 84/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0148 - mae: 0.0148\n", - "Epoch 85/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0146 - mae: 0.0146\n", - "Epoch 86/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0144 - mae: 0.0144\n", - "Epoch 87/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0144 - mae: 0.0144\n", - "Epoch 88/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0143 - mae: 0.0143\n", - "Epoch 89/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0140 - mae: 0.0140\n", - "Epoch 90/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0139 - mae: 0.0139\n", - "Epoch 91/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0138 - mae: 0.0138\n", - "Epoch 92/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0135 - mae: 0.0135\n", - "Epoch 93/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0133 - mae: 0.0133\n", - "Epoch 94/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0131 - mae: 0.0131\n", - "Epoch 95/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0130 - mae: 0.0130\n", - "Epoch 96/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0128 - mae: 0.0128\n", - "Epoch 97/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0129 - mae: 0.0129\n", - "Epoch 98/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0124 - mae: 0.0124\n", - "Epoch 99/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0122 - mae: 0.0122\n", - "Epoch 100/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0125 - mae: 0.0125\n", - "Epoch 101/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0119 - mae: 0.0119\n", - "Epoch 102/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0118 - mae: 0.0118\n", - "Epoch 103/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0116 - mae: 0.0116\n", - "Epoch 104/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0115 - mae: 0.0115\n", - "Epoch 105/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0114 - mae: 0.0114\n", - "Epoch 106/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0112 - mae: 0.0112\n", - "Epoch 107/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0113 - mae: 0.0113\n", - "Epoch 108/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0109 - mae: 0.0109\n", - "Epoch 109/300\n", - "8/8 [==============================] - 0s 14ms/step - loss: 0.0109 - mae: 0.0109\n", - "Epoch 110/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0107 - mae: 0.0107\n", - "Epoch 111/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0105 - mae: 0.0105\n", - "Epoch 112/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0101 - mae: 0.0101\n", - "Epoch 113/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0100 - mae: 0.0100\n", - "Epoch 114/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0100 - mae: 0.0100\n", - "Epoch 115/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0099 - mae: 0.0099\n", - "Epoch 116/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0097 - mae: 0.0097\n", - "Epoch 117/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0095 - mae: 0.0095\n", - "Epoch 118/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0092 - mae: 0.0092\n", - "Epoch 119/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0092 - mae: 0.0092\n", - "Epoch 120/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0092 - mae: 0.0092\n", - "Epoch 121/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0090 - mae: 0.0090\n", - "Epoch 122/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0089 - mae: 0.0089\n", - "Epoch 123/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0092 - mae: 0.0092\n", - "Epoch 124/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0094 - mae: 0.0094\n", - "Epoch 125/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0088 - mae: 0.0088\n", - "Epoch 126/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0083 - mae: 0.0083\n", - "Epoch 127/300\n", - "8/8 [==============================] - 0s 14ms/step - loss: 0.0082 - mae: 0.0082\n", - "Epoch 128/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0083 - mae: 0.0083\n", - "Epoch 129/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0081 - mae: 0.0081\n", - "Epoch 130/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0079 - mae: 0.0079\n", - "Epoch 131/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0079 - mae: 0.0079\n", - "Epoch 132/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0079 - mae: 0.0079\n", - "Epoch 133/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0080 - mae: 0.0080\n", - "Epoch 134/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0077 - mae: 0.0077\n", - "Epoch 135/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0079 - mae: 0.0079\n", - "Epoch 136/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0081 - mae: 0.0081\n", - "Epoch 137/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0077 - mae: 0.0077\n", - "Epoch 138/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0076 - mae: 0.0076\n", - "Epoch 139/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0072 - mae: 0.0072\n", - "Epoch 140/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0070 - mae: 0.0070\n", - "Epoch 141/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0071 - mae: 0.0071\n", - "Epoch 142/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0070 - mae: 0.0070\n", - "Epoch 143/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0067 - mae: 0.0067\n", - "Epoch 144/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0069 - mae: 0.0069\n", - "Epoch 145/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0070 - mae: 0.0070\n", - "Epoch 146/300\n", - "8/8 [==============================] - 0s 14ms/step - loss: 0.0071 - mae: 0.0071\n", - "Epoch 147/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0067 - mae: 0.0067\n", - "Epoch 148/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0067 - mae: 0.0067\n", - "Epoch 149/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0070 - mae: 0.0070\n", - "Epoch 150/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0071 - mae: 0.0071\n", - "Epoch 151/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0067 - mae: 0.0067\n", - "Epoch 152/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0070 - mae: 0.0070\n", - "Epoch 153/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0072 - mae: 0.0072\n", - "Epoch 154/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0070 - mae: 0.0070\n", - "Epoch 155/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0066 - mae: 0.0066\n", - "Epoch 156/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0070 - mae: 0.0070\n", - "Epoch 157/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0073 - mae: 0.0073\n", - "Epoch 158/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0068 - mae: 0.0068\n", - "Epoch 159/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0065 - mae: 0.0065\n", - "Epoch 160/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0062 - mae: 0.0062\n", - "Epoch 161/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0061 - mae: 0.0061\n", - "Epoch 162/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0062 - mae: 0.0062\n", - "Epoch 163/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0063 - mae: 0.0063\n", - "Epoch 164/300\n", - "8/8 [==============================] - 0s 15ms/step - loss: 0.0062 - mae: 0.0062\n", - "Epoch 165/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0061 - mae: 0.0061\n", - "Epoch 166/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0060 - mae: 0.0060\n", - "Epoch 167/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0061 - mae: 0.0061\n", - "Epoch 168/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0063 - mae: 0.0063\n", - "Epoch 169/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0061 - mae: 0.0061\n", - "Epoch 170/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0061 - mae: 0.0061\n", - "Epoch 171/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0059 - mae: 0.0059\n", - "Epoch 172/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0060 - mae: 0.0060\n", - "Epoch 173/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0059 - mae: 0.0059\n", - "Epoch 174/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0057 - mae: 0.0057\n", - "Epoch 175/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0058 - mae: 0.0058\n", - "Epoch 176/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0061 - mae: 0.0061\n", - "Epoch 177/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0061 - mae: 0.0061\n", - "Epoch 178/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0059 - mae: 0.0059\n", - "Epoch 179/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0059 - mae: 0.0059\n", - "Epoch 180/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0055 - mae: 0.0055\n", - "Epoch 181/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 182/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0055 - mae: 0.0055\n", - "Epoch 183/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 184/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0057 - mae: 0.0057\n", - "Epoch 185/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0055 - mae: 0.0055\n", - "Epoch 186/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 187/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 188/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 189/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0055 - mae: 0.0055\n", - "Epoch 190/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0057 - mae: 0.0057\n", - "Epoch 191/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0057 - mae: 0.0057\n", - "Epoch 192/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0054 - mae: 0.0054\n", - "Epoch 193/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0054 - mae: 0.0054\n", - "Epoch 194/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0054 - mae: 0.0054\n", - "Epoch 195/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0052 - mae: 0.0052\n", - "Epoch 196/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0054 - mae: 0.0054\n", - "Epoch 197/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0052 - mae: 0.0052\n", - "Epoch 198/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0053 - mae: 0.0053\n", - "Epoch 199/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0055 - mae: 0.0055\n", - "Epoch 200/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 201/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 202/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0053 - mae: 0.0053\n", - "Epoch 203/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 204/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0051 - mae: 0.0051\n", - "Epoch 205/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 206/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0053 - mae: 0.0053\n", - "Epoch 207/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0052 - mae: 0.0052\n", - "Epoch 208/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0052 - mae: 0.0052\n", - "Epoch 209/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0054 - mae: 0.0054\n", - "Epoch 210/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0055 - mae: 0.0055\n", - "Epoch 211/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0053 - mae: 0.0053\n", - "Epoch 212/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0054 - mae: 0.0054\n", - "Epoch 213/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0060 - mae: 0.0060\n", - "Epoch 214/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0053 - mae: 0.0053\n", - "Epoch 215/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0049 - mae: 0.0049\n", - "Epoch 216/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 217/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 218/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0055 - mae: 0.0055\n", - "Epoch 219/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0058 - mae: 0.0058\n", - "Epoch 220/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0054 - mae: 0.0054\n", - "Epoch 221/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0058 - mae: 0.0058\n", - "Epoch 222/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0055 - mae: 0.0055\n", - "Epoch 223/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0056 - mae: 0.0056\n", - "Epoch 224/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0049 - mae: 0.0049\n", - "Epoch 225/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 226/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 227/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0051 - mae: 0.0051\n", - "Epoch 228/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 229/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 230/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 231/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 232/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 233/300\n", - "8/8 [==============================] - 0s 15ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 234/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 235/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 236/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 237/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 238/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 239/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 240/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0046 - mae: 0.0046\n", - "Epoch 241/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 242/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 243/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 244/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 245/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 246/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 247/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 248/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 249/300\n", - "8/8 [==============================] - 0s 15ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 250/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 251/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 252/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 253/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0046 - mae: 0.0046\n", - "Epoch 254/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 255/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 256/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 257/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 258/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0041 - mae: 0.0041\n", - "Epoch 259/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 260/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 261/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 262/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0041 - mae: 0.0041\n", - "Epoch 263/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0042 - mae: 0.0042\n", - "Epoch 264/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 265/300\n", - "8/8 [==============================] - 0s 14ms/step - loss: 0.0042 - mae: 0.0042\n", - "Epoch 266/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0042 - mae: 0.0042\n", - "Epoch 267/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0042 - mae: 0.0042\n", - "Epoch 268/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0045 - mae: 0.0045\n", - "Epoch 269/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 270/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0053 - mae: 0.0053\n", - "Epoch 271/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 272/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 273/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0047 - mae: 0.0047\n", - "Epoch 274/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0050 - mae: 0.0050\n", - "Epoch 275/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 276/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0041 - mae: 0.0041\n", - "Epoch 277/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0040 - mae: 0.0040\n", - "Epoch 278/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 279/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 280/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0040 - mae: 0.0040\n", - "Epoch 281/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0040 - mae: 0.0040\n", - "Epoch 282/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0040 - mae: 0.0040\n", - "Epoch 283/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0043 - mae: 0.0043\n", - "Epoch 284/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0049 - mae: 0.0049\n", - "Epoch 285/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0048 - mae: 0.0048\n", - "Epoch 286/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0046 - mae: 0.0046\n", - "Epoch 287/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0044 - mae: 0.0044\n", - "Epoch 288/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0040 - mae: 0.0040\n", - "Epoch 289/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0040 - mae: 0.0040\n", - "Epoch 290/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0038 - mae: 0.0038\n", - "Epoch 291/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0041 - mae: 0.0041\n", - "Epoch 292/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 293/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0042 - mae: 0.0042\n", - "Epoch 294/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0041 - mae: 0.0041\n", - "Epoch 295/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 296/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0038 - mae: 0.0038\n", - "Epoch 297/300\n", - "8/8 [==============================] - 0s 11ms/step - loss: 0.0038 - mae: 0.0038\n", - "Epoch 298/300\n", - "8/8 [==============================] - 0s 13ms/step - loss: 0.0038 - mae: 0.0038\n", - "Epoch 299/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0039 - mae: 0.0039\n", - "Epoch 300/300\n", - "8/8 [==============================] - 0s 12ms/step - loss: 0.0039 - mae: 0.0039\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/964840/anaconda3/envs/leaf/lib/python3.10/site-packages/keras/src/engine/training.py:3000: UserWarning: You are saving your model as an HDF5 file via `model.save()`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')`.\n", - " saving_api.save_model(\n" - ] - } - ], - "source": [ - "seed_no_change(seed_sample, encoded_seed_sample, seed_dir)\n", - "seed_max_change(seed_sample, encoded_seed_sample, seed_dir)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Evaluate Seeds" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "def trained_prescribe_and_predict(encoded_context: pd.DataFrame, \n", - " prescriptor_path: Path, \n", - " encoder: ELUCEncoder, \n", - " dummy_prescriptor: UnileafPrescriptor) -> pd.DataFrame:\n", - " \"\"\"\n", - " Loads a prescriptor model, prescribes land use for context, predicts ELUC and calculates change.\n", - " \"\"\"\n", - " prescriptor = load_model(prescriptor_path, compile=False)\n", - " reco_land_use = dummy_prescriptor.prescribe(prescriptor, encoded_context)\n", - " reco_df = pd.DataFrame(reco_land_use[\"reco_land_use\"].tolist(), columns=constants.RECO_COLS)\n", - " context_actions_df = reco_to_context_actions(reco_df, encoded_context, encoder)\n", - " prescribed_actions_df = context_actions_df[constants.DIFF_LAND_USE_COLS]\n", - " eluc = dummy_prescriptor.predict_eluc(context_actions_df)\n", - " change = (prescribed_actions_df[prescribed_actions_df > 0].sum(axis=1) / context_actions_df[constants.LAND_USE_COLS].sum(axis=1))\n", - "\n", - " context_actions_df[\"ELUC\"] = eluc.values\n", - " context_actions_df[\"change\"] = change.values\n", - "\n", - " return context_actions_df" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "nnp = NeuralNetPredictor()\n", - "nnp.load(\"predictors/neural_network/trained_models/experiment_nn\")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "presc_config = None\n", - "with open(\"prescriptors/esp/unileaf_configs/config-loctime-crop-nosoft.json\", \"r\") as f:\n", - " presc_config = json.load(f)\n", - "dummy_prescriptor = UnileafPrescriptor(presc_config,\n", - " dataset.train_df.iloc[:1],\n", - " dataset.encoder,\n", - " [nnp])" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "test_df = dataset.test_df.sample(frac=0.01, random_state=100)\n", - "encoded_test_df = dataset.encoder.encode_as_df(test_df)\n", - "context_df = test_df[constants.CAO_MAPPING[\"context\"]]\n", - "encoded_context_df = encoded_test_df[constants.CAO_MAPPING[\"context\"]]" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "832/832 [==============================] - 3s 3ms/step\n", - "Average ELUC of no change prescriptor on test set: 0.061359677324486044\n", - "Average change of no change prescriptor on test set: 0.011037839944058702\n" - ] - } - ], - "source": [ - "result_df = trained_prescribe_and_predict(encoded_context_df, seed_dir / \"1_1.h5\", dataset.encoder, dummy_prescriptor)\n", - "print(f\"Average ELUC of no change prescriptor on test set: {result_df['ELUC'].mean()}\")\n", - "print(f\"Average change of no change prescriptor on test set: {result_df['change'].mean()}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "832/832 [==============================] - 3s 3ms/step\n", - "Average ELUC of max change prescriptor on test set: -24.228178468619262\n", - "Average change of max change prescriptor on test set: 0.4239889862987677\n" - ] - } - ], - "source": [ - "result_df = trained_prescribe_and_predict(encoded_context_df, seed_dir / \"1_2.h5\", dataset.encoder, dummy_prescriptor)\n", - "print(f\"Average ELUC of max change prescriptor on test set: {result_df['ELUC'].mean()}\")\n", - "print(f\"Average change of max change prescriptor on test set: {result_df['change'].mean()}\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "leaf", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.11" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} From 77c7618c3dea0914c5da0f9fa1fa0c7c45ee571b Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 19 Mar 2024 14:34:26 -0700 Subject: [PATCH 2/4] Renamed create seed script to fix weird git issue --- .../eluc/prescriptors/esp/{create_seeds.py => create_seed.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename use_cases/eluc/prescriptors/esp/{create_seeds.py => create_seed.py} (100%) diff --git a/use_cases/eluc/prescriptors/esp/create_seeds.py b/use_cases/eluc/prescriptors/esp/create_seed.py similarity index 100% rename from use_cases/eluc/prescriptors/esp/create_seeds.py rename to use_cases/eluc/prescriptors/esp/create_seed.py From 4c19dda66297ff45bc55d2facfb840f5d708694d Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 19 Mar 2024 14:35:34 -0700 Subject: [PATCH 3/4] Renamed file back. Will hopefully fix git issue --- .../eluc/prescriptors/esp/{create_seed.py => create_seeds.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename use_cases/eluc/prescriptors/esp/{create_seed.py => create_seeds.py} (100%) diff --git a/use_cases/eluc/prescriptors/esp/create_seed.py b/use_cases/eluc/prescriptors/esp/create_seeds.py similarity index 100% rename from use_cases/eluc/prescriptors/esp/create_seed.py rename to use_cases/eluc/prescriptors/esp/create_seeds.py From 7d5dd11f6d0d321483a4dd96d22ee84f5b9e78b5 Mon Sep 17 00:00:00 2001 From: Daniel Young Date: Tue, 19 Mar 2024 14:41:24 -0700 Subject: [PATCH 4/4] Added encoding to config open --- use_cases/eluc/prescriptors/esp/create_seeds.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/use_cases/eluc/prescriptors/esp/create_seeds.py b/use_cases/eluc/prescriptors/esp/create_seeds.py index 2c10660..b866927 100644 --- a/use_cases/eluc/prescriptors/esp/create_seeds.py +++ b/use_cases/eluc/prescriptors/esp/create_seeds.py @@ -78,7 +78,7 @@ def validate_seeds(seed_dir: Path, nn_path: Path, presc_cfg_path:Path, dataset: """ nnp = NeuralNetPredictor() nnp.load(nn_path) - with open(presc_cfg_path) as f: + with open(presc_cfg_path, "rb", encoding="utf-8") as f: presc_config = json.load(f) dummy_prescriptor = UnileafPrescriptor(presc_config, dataset.train_df.iloc[:1],