{ "cells": [ { "cell_type": "markdown", "id": "1587aa08", "metadata": {}, "source": [ "# Lesson 28: TensorFlow/Keras neural network demonstration - part 2\n", "\n", "## Notebook set up\n", "\n", "### Vocareum compatibility\n", "\n", "Check the notebook path to determine if we are running in Vocareum, if so, install TensorFlow 2.17 and Keras 3.2.0 via pip." ] }, { "cell_type": "code", "execution_count": 1, "id": "97aa2375", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running in Vocareum environment\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "from pathlib import Path\n", "\n", "# Get the parts of the current directory path as a tuple\n", "path_parts = Path.cwd().parts\n", "\n", "# Check if 'voc' is the first directory level\n", "is_voc_root = len(path_parts) > 1 and path_parts[1] == \"voc\"\n", "\n", "# If we are in a Vocareum instance, upgrade TensorFlow and Keras\n", "if is_voc_root:\n", " print(\"Running in Vocareum environment\")\n", "\n", " get_ipython().run_line_magic(\n", " \"pip\", \"install -qq --no-warn-script-location tensorflow==2.17.0 keras==3.2.0\"\n", " )" ] }, { "cell_type": "markdown", "id": "b0391f6f", "metadata": {}, "source": [ "### Imports" ] }, { "cell_type": "code", "execution_count": null, "id": "39b9bf45", "metadata": {}, "outputs": [], "source": [ "# Suppress noisy TensorFlow logs before importing\n", "import os\n", "os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'\n", "\n", "# Third party imports\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import tensorflow as tf\n", "\n", "from tensorflow import keras\n", "from tensorflow.keras import layers\n", "from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint, TensorBoard" ] }, { "cell_type": "markdown", "id": "e5a41854", "metadata": {}, "source": [ "### GPU configuration (if present)" ] }, { "cell_type": "code", "execution_count": null, "id": "7b7ac2dd", "metadata": {}, "outputs": [], "source": [ "# Configure GPU settings\n", "gpus = tf.config.list_physical_devices('GPU')\n", "\n", "if gpus:\n", " try:\n", " # Use only GPU 0\n", " tf.config.set_visible_devices(gpus[0], 'GPU')\n", "\n", " # Enable memory growth\n", " tf.config.experimental.set_memory_growth(gpus[0], True)\n", "\n", " # Get GPU\n", " details = tf.config.experimental.get_device_details(gpus[0])\n", " cc = details.get('compute_capability', (0, 0))\n", " device = details.get('device_name', '')\n", "\n", " print(f'Using GPU: {device}, compute capability {cc[0]}.{cc[1]}')\n", " print('Memory growth enabled')\n", "\n", " except RuntimeError as e:\n", " print(e)\n", "\n", "else:\n", " print('No GPU found')" ] }, { "cell_type": "markdown", "id": "98f5eab8", "metadata": {}, "source": [ "## 1. Load California housing data\n", "\n", "Load the preprocessed data from part 1 of the demo:" ] }, { "cell_type": "code", "execution_count": null, "id": "e94bf1e5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Data dictionary contains: ['training_df', 'testing_df', 'features', 'label', 'feature_scaler', 'label_scaler']\n" ] } ], "source": [ "data = pd.read_pickle('https://github.com/gperdrizet/fullstack-2605/raw/refs/heads/main/data/preprocessed_housing_data.pkl')\n", "print(f'Data dictionary contains: {list(data.keys())}')" ] }, { "cell_type": "code", "execution_count": 5, "id": "0561763f", "metadata": {}, "outputs": [], "source": [ "training_df = data['training_df']\n", "testing_df = data['testing_df']\n", "features = data['features']\n", "label = data['label']" ] }, { "cell_type": "markdown", "id": "01f45893", "metadata": {}, "source": [ "## 2. Build model" ] }, { "cell_type": "code", "execution_count": 6, "id": "d285821c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Model: \"sequential\"\n",
       "
\n" ], "text/plain": [ "\u001b[1mModel: \"sequential\"\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
       "┃ Layer (type)                    ┃ Output Shape           ┃       Param # ┃\n",
       "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
       "│ dense (Dense)                   │ (None, 32)             │           288 │\n",
       "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
       "│ dropout (Dropout)               │ (None, 32)             │             0 │\n",
       "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
       "│ dense_1 (Dense)                 │ (None, 64)             │         2,112 │\n",
       "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
       "│ dropout_1 (Dropout)             │ (None, 64)             │             0 │\n",
       "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
       "│ dense_2 (Dense)                 │ (None, 32)             │         2,080 │\n",
       "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
       "│ dropout_2 (Dropout)             │ (None, 32)             │             0 │\n",
       "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
       "│ dense_3 (Dense)                 │ (None, 1)              │            33 │\n",
       "└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
       "
\n" ], "text/plain": [ "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", "┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n", "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", "│ dense (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m288\u001b[0m │\n", "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", "│ dropout (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n", "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", "│ dense_1 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m2,112\u001b[0m │\n", "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", "│ dropout_1 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n", "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", "│ dense_2 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m2,080\u001b[0m │\n", "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", "│ dropout_2 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n", "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", "│ dense_3 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1\u001b[0m) │ \u001b[38;5;34m33\u001b[0m │\n", "└─────────────────────────────────┴────────────────────────┴───────────────┘\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
 Total params: 4,513 (17.63 KB)\n",
       "
\n" ], "text/plain": [ "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m4,513\u001b[0m (17.63 KB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
 Trainable params: 4,513 (17.63 KB)\n",
       "
\n" ], "text/plain": [ "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m4,513\u001b[0m (17.63 KB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
 Non-trainable params: 0 (0.00 B)\n",
       "
\n" ], "text/plain": [ "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tf.random.set_seed(315)\n", "\n", "model = keras.Sequential([\n", " layers.Input(shape=(8,)),\n", " layers.Dense(32, activation='relu'),\n", " layers.Dropout(0.2),\n", " layers.Dense(64, activation='relu'),\n", " layers.Dropout(0.2),\n", " layers.Dense(32, activation='relu'),\n", " layers.Dropout(0.2),\n", " layers.Dense(1)\n", "])\n", "\n", "model.compile(\n", " optimizer=keras.optimizers.Adam(learning_rate=1e-4),\n", " loss='mse',\n", " metrics=['mae']\n", ")\n", "\n", "model.summary()" ] }, { "cell_type": "markdown", "id": "9a746b8d", "metadata": {}, "source": [ "## 3. Callbacks\n", "\n", "1. [Custom callbacks](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/Callback)\n", "2. [Early stopping callback](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/EarlyStopping)\n", "3. [Model checkpoint](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/ModelCheckpoint)\n", "4. [Tensorboard](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/TensorBoard)\n", "\n", "To start tensorboard via a terminal, run:\n", "\n", "```bash\n", "tensorboard --logdir=path/to/log_dir/from/notebook_dir\n", "```\n", "\n", "Then visit the URL provided in your browser or via the 'ports' tab in VS Code. **Note**: if you are using the course's containerized deeplearning environment, you do not need to start TensorBoard manually. You can access it via the command pallette under `Python: Launch TensorBoard`.\n", "\n", "Alternatively, if you are using a Jupyter notebook in a remote environment (Such as vocareum or CoLab) you can run TensorBoard inline with these cell magics:\n", "\n", "```bash\n", "%load_ext tensorboard\n", "%tensorboard --logdir path/to/log_dir/from/notebook_dir\n", "```" ] }, { "cell_type": "code", "execution_count": 7, "id": "c8fd4460", "metadata": {}, "outputs": [], "source": [ "es_callback = EarlyStopping(\n", " monitor='val_loss',\n", " patience=5,\n", " restore_best_weights=True,\n", " verbose=1\n", ")\n", "\n", "checkpoint = ModelCheckpoint(\n", " filepath='best_model.keras',\n", " monitor='val_loss',\n", " save_best_only=True\n", ")\n", "\n", "tensorboard = TensorBoard(\n", " log_dir='./logs',\n", " histogram_freq=1,\n", " write_graph=True\n", ")" ] }, { "cell_type": "markdown", "id": "04aa4af3", "metadata": {}, "source": [ "## 4. Train model" ] }, { "cell_type": "code", "execution_count": 8, "id": "5178fc7f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training complete.\n", "Final training loss: 0.2343\n", "Final validation loss: 0.2418\n", "CPU times: user 2min 8s, sys: 8.38 s, total: 2min 16s\n", "Wall time: 1min 48s\n" ] } ], "source": [ "%%time\n", "\n", "history = model.fit(\n", " training_df[features],\n", " training_df[label],\n", " epochs=500,\n", " batch_size=128,\n", " validation_split=0.2,\n", " callbacks=[checkpoint, tensorboard],\n", " verbose=0\n", ")\n", "\n", "print('Training complete.')\n", "print(f'Final training loss: {history.history[\"loss\"][-1]:.4f}')\n", "print(f'Final validation loss: {history.history[\"val_loss\"][-1]:.4f}')" ] }, { "cell_type": "markdown", "id": "d74f3b7e", "metadata": {}, "source": [ "## 5. Learning curves" ] }, { "cell_type": "code", "execution_count": 9, "id": "e0f48c27", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(10, 4))\n", "\n", "axes[0].set_title('Sequential API: loss')\n", "axes[0].plot(history.history['loss'], label='Training')\n", "axes[0].plot(history.history['val_loss'], label='Validation')\n", "axes[0].set_xlabel('Epoch')\n", "axes[0].set_ylabel('Loss (MSE)')\n", "axes[0].legend(loc='best')\n", "\n", "axes[1].set_title('Sequential API: MAE')\n", "axes[1].plot(history.history['mae'], label='Training')\n", "axes[1].plot(history.history['val_mae'], label='Validation')\n", "axes[1].set_xlabel('Epoch')\n", "axes[1].set_ylabel('Mean absolute error')\n", "axes[1].legend(loc='best')\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "f9f32761", "metadata": {}, "source": [ "## 6. Test set evaluation" ] }, { "cell_type": "code", "execution_count": 10, "id": "fa2e6fa3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model R² on test set: 0.7696\n" ] } ], "source": [ "predictions = model.predict(testing_df[features], verbose=0).flatten()\n", "\n", "ss_res = np.sum((testing_df[label] - predictions) ** 2)\n", "ss_tot = np.sum((testing_df[label] - np.mean(testing_df[label])) ** 2)\n", "rsquared = 1 - (ss_res / ss_tot)\n", "\n", "print(f'Model R² on test set: {rsquared:.4f}')" ] }, { "cell_type": "markdown", "id": "c9a0827c", "metadata": {}, "source": [ "## 7. Performance analysis" ] }, { "cell_type": "code", "execution_count": 11, "id": "322b1929", "metadata": {}, "outputs": [ { "data": { "image/png": "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HhSz2ax/p72w7B8m2zruwJ0Xsito5GTOnDns3buXwsJCsrOzCQ4O5vrrr2f+/PlMnTqVrKws4uLiuO+++zCbzUyZMoXnnnuOjIwMzp8/z7p162jcuDGfffYZd999Nw888ABvvPEGzz77LB999BGPP/64Psa1a9cyf/58/vjjD5KTk0lMTKRKlSocP36c9evX07RpU6677jrGjRtHh/XrMeXlseSxxzB368a5c+fw9/cnIyODb7/9lkWLFhEQEMDw4cPp168fTZs2JTg4mJCQEB588EG2bNlCr169qF27NkePHuXFF1/Ez8+PWbNm0bt3bwYNGsTkyZN59tln9cloe1+cXfOBAwcSFxeHyWRi+vTpeHt7s2rVKrKyspwepwkWTUCYzWYmTJhQonvnzv1291nKyMhg+vTpuhArb9iefzlBKaXuAIYDq63flT9zuwxw59qZTCb69OnDxIkT8ff3L/JsrV27lokTJ5KVlcUzzzxDYGAgc+bMAeD+++8nLS2N3NxcvLy8+OCDD/j000959tlnWbBgAWfPnuX48ePMmzdPf65EhNGjR3Pvvfdy5MgRTpw4werVqzl27Bh+fn7cc889BAYGkp2dzenTpwkPD+fHH3/k+uuvZ/HixWzcuJF//etfpKenc+DAAQC6dOnCyJEjGTZsGHXq1MHLy4sJEybw+uuv8/HHH1NQUEDt2rX55ZdfeOyxx0hJSaFr16506NCB999/n7Vr1/LJJ5/QtWtXunfvzn/+8x969OjBvffey7Fjx5gxYwZTpkwB4MYbb2TJkiX897//5eDBg2zatIn8/HzWrl3LokWLCAwMZNq0abz00kv4+/vz+OOPk5WVxWeffcbhw4dZv34948aNIz8/n0cffZTrrruO4OBgRo8eTa9evfjhhx84evQoERERbNy4kYcffpiEhASmT5/Otm3byMzM5PHHHwcsRPTGG29k9uzZrFu3DoC77rqLp556igYNGjBjxgwyMjIcPgNms5n8/Hz69etHYGAggYGB9O7dm8DAQJKTk5k4cSJr164t8pxoMmTYsGFMmDCB/Px8XnvtNWbMmMGaNWt02bRmzRpee+01Xn/9dTIyMvQya9YsACZNmkTPnj0ZNWoUNWrUICsrC7PZXOSdUtK57uPjw6BBg5g+fTpvvPEGv/32G8899xzvvPMOO3bsKPH7saxwV4PzBBALtFdKHcCS7G9EuY3KA/DkatOdlXppNTG2GqGMjIxSjVd74AMDAzGZTMTHxxMcHFykrVWrVjFgwABEhEWLFnH27FmUUpjNZhYvXsyLL75IcHAw/v7+dO/eHQBfX1+aNm3KN998Q79+/bjhhhsA9Ic0NDSUG2+8EbPZzO7du/n7779p3749W7ZsoUPbtvj7+xMTFMTb58/j9f33VPv1V6pXr87KlSvZtGkTSilyc3PZs2cPH374IUopHn30Ub0Pf39/Bg4cyD333MNdd91FQEAAAQEB3HXXXWRnZ5OVlcWqVato2bIlADt27MBkMhEcHKyvtOxXTtrk7dOnD0FBQUXqOCMe2vGBgYF6nczMTObMmcOkSZNKdL8caYbsUVatXnkhMDCwiJarHPAU8CKwUkTSlFJBwA/l1dnlhCti62ilPWfOHCZMmKA/d/n5+TRt2pSAgIAiGuSAgACysrJ4+eWXMZvN/Prrr3To0IHFixdTrVo1Bg4cSMOGDZk1axZ79+5l8eLF3HzzzeTm5vLDDz/Qo0cPateuzdq1azGZTPj5+dG2bVs2btzIwYMHad++PZMnT2b48OFs3LiRpk2b8ssvv7Bo0SJCQ0O55ZZbCAwMJCMjg0mTJvHXX3/x4osv8s9//pPNmzczcOBANm7cyLJly2jRogUtWrTg1ltv5bvvvqN27dqkpaXxySefMHHiRMxmM2fOnOGzzz7TTJYcPXqUJ554glq1anHy5EnuvfdeTCYT+/btIzo6mm3btjFq1Ch+/fVXjh49SmpqKmfPniUzMxOTyYSIkJSUxH333UdCQoJOXk6cOEFOTg5Hjx5lzJgxeHt7ExwczNq1a4mLi0NEePjhh7n33nt55JFH2LVrF6mpqQBs2rSJDz74gPfee48+ffrwzDPPEBAQQJcuXejZsydms5n169fzww8/6FppcDx/MjMzefPNN/VnBOD333+nd+/edOrUibZt2xIQEHDJM6Jpg3/88UdEhFGjRmE2m/nss8/w9/dn//79xMXFMXLkSIKCggCYNWsWjz/+OAMGDNC1SABhYWEALFy4kICAAHx8fIrIutJAk3MBAQH6fdm5cycPPvggffr0uSwaZ3CT4IjIbqCXUkpzAswp32GVHZ58Sbiz6i6NJsb2xVuW8Wov9czMTO666y4AAgICWLNmDfHx8TzxxBO6Snv16tU89NBD5Ofn89FHHwEwbNgw9u/fT0hICCEhIbRr1461a9fSvHlzJk+ejI+PDz179tT7CwoKolGjRqxZs4Zdu3Zx9OhRvL29OX36NLt27eKevDwW/Pkn//rlFyZNnkxKSgobN27k77//5rrrruOTTz6hVatWDB06lMTERPbv309hYSEnTpzg4sWLTJ8+nXbt2rF+/XqaNGmCl5eXPik0Ffv7779P//79dVXq66+/zpkzZ6hVq5auktaupa1JSmvHnmiYTCYCAwNdqoRt742z++0JYu3us9SuXTumT59epF55mpE0QukJ85ojiMhPWLZr0D7vBiZ6vKMrAGfEVltpf/rpp5w7d453332Xdu3aMWnSJMxmM7NmzWLAgAF8/fXX1KxZE5PJREZGBoGBgZjNZj7++GPeeecdXnjhBQoLC3n++ecJCAjg5MmT3H333fzwww+MGDGCM2fOsGvXLt59912Cg4NRShEcHMz8+fM5evQodevWZdiwYXz11VcsWbKELl26sHTpUqpWrcptt92Gl5cXXbt2JTg4mDvuuIMFCxawa9cu/vjjD0JCQgCLP2dubi6ff/45H330ESaTic2bNzNmzBj+/e9/M2HCBP7++2++++47atWqRceOHUlISOD2228nICCAefPmcfvttzNv3jwAGjduzPHjx9m+fTu5ubkEBgbSokULAgMDuf/++2ncuDGbN2/mvvvu49dff+Xtt99m5MiR3HTTTbz//vtkZWURGBjIlClT6N69O/v372fYsGHcddddNG/enICAAEaMGEFWVhbx8fHs37+f7777jvPnz2MymUhPT6dZs2a0bduW7t27c/311zNkyBCCg4MJCAjQycxff/1Ffn6+Llt27NjBZ599xvDhw/VFp2Z+W7FiBYBeNzAwkBEjRtC8eXPy8/MBGDBgAPHx8TRr1kx/HjIzM3n99dcBdPkYHBzMq6++CqATHi8vL7Kzs1m1ahX33Xef3o+mbc7KyiIhIaHIHNbGoR2bmJjoscWVn58fL730EhkZGboVQVtYXg7zulsERyk11e4zACIyoxzG5BGU1fRjC1fCyfYmlfSBsH1xlnW8GRkZvP7664wYMYLExETdBj1q1ChMJhOLFy+msLCQUaNG6cKxdu3amEwmsrOz+e2339i8eTNPPPEEJpOJuLg4QkNDOXDgAN27dy+iCfHy8qJq1apcuHCBTp060bBh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ncE2N1ZwcDBPP/30JWHZzp7J0uZyKw94yifQpQZHKVXP+q99WHgtpRQi8neZejfgMIRZg61PiAbNdv/qq6/qKlQtRNTLy4uCggL8/f0xm826+ee5557j8OHDvPvuu9x2223069ePdevWUbt2bWrXrs3IkSPJyMhg/vz55OfnEx0dzbFjx/j111/ZsmULVapU4fDhwzRo0AClFDe3acO7u3Zxd0EBr9aoQVZwMP/95BOys7N1Bzx/f3+OHz/O+fPnqVKlCidOnGDs2LH0798fk8lEdHQ0X331Ff369ePBBx/k9ttvJysri4CAAD1DqBYRMGLECN1XSTNRaepa7TNwiRnRUSi47eeSauauJpVuaXA5z18p5QXUEJEzHmjuViDTGnaOUuprYCCwoyyNljXyTMv826RJE26++WaysrKIiYnhzz//JCoqij/++INz586xatUqbrrpJiZNmkSjRo0oLCxk3759ZGdn079/f5YtW8bx48dp0qQJjRo1YufOnXh5WdauSilOnz6NUor69euzf/9+3n//fU6fPg1A1apVyc/P5+TJk5jNZk6dOkVubi516tTh559/JjMzE6WUTjL+/PNPCgsLUUpx9OhRateuTW5uLjfffDM7d+6ksLCQ8+fPc/r0aa677jqysrLo0KED3t7eeHl5YTKZOHLkCHl5edSrV48TJ05w9OhRfH199WzF/v7+ur9g+/btOXz4MI888ghfffUV27dv58Ybb+TXX3/l9ttv5+DBg+Tl5REfH8/x48f59ddfqVmzJg8//DB33XUXLVq0ICsri9WrV/PLL7/oMvbzzz9n7969REZG0qNHD37//XeWLl1Kfn4+VapUoVu3bkyYMIELFy4wdepUpk2bppugMjMzmTJlCu+99x7BwcG6T9/ChQspLCwE0F0FWrRoQZs2bfTvg4OD2bBhA2BZEI4aNeoS3z573xhbX00tB1h5pKGoSPm3PGU1cemDo5TKwmKaUg5+FhEJKlPvJcSV8sEpTziykzoSnBq7/uuvv1i8eLGeMOnbb79l/vz59O/fnyZNmjB16lT27NlDjx49SE5OZvDgwbz77rusXr1aD6WeOXMmR44cIT8/nyVLlnD06FFOnz7N2bNnuXDhApGRkRw4cICdO3fSq1cvNmzYwM0338zw4cOZO2MGH+zaRceCAl5u3JjvmjfnzJkz9O3bl/j4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jD179rBkyRLAYvP/5ptv9ERb+/bto6CggCZNmnDo0CF935S1a9eSnp7OuXPnaNWqFVPCwvjs99/punkzN9xwA4NGjKBevXoUFBToWVQ181ZOTg45OTnceOONdOrUicLCQoKCgvDz86N///60atWK8PBwOnbsqG+1cO7cObKysnj++edp0KABCxYs4Ntvv9VzT/j4+PDjjz9y7tw5nWSsX7+eZ599ls8//1wnMZ9//jnPPvusvuGddj1dORJrL23NJGabBMxRHQ2O9g+yv7eeREm0MuXlFJ+fn18kQVk54ENgD1Ad+Ekp1RLwhA/Ob0AbpVSgUsoHiAZWeaDdS6A9N7feeivPPfcckyZNok+fPvoWAKNGjeL7779n586dfPXVVxQUFLBy5Up27drF6dOnyc7OZsGCBVSrVo2DBw9StWpVTp48yc0330xgYCD169dHRMjPz9f3csvLywMsGhytf82fxtvbm7Nnz9LYah7x8fGhSpUqiAi+vr6EhoZyww03kJeXx7Fjx/D399e1PPbQ+hER3Y+moKCgyFy46aabuO222/R62nFxcXF8++23jBs3TjeL//777/j5+fHFF1/oyULBol3YtWsXNWrUoG3bttx///0UFBRw7tw59u3bx+nTpzlz5gzbt29nwYIFHD9+nCVLljBp0iQSExP5/vvvqV69OrGxsRw7doz333+fG264gWbNmumRmDfccAPdu3cnKSmJgoICmjZtyoQJE2jYsCEiwtixY5k6dSqBgYG88cYbTJ48mS+++IJt27Zx7tw5hg4ditls5vvvv+err77i1ltv1d0Nnn32WZ577jlSUlJ0J+Xbb7+dtm3bYjabCQwM5NFHH+Wmm27iwQcf5OWXX6Znz5506dKFL7/8koCAAOLi4sjMzCQ7O5vff/+drKws/Rr37NmT/v376/PQdosdLdJKSzWg7SkFFNFia4slV4n93NFGl2eEsUegvSRdFWAbFs3NVuvn9sAKd4510eYQLOGa2ueRWFZt9vXGAclAckBAgFQWFBQUSHp6uhQUFLj8LjU1VSIiIiQ1NVVERPLy8iQ2NlbGjh0r6enpkpSUJCEhIZKUlCTp6ekybtw4iY2NlaFDh8rQoUMlISFBtmzZIjExMZKTkyPp6emSkpIiffv2lXHjxkmfPn1k7ty5EhYWJmFhYbJs2TKZNWuWjB07Vm677Tbp0KGDzJ49W8LCwqR27dri5eUl1apVE0BCQkLkx3/+U85UqSLHqlaVp/r0kRkzZkifPn2kQYMG4u/vL0FBQVK3bl3x8fGR6tWry4svvigpKSmSmJgogwcPlu7du8tLL70k4eHhkpKSIklJSTJ69GiZMWOG5ObmSlpamnTp0kWqV68u8+fPl8TERAkPD5eoqChJT0/Xr1taWpqkpqZKWlqaFBQUXHKd0tPTZcyYMXq72rXOy8uTtLQ0/ThH98D2/iQlJcn48eP1vp0hPT1dHn300WLreQquxn25EBsbK3Xq1JHY2Fi36gPJUgYZYWmCKmVtw9pOBPAnsAt4ubj6nTt3LtU1Sk9Pl/Hjx0tSUpJ+z0JDQ6V69epy8803yyuvvCKzZ8+WO+64Q6pXry61a9eWjh07yiOPPCLt27eXwMBAqV27trRv316ioqKkcePG+hzDYlmSqlWr6v9rxWQyiclkuuR7rdxyyy0SFRUlLVq0cFpHa9vX11f/7OvrK1WqVHFYt06dOlKlSpUi9WvUqCE1a9Z0WN+qjRNAvLy8xNvbWyIjI2X8+PHSqlUr6dq1qwDi7e0tSimpVauWdO7cWd577z1p37699O7dW9q3by/169cXX19f8fLyksDAQImKihI/Pz8JCAiQO+64Qzp37iwpKSkiIpKbmyuxsbGSk5MjaWlpEh8fL3379pUuXbpI165dpXHjxtKmTRv55ZdfZPr06dK8eXPp3LmzrFy5UtLS0iQvL08SExMlIiJCIiMjZd68eRIRESHx8fHy6KOPSmpqqiQlJelyJjo6WlJSUiQ+Pl7mzZsnkZGREh0dLWlpaRIbGysdOnTQn42kpCQZN26cLkPy8vIkISFBtm7deom8SktL058rrZ/o6Gin8sdePtnKD+23tLQ0lzLlcsu4ssCZrHEr0Z9S6jcRuUUptRWLc16eUipNRK4rnkI5bbPkjn+V2MnYWdIle9PDjh07mDFjBiNGjCA8PByz2aybXUwmE6tXr2bBggWMGzdO36Pk008/5Z133mHKlCmMGTNG99fx8/Ojd+/e3HbbbWRnZ7Nw4UKuu+46fv31V7y8vOjYsSP/93//pyft2r9/P5s2bcLLy4vmzZsz/Y47GBkXx/7CQj6OjqbRLbewYcMG7rrrLj7++GP27NlDy5YtiYiIYPPmzTRs2BA/Pz+efdbiovj999/zxhtv0KxZM6pXr878+fNp164db7/9Nl999RX/+te/aNmyJc888wwnTpzgww8/xNvbW98kTzMhOduQ1HblGBgYqCcyfOaZZzCbzbopymQyuW02cubg7c53Ja1b2XD+/Hl93xx7vxNHcNfJWCn1jKvfRWRmCYbpEZRW1tjea7D445w9e5bPPvuM77//nt27d9O4cWN69uzJ5s2bdX+SI0eOUFBQQNWqValZsyanTp3C19eXgIAARo8ezfTp0zl37pzTfqtUqYJSCs13yMvLSzdhm0wm7rnnHtavX6+nggBL5uEaNWqwZ88eateuTWFhoR4tpaF69eq65tR2JV+tWjU9avPChQv693feeSfHjx8nLy+POnXqsGvXLqpWrcqJEyf0scD/9mqqVq0arVq14o477uDMmTN89dVX1K9fnxMnTtCyZUvq1KnD6dOnOXDgAK1ataJatWp06tSJ+Ph4OnXqxLFjx6hTpw5+fn78/fff5OXlsX//fgYNGkTfvn0JDAzk7bff5qWXXmLv3r18/vnnhISEsGjRIoYNG8bJkyf59ttvuffee1m9erW+fYVSCj8/P5577jlatmxJdna2vhXDyy+/zD/+8Q9MJss+fr1799Zld1ZWFvv372fmzJm0adOGJ554Qs9voyVjDQgIuES2adfXWWK+8+fP855mCrNGjQLFal+0OrZ9af8Xl+S0MsktZ7LG3Tw4+5VSdYA4YK1SKh7YW8YxuWUXv1rgLOmSIyilCAoKKkJuNJ8SLfGVbbKptWvX4ufnx8qVK8nIyNC3Ubj//vtZvHgxL774IoGBgfTt25fFixfrwubvv//m5MmTLFq0iOXLl/PHH3/g7+/P5MmTefz++3lgyRL2Vq3KO/3786nVUfnQoUM0b96cqVOn6vk7oqOjGTJkCJs2baJz585kZGQwefJkmjZtStu2balevTo1a9bUzUh79uzhqaeewt/fn+DgYGbOnMnnn3+Or68vb775Jl9++SX79+/Xr5umWrVXh9rubbJ+/XqSk5P162s2mzlz5oyeL8hdNaoj844j85AzM5CjupXY6bcItA0K3SE3JUTNYkqlge1zoZlHT5w4wYkTJzCZTBQUFLB//36++OILDh06RLNmzfSMwmAx51SrVo3q1atTxRoh9fPPP1NQUHBJX15eXtSqVYtatWpRUFCg19GObd68OVWqWNwst2zZgp+f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sujYsSO///47x44d49tvv6Vhw4b4+vqSk5PDJWuk5W7duhEaGsrBgwc5efIkKSkpeHt7c/bsWSPa+o4dO+jcuTPBwcEsXLiQI0eOMH78eKKionjppZfIyMhgxowZdOvWjc6dO5OcnMyff/5JXFwc9erV44033iAzM5Pw8HDq1avH66+/zs6dO1m0aBEBAQFcuXKFo0eP4uvry913383y5ctZtGgR7du35+zZs/Tv35/x48ezbt065syZw+OPP244XR8+fJjHH38812yj0NBQzp8/b/g+2jqbb7zxhmGRnzJlCiLCfffdd1XU+rymi9t8Zrp3705GRoYxPR0wAhiGh4ezevXqXEmJnck7m2XLNjHDGdfic1fQe/J64Wqqht+B20TkRElWpiJQUOh+W6qAu+++mw8//JCOHTsyY8YMBgwYYJhBAwICGDJkCOHh4cycOZM777yTOXPmcNmad+add97ht99+46abbiI8PJwdO3Zw8eJFfv75Z1JTU9m0aRPr16/n0qVL+Pj4WHLViHD69GmOHz+OUooaHh7cHhjI+kOHGOntjZjN1PL1JTY2ls6dO5OUlMT69etRStGpUycj8ebChQs5c+YMkZGR7N27lw8++IAhQ4ZQq1YtYmJiePjhhwkPD2fKlCl07NiRZ599FrBMb+/SpQuenp7ExcURGhpq3K/87mNISAgrV67MNczkasOzb2T2L+fCNjxnTsLOZm8VlrKUvdcVSrq+IvJf6+p64LpbbUoDxxfBnXfeCcD3339PamoqR48eJScnh/3793PmzBnc3Nzw9vbG19eXzMxMI3qxLS1DUFAQ06ZN495772Xz5s106tSJ9PR0Ll26ZEzpdnNzY+vWrfz000/GrCiz2czx48eZN2+eMRU6JyeHSpUqUbVqVc6ePcvPP/+Mv78/nTt3ZuHChXh7e5OTk0NWVhaBgYEcOXKE/fv3079/fzZs2ICIEBwczMMPP8yuXbuIiopiwYIFHDlyhEOHDpGZmcnnn39OZmYmBw4cwMPDw5iW3rNnT1q1asWyZcu4cOEC69evZ/DgwYwbN44333yTLVu20KlTJ6PTERMTw9tvv03lypV59NFH2bt3L6+++ioPPPAAhw8f5uWXX2bz5s188803+Pn5cc899xAdHc3FixdZuHAhSim8vb25fPkyXbt2pXbt2oClc3Ps2DH2799PbGwsb7zxBh07dqRNmzZs3LiRtWvX0qFDh1xWln379uHj42NEh9+6dSt33HGHMUU/MjKSF154gfT0dBYuXMjEiROvcv51FlLE5peTnp7O008/zZNPPslQayoI+0ks9o7D+SkaBSkhFcF30NVp4v8u6YpUFBwfGvvef3Z2NhkZGbmmfLZq1YonnniCH374gccee+yqYZsnnniC8+fPc+bMGc6dO8fx48dp2rQpJ06c4MyZMzRt2pTU1FQOHTrEW2+9RVZWlhFDBizDU7ZAXV5eXtx00000qFyZD0+dIufgQZp4eNCzVy8yMjLYunUr+/bt49ixY3Tv3p21a9cC8OOPPzJ69Gi6dOlCu3btrnIcs5lKp02bZvjNHD16lDfffJPw8HAjNYPN8czm+GaPY54j2z2wZRmfPn26IfyL0vCu5eXs7Hx5zd661nLLMiVdX6WUU2uNiEwukROWIWxtIyMjgy+//JKePXuSlpbGkSNHaNu2LUePHiUuLo7s7Gxuu+02atSoweTJk8nKysLPz4/u3buzefNm1q1bx5kzZ6hRowZPPPEETz75JAsWLOC5554zZjQdO3YMk8lEly5d8Pb2ZtmyZVy+fJnbbruNqlWr0rBhQzZt2oSXlxc+Pj507NiRDRs20LVrV06cOMH8+fM5evQoXl5eRmA9EcHDw4NOnTpx//33s3PnThISEliyZAkeHh7s3r3bcDJu3bo1Q4cOZcmSJdSvX9+I3eXv709YWBj169fnzJkzrFq1igsXLjBw4EBq167N/PnziY6OZtOmTXTs2JHDhw8bTrtr1qxBKWWEnVi+fDlKKRo3bsxDDz3EZ599xrp16+jZsycnTpzA39+fDh068PTTTxMYGMhdd93Fhx9+yEsvvYS7uzv169cnMDCQZ555hvDwcMOpuGPHjuzfv9+IQbNx48Zc/2N6ejrLli3jlltuISUlhZ49e3L58mWmT59OXFwc3bt3N4bawGJh27Nnz1XpXmzWF3vFxyZzwsPDefLJJ/nxxx9p3779VVbrMWPGOLWyFnZYvaxYYa4Fl5NtVgRK0sSe11BUVlYWCxYsMBSXZcuWMWTIEDp27IiHhwfR0dE0btyY9u3bO3UuCw8P591332X37t2cPXuWatWqUbt2bXbt2kWvXr0YOHAgVapUITAwkOXLlxMYGJgrNsVff/1lOB0eOnSIum5ufHz+PDWBGXfcgXz7LWvXruXw4cNGcDCwKDWVK1emZcuWRrwde58UsDSmL7/8kkWLFvHcc88ZFpYGDRrw1ltv8cMPP9CxY0fjepyNHxf0P4SGhtKgQQPD4gNFa3jX8nIuqYZe3gTIdaivfaheb+BO4JeSPGFZIT09nSlTppCTk8MDDzxAbGwsmZmZTJ48mbQ0S/SMHj16EBwczPvvv0+jRo1o2bIlP/30E3379iUzM5Pbb7+djz76iJ9++ok+ffqwf/9+9u/fT3BwMGFhYRw8eJBBgwbx888/U69ePU6dOsXOnTvx8PAgOzubXbt20aJFC86cOcO4ceNIT09n27ZtLFmyhIMHDxoRl23TxytXrsxzzz3Hzp07+frrrzl58iQbN26kevXqlkzgZ87wxx9/sHbtWk6fPk1SUhIXL14kOTmZDRs2sGfPHg4fPkzdunUZPHgwX331FV988QW7du3ixRdfNKaNr1+/ntjYWP766y++//573N3dyczMJCcnh99++42IiAief/75XIHpunTpwvjx43F3d2fXrl0EBAQQEBDA0KFDOXbsGJGRkezcuZOzZ88yZswY4uPjAViyZAmtW7emd+/eeHh4GHLqvffeMzpIP//8M4899hgAL7zwwlUKhs3PsHXr1qSkpNCtWzfq1atn5O2yybwGDRowZMgQli5daoTagL/bmX2H0F5Oenp6MnToUOOdYU9+bbQ4htXLGzeUglOSJnbHsm2JG5s1a2ZYbOy16927dxuKT3R0dK6ZOmAJ8jd//nw6dOhAUlISw4cPRynFqlWr+PLLL2natCkZGRkMHTqUQ4cOUbt2be68807S09M5f/68MdZ9zz33cODAAZYvX05kZiZfi1DJzY14d3cO7tnDpUuXqFatGtWrVyczM5M77riDffv2MXLkSDw9PVm6dCnR0dG88cYbBAYG8uCDDxoxGO677z5mzZrFxYsXSU9P55NPPjEa/OHDh/n555/p2LGjcT9szsW2IR/bvcgvbHh0dDSvv/468LfjXFEUVVdfzuXNL6YiISJv2n9XSr2BJU5Whcc2bAF/h9+vX78+fn5+HD9+nL59+5KcnMxDDz3E0aNHef311/nll1+MODChoaEsXbqUzp07s2rVKk6cOMG9995LRkaGcVxSUhJ33nknffr04d1332Xv3r2Gr49tivZXX32FUoqwsDA2bdpkBPi0DYeZTCbq1KlDu3btiI+PN2YJ7dy5k7Vr1/Lee+9x+PBhhgwZwuOPP467uzsffPABTzzxBIGBgbz55pssWrSIe++9l4sXL5Kdnc2lS5f45JNP+O2337jjjjuIj4+nTZs2zJkzhx49eiAipKSk8PDDD/PTTz/x+++/07t3b0JCQli4cCEADzzwQK7ZQPv372fdunWICIMHDzY6mLZo6jk5OWRnZ3PkyBE8PT3Zv38/27ZtY8CAAYYf0J49e4zUJJs3b+bxxx/n1ltvNeLe2GQYkEsRiYuLo3bt2nz33XeMGjWK6OhoPD09SUxMpGHDhrlkfX5+MDZ3Bptfoj3X0sm7lmH18ka+Co51WnieiMjJ4q1OyZJfL/5aX2yOjqiRkZH06tWLJUuWMGTIEENo5fVQ7t6928hBVadOHV577TVycnJ49913+eOPPzCZTAwfPpwvvvgCs9lMSkoK58+fN+JH7N27lytXrhgzJJYvX86pU6dITEzE29ubhg0bMvPAATh9mgQfH745fZood3fMZjPe3t74+PgYwsxWZpcuXXBzc2PGjBns3r3byMBrs6bYTN628WabIudsDNmm3GVnZzNjxoxc8XNswanycoYzmUxXKY/Foag6+8/Lm19MBccHSyycCo/9sIWNBg0aMGvWLEPBePrpp9m2bRs1a9Zk4MCBpKam8vXXX/Paa68xbdo0QkND+eKLL/Dy8qJnz55ERETw1ltv0bJlS2PW0eLFi+nZsyedO3fm+++/x2QyISJUqVKF6Ohozp49i5eXFxkZGdx7771Uq1aNl19+mcDAQAIDA4mNjeXHH3/k3LlzNGrUyLDaNm7cGJPJxHfffUfHjh3ZsmULhw4d4q677iIgIIDWrVsTFRVFREQEGRkZBAcH06JFCyNAXp06dcjKyuLs2bOsWrWKsLAwevbsyfz58/nrr7949NFHDYVm8ODBPPjgg3h6ehIREUF6ejrvvfee0VmEvxVGW6fI1pZXrVrF6dOnefXVV3n11Ve577778Pf35+uvvyY+Pp4uXboQHBxMdnY2Cxcu5Pz584SGhjJ27FijE5aQkMDcuXMNf0PH2Ugmk4nNmzczfvx4XnvtNZo2bZrLCXj58uXMnTuXV1999ar/vKSfsWsdVi93OMvAaVuADGCP9TMbOAH8aV3PyO/YkliKmuHXFa41c6qz4zMzM41Ms/brIldnh05NTZW2bdtKTEyMjB8/XiIiIuSFF16Qrl27ysyZMyUlJUWee+45CQgIkFtuuUXatm0rlStXluDgYPH39xez2Sxubm4CiNlsNjL2VqtWTQAJCwuTnh06yIMdO0qVKlWkatWqUqNGDQkLC5Pg4GCpVauWzJgxQ2bPni1Lly41stxeuXJFEhMTpXnz5hIeHi7z5s0z6mzL8p2cnCzDhw83suQ6Xpv99/x+y+u7fTZwZ/sUFWf/matZ4DUFQyGziQPbgVTrkgYcA0YXpoziWkpS1hSFzMxMmTt3rvTt21eSkpKMtpSYmCjdunWT2bNnS3h4uERFRcntt98uixcvltTUVElMTJQBAwYY7WfFihUycuRISU1NlUceeUTMZrNERUVJ5cqVxWw2S4cOHaRmzZoSEBAg8fHxkpiYKImJibJ48WIZMGCApKamXtUeRSxtxHa+LVu2GPsMGjRI4uPjJSEhQZYuXWpky+7WrZt07dpV3nrrLWnUqJFUr15dfH19ZejQodKuXTvp37+/pKWlSVJSkgwcOFBSU1Nl8eLF0qxZM+nTp4/MmzfPkKWpqanSrVs32bp161VyJi0tTUaMGGFk4R45cqRMnDhRIiIiZPTo0VK3bl1p1KiRVKpUSdq3by/JyckyaNAgp9dpKzMxMVEiIyMlOTlZdu3aZZSfmZlpnN+WxfzChQu57tGKFSuka9euEhISYhyf13vHdj77cq835UX25SVrXBU8/wG62X1PAP7tyrHFuZSk0MnvJVzY423fbcJk165dsmLFComOjpYVK1YYx9iUngsXLkhiYqLcfPPNYjabpVmzZjJ79mz55JNPpGvXrvLJJ5/IhAkTpHr16mI2myUoKEh8fHwMBaVBgwYSExMjQK7F3d1d7vH2li9A6tauLbVq1ZLKlSuLr6+v9OnTR9q0aSMRERHi7e0tgwYNkunTp0twcLDMnDlT0tLSJDMzU9LS0iQ1NVW2bNkis2fPNgSPs/vlrCE63oeC7q1jg7cJybS0tKL8rYX6z/LiWpXfG5UiKDihdksQ4F6Y44tzKWsKjojztmB7hi9cuGAoQBMnTpQBAwbIoEGDcr2w7dtoZmamLFmyRG6++WapXbu2REVFSXR0tHTp0kVmzpwpixcvlsTERHnggQdk4sSJ8tlnn0lqamqenYxdu3ZJv379pFGjRtK3b1/jhZ+WliaJiYmSkJAg7du3l7p168qcOXOkXbt20rZtW4mLi5OYmBiJj48Xs9ksTZs2lbZt28r06dPl888/l61bt0pqaqokJydLfHy81KlTR0aPHi1RUVGGLLUpOLaO2YoVKyQ1NVUGDBggiYmJkpSUJCNGjJClS5dKcnKynDt3TubNmycPPvigzJ07V7777juZMGGCpKSkGMclJSXlkmf212uvvNhvL0hO7Nq1S0aOHCmLFy+WuXPnXnV8XjiWW5j3kyv75rdPeZF9eckaV31wWovIQ3ZWn5XW2DhlHleHnuzNd0WJwug4/LR7927mz59vpCK4ePGiETzKZjZdvXo1Tz31FB07duSHH36gUqVK9OzZ05jWPWPGDESE//u//+P33383sveazWYjV8uxY8fw9PTE19cXb29vLl26ZDgVj/Tw4K2LF/nRzY2qvr78/ttvKKUAWLt2LaNHj2bNmjV4e3tz4MAB9u/fz9mzZ0lKSqJLly5kZGQwefJkzpw5Q3x8PMeOHePMmTOGk/G0adO49dZbjSE4Z/fNMd+JszhBtsRxDRo0uK4zi1wdxy5vs51KipLyT7IbCndMy1DZmn+pXA2FlxS2mYa2NC/204Czs7Np164dwcHBLF26lPvvv9/ws4iMtGSmdgxXsWrVKl5++WUjx11OTg4ffvghwcHBuLu7Exsby7Zt23j11VepXLky//vf/2jcuDFgade26LmxsbFkZ2dTr149kpKSaNWqFTNmzCA4OJjo6GiysrK48847admyJUePHqV27dokJyczbNgwUlNT+d///mfkfWrRooUxceHo0aM0atSI3r17s3nzZkaNGgVAYGAgUVFRRrwwAD8/P0SEJk2a8O6773L33Xdz5MgRFi5cyAMPPECPHj1YsGABbm5uREZG5nLSTU9P59ixY1SqVImQkBCio6OZP38+hw4dYsuWLTz55JPA3xHUAX7++Wduv/32XJMlCpITttlRtgkXNv/EvGSQ/UST/EKP5Icr++a3T7mXfc60HscFi6Pf80CYdXkO+MKVY4tzKUqvqiga6LWa5a5cuSLJycmGaTgtLU3i4+OlefPmhgUkLS1NUlJS5JFHHpGqVauKp6enREZGSr9+/WTy5MkSFxcnAQEBMnLkSImKihKllACilJKAgADx8vKSqlWrCiDe3t4SExMj7u7uhvVmDIiAbPD1lQbBweLh4SGenp7i7e0tgNSpU0c+++wz6devnzz//PMSHx8v48aNk2rVqslbb70lmZmZkpqaKnPmzJG2bdtKQECAmM1madSokfTr10/mzp0rs2fPzmWVcmV4x1nPb9CgQTJo0KB8zbRl3UR6I1DYtoSLFhzK2FC4lFELjsjfFlHbELIN23+TlpbmtL3k1w7tj12xYoV069ZN6tatK0lJSbJlyxbDonPhwgVDdtmszzaLyfDhw2XQoEFiNptl+PDhUqdOHZk5c6YkJiZKu3btpG7duoacsFmikpKS5KGHHpLZs2fLhAkTJCIiQhISEmT27NkSFxdnDJkPGzZMkpKSDEvOgAEDpFu3btKtWzfDorVixYpc221Dc3PnzpURI0YY9bYNPTnKKNtvb7/9tkREREjLli2lb9++hqXGfrjKfvjL1h6KYlW5cOGCYcF3NhyWl+X7elpwygt5yRqXUjVYe1gTgfbWF+gGYLJc555VUcKn2/c6wXk6+cLgLL+RI7Y8Hy1atGDIkCGkp6fz8MMPk5GRwbBhw+jVqxfPPfccOTk5nDt3jgsXLnDrrbdy9OhRvL29uXjxIp6enqxevZoGDRoQFRXFmjVr+PPPP7l8+bJhoenRowfr1q3jr7/+MqYghoWF0TM9nTeAxe7uPBscTNXAQBo3bsz27dsNR8LLly8TFxdHcHAwixYt4ty5c4SFhZGcnMzs2bON3qKIcM8995CVlcXRo0dp2bIlK1eu5KOPPuKVV17B09OzSLme7P8fewtOUWdJaUqewv4vRUjV8B9giYissH5PAHqJyMgiV7qIlIW0MM6w5bCzpQYoKGeRKyllgFzrO3fuZN++fYSGhjJr1ix69OhBSEgI+/btY9GiRUYEcpv1IyQkhNdee4358+dz5513cv/99/P000/j4+NjWIZ69eplBKWzlR8bG8v+/fvJyspi8uTJdOrUyQiG9/LLL3PfffeRlJREz549CQ4OZty4cVSqVInBgwcTHBzM3r17iYiIMBx1d+7cSUZGBiEhIcbkhMjIyFwxXxwjptvYuXOnUefY2Fhat27NoUOHjPPbZoDagn063uO8rCD5/Q8rV65k7NixPPHEE6xZswYRMRIar169miVLltCjRw8iIiwxL53NMi2IG0WW5ilrnGk9eS2Ab2H2L+7lWntVxTGe6MyXxhGb819CQoIxbp2SkiKjR4+WoUOHGo6Bs2bNki5dukhkZKSsX79e7r33XvHx8ZHw8HCpUqWKRERESExMjNSuXVtCQkKkevXq0rRpU2nWrJl4eHhIrVq1xMPDQ6pXry7u7u5iMpnE09NTot3cZI6vrwRWry4+Pj7StGlTmT59usTExBjOg5MnT5aoqCiZO3eubNmyRSZMmCDh4eEyYcIESU1NNcbPbb01m4aflpZm9IxsTn7FfY/Ly7ivJn8ogpOxK9uux1KWLTj59badWRec4Uobs1kRBg4cKN26dTMst46+OElJSdK1a1dp166dbNmyxXA2TklJkcTEREOe2Opls9ja5MuSJUskISFBtmzZ4tSyYSuvf//+kpiYaGwbMGCALF26NJdD8IgRI2TevHl5Wm22bNki7du3ly1btuS61rS0NBk4cKAkJydfZeXKzMyUpKQkSUhIkP79+xuTKezvkzNZabvPI0eOvOoYkdw+mLbJGjaLmL1jdH6WuYIojRGM0iAvWeNqLqo2wH+x5IYJUUo1AUaKyCPFon5dJ4pjPNE+XLezIEw2jVlE+PXXX9mzZw8AycnJfP311zz22GMcOHCAnJwcmjVrxueff25kBl+zZg1Vq1alfv36rF27Fh8fH/r27cvp06dZuXIlw4cPJyMjg8WLF5Odnc2xY8fIzs7m5MmTmLKzuQeYn53N/kqVeKVqVf48fBiAzMxM3nvvPcM/p3v37tx2221cunSJRYsWUb16dTZv3kxwcDA1atTgpZdeYuLEibl6Ri+++KLRczp//jxt2rQxrDZZWVl8+eWXhIaGEhkZeVXepsJS2P+ppHspN0ovqAzwh1LqeWCR9fu9wB+lWJ8yhzO/MWeWhLzCLthwpY3ZYrqEhoYaKQiSk5ON4J02i4nNt2Xs2LEcPHjQSH3QqVMn1q5dy4QJE8jIyGDatGncddddjBs3jgMHDpCdnc3LL7/M2bNnUUpx6NAhkpOTjUB0ERERRt6mnJwcHnzwQUJDQ5kxYwYxMTGcP3+euXPncvHiRWrWrMnEiRPp1auX4fMHMGXKFM6ePUvlypWZNGkS+/fvZ+/evezfv5+mTZsa19qgQQNefPHFXG3c/l5HRETg5+dH586dWbp0KYBhQUtPTzesKxkZGcb9N5ks2cLvuusu5s+fn2saO2CkrUlPTzd8cSIjI6+KU2OLXZORkeHyc1KY/9mRChUqw5nW47gAPwB1gC1223a4cmxxLmWpV5WXZmzT2G3TKxMTEyUuLk6qVasm/fr1k/Hjx0t4eLi0b99eRo0aJWazWbp37y4fffSRBAQEiK+vr/j7+0vbtm3Fy8tLqlWrJiEhIdKmTRsZO3as+Pj4iI+PjwBSqVIlqVGjhtSpVk2WW31u2ll9cAICAiQ8PFyGDh0qY8aMEV9fXwkKCpJp06YZvZ9GjRqJ2WyWRx55RPr16ycTJkyQ+Ph4iY+PN2Zd2Hon3bp1k4EDB0pSUlKuWRm2Xl7dunWlW7dusmLFiutufSlpi4+2KBUNCm/BqQq8BWyxLm8BVQtTRnEtZUnWFIS9leBapxTn13u3/80mE+ytOrZp2MnJyZKcnCz9+vWTbt26Gb/ZWyhGjhxp+NXYfref4WXvb+Lo/7JixQoZOnSovP322/Lpp59KfHy8LF269Cr/FHvfGtvxthlXqampBV57XjNF7X2gHK03tnV7C5r97DdnPoiuWtIc/a5KiopkwXFZwbF+brHbts2VY4tzKUtCJ6/GkJmZKcnJydK3b195/vnnJS4uTvr16yfu7u5SuXJlqVGjhgwaNEimTZsmbdq0kSpVqsi0adNky5Yt8tZbb0loaKh4eHjI2LFjpU2bNtKoUSNxc3OTu+++W8LDww0nYm9vb+nbt688cs898p2bm2SDvFinjgQFBYnZbBaz2Sw+Pj4SExMjUVFRRlyce+65Ry5cuCCLFy+W22+/XUaNGiVDhw6VyZMnS+/evaVFixayePHiXKZReyFhb2q2NUybCdfeFF2Qk2NR73NR97mWc5THBl8WKKyCU5aWsiRrCqI4X4CuKvO2oeq3334713CQvSLi+LK3DbPYKwlFGXrJzMw0hqFs0+Adw0jk1WbzmwjhOKyX171wVPTsh9vsY+g4ykxnU8kdFThn58hvmCu/a72RuFYF5zOgDfAz4AGMBT5y5djiXMqy0LG33MyePVvatm0rNWvWFH9/f2ndurVERUVJXFyc1K9f3wjWFxERIU2aNJGYmBjp16+fzJ49W+rXry8eHh7y9NNPy8CBA8VsNsttt90mcXFxUrduXTGZTFK9enWJjY2VMG9v2ebmJpkg93l7S1RUlFStWlWio6MlNDRUTCaTNGzYUN544w0ZNmyY9OvXT8LCwmTu3LmydOlSiYiIkDlz5khycrI89NBDMnHiRAkODpbZs2c7VWRs5NUobb858/YvqhXkelhPtIXGNQorSF1VcIDp1s8kYJnj4koZxb2UZVljj33Hqjhecvb/sWNwUmfny09OOCvT8XjH41x5xnbtch5czx5X42fZK4eOypYryoftPFu2bJG5c+fKgAEDJDk5WR5++OFc1mxn/1N+/lL2MqkgZc1mOctLASopypJida0KTgDwPnAUS3TRRaVhOi7LQsfWUBISEiQ8PFxGjRolw4YNk2rVqsmDDz4odevWFbPZLNWqVZNKlSoZlpZBgwZJUFCQjBo1Srp27SoNGzaUSpUqSVhYmPj5+YnZbDamg3t4eEilSpWkSpUq4uvrK3Egp0B6+/hIWFiYNGzYUJo0aSLTpk2Tp556Snx8fCQoKEi6dOki8fHxMmrUKImJiZGuXbvK5s2bZfTo0dKnTx9ZvHixJCcny+bNm6VFixbSr1+/q8yvBTVIG/bCx77hFVUAX49GVJYaalmmsIpgIRSc5tbPDs4WV8oo7qUsyxp7SlI5dzahIq8Xr6sWE3v54Ow4x9+dkZdSZx+Az1UFpyDriO167ZUfx3uQlpYmc+fOlaioKOP8Nufh/Dp4zsrO6745u357y9j1HMJyrH9Z6Bheq4JzuyvbSnopC0Inv6EpW2ybkSNHSkBAgNSvX1/8/PwkKipKateuLY0aNRJ3d3fx8/OTBg0aSFRUlPzrX/+SunXrym233WakaoiMjJSqVauKl5eX+Pv7G7Ol6tevL82aNZMxI0ZI7969xWw2yy116si4ceOkbdu2EhgYKM2aNZMWLVrILbfcIm5ubuLm5ibdunWTmJgYMZvNEhkZKfHx8Ua8hxYtWkjbtm0lPj5eZs+eLf369TNmPtjGzB1NtvmZlW2K3siRI3M1vKLOAtCUHUrKguNsAW4Cbinq8de6lAVZ4wolqZznZ8Fx1SrrbEjGFjfHPt2Cffn28V/yw1HRmDx5slSpUsVIJ5OXldnxfM6UC8dZUc5i3tj/Zhvmtyk1+Vlu8ru/BdXN/rrtZWppdNLKUsfwWhWcn13ZVtJLWRA6jg3W9t1mjlyxYoXcfvvt4unpKeHh4VKtWjW57bbbpFOnTlKnTh2JjIyUZ599VuLi4iQ6OloaNGgg7u7u0rRpU5k6dapERETILbfcInFxcXLTTTdJVFSUBAQESO3atS0KCcgRkLt9fQ3rzsiRI+XDDz+Ut956S5599lkJCgqSvn37ioeHh/j7+0v16tVl3LhxMn78eCNPzenTp2XixIny8ccfS9euXQ3Lzbx58yQ1NVUGDRokAwcOzNWzKYrQcMXqo6mYFMHJeB1Q2epsnGGd3DC1MGUU11IWZE1ZJ6/OnjNLhP2QVlpamrz99ttGugVXyino/GlpadKvXz+ZNGmSkf+pIAuJs6ndNgXLlurCmSXbhn35zoLy2RSYvJS1ghTEvH4v6v2qyBRJwQFuA54CDgBj7JZJN6qTsbOHy9GhbMmSJdK2bVt55ZVXpG/fvhIXFye+vr7SvXt36dOnj0ycOFFmzJghtWvXlho1aoi7u7u0adNGbr/9dnFzcxN3d3fx9PQUDw8PAcTHx0dMJpPEurnJWZA9Skn7oCAj2aaPj4+0aNFCEhISpG3bttKsWTMZNmyY+Pv7i4+Pj/j5+Ul8fLzMnTvXSBJnMz8nJydLUlKSMRtixIgRkpqaajgNF+RLk59Qc9XkWtJoAVA6FEHB2WL9HA68aF1PLUwZxbWUBVlT3sjvhe3YEbRZiG1y81pivYg497mxKRipqalX1cs2C2zAgAG5fGVsQ1ZJSUm5Zj0VpGjk1anLb7itILnkqtwqS0NFpUVRFZwOWCIYH7Z+2pYxQL38ji2JpawKHcfGlZmZKXPmzJHIyEhj1pPZbJb69etLnz59xGw2y5tvvinDhw8XLy8vQ5EBJCQkxFj39/eXSpUqiclkkgGennIRZDtIiLu79OnTR+Li4uTDDz+U559/Xj788EOZOnWqxMTESNOmTaVWrVoSHx8v9evXl4YNG8pnn31mjA07Zjd3ZnJ1tFLl5UuT39hyWWlw17M+royd3yiKVhEUnO1ALeBLoKUUg4ID9MeSmTwHaOHqcWVV1hSV0vZlczZU42hhuRYrr7Nz28pPTU29aijIFtgvv6SatnV7uekKBQ3lF3cH8EaTK8641iGqUFf2K+mlKEKnuP98Z+XZe9InJycbFpyaNWtK3bp1c2X49vX1FXd3d3n22WclODhYAGnatKkMGTJE4uLipEmTJlK1alVp0aKF3HTTTeLt7S1DmjaVbKVkb2CgBJnN4ubmJv7+/jJr1iwjYrItW2+dOnXkhRdekGbNmhnOyAEBATJ79myXTb6OSozNbOvMia2sWWuccT3r40ovtqwofoWlpH1wrMpIKvC29XsE8HlhynBSZhTQwDr8dcMqOGXx2ctvqKUg/xRXy7ePv2N/7fmV7zisXtjYXgW1k/LQKSxvXKuC8xVQxe77TVTgZJv5YR/rwFHTT0xMNILyRUdHS0xMjKxcuVKio6PF29tbTCaTANKmTRsZPny4VK5cWdzc3MTX11eio6OlevXqUrlyZRk/frz8+eefhq9OtapV5clKlaTNLbdI//79pWHDhobSMmDAAGnbtq0sXrxYtmzZIomJiUaCvJtuuskou0+fPnk69eU1/OS4X37+N9eqRORl7r2eFMd5K7IFp7Bt6VqcjIt7udEVnOJsn9cDxxlcRT2/vfXZmXXH/ll2VGzs4/a4Yolxte274qtUXmVEaXGtCs4WV7aV9FIWLDg2BScxMfGq6JRbtmyRhIQEef7556V27doSHBwsffv2FW9vb7npppukfv364unpKcHBweLn5yf16tUTpZR4enpKWFiY3H777eLh4SFt27aVqW++KS9XqiStfH3Fz89PwsLCxNfXV6pXry4DBgyQrl27SkpKisyePVu6du0qS5YsyTXzyZZfqkuXLrJ48WJjGqNjDi37hl6Unocrv7mC/fGl1ZvRvaj8uQ4WnPrAaqxR0oFbgOcLU0Y+ZReo4AAjgBQgJSQk5BruVMWjuNtGQc+So4WloPPnVV5hthc0tOSIY52KQz5qGVQ0rlXB+QkIsfseWpFnUbmiYdtmGtnGd23TolNTU+XDDz+Uhg0bGrFr7Ieo2rdvL61atZL27dtLUFCQ+Pv7G79VrlxZ/P39RYHMr1xZBGSmj4/UqlVLWrVqJWazWYKCgqRWrVoyaNAg+fzzz6V///7Stm1badGihcTHx8uAAQNk3rx5snXr1lzJ4/IyyRam55BfL0RbcDSOFEHBWQ/cSiFTwgBfAzucLD3t9rmhLTjXSnG3jcK+yK+l8+UqrlxjUWWgq/dPy6CikZesccM1ngO+UUotVEotAjYAz7p4bLnDlmxs9+7d7N6920gmOW3aNDIyMoyEbOPHj2ffvn189tlnNG/enPDwcDZu3MiIESPYtWsXADk5OUa5kZGR1KxZkz179rB9+3ZatWrFhQsXAHB3d+fKlSvENGrE+tBQhpw9y5tK8diFCxw+fJgffviBixcv4uXlhY+PD4mJiUybNo2OHTvSsWNH/vzzT8LCwmjXrh2bN2/mwIEDKKWMpJfp6emEhoZiMpnIzs5m9+7dZGdnGwnl0tPTmTRpErt3787zvtj2tSWYmz59Ounp6Vf95irO6mEymQpVln0Z10pRrkFTrPiIyGaHbVcKOkhE7hCRRk6WxBKq5w2HfeJJV9pbQe2yOBIfl2R5edXfXu453hMgT/nhqmzRMqh4cUnBEZFVQDPgY+AjLJFHvyjJil1PHB9mW2MBmD59OqtXr2bJkiXExMRw8eJFli1bxlNPPcWGDRtYsGABt956Kz/99BPr1q0jKSmJrKwsABo1aoS3t7dxHrPZzOeff05QUBBXrlxh48aNXL58GQA/Pz9yLlxgwtattNu3j0XR0fzQty9Vq1alSZMm+Pr60qRJE6pXr07//v1p1qwZnTp1Ys2aNaxbt47WrVvzxRdf8Mknn9CzZ09iY2MZPHiwkWF4ypQpTJkyhd27d7Nq1SomTJjAqlWriqwYuCpQ8hN0jkpSUSiOMjRlhhNKqbpYLJoopfphmcGpuc648oLPj4L2K+yL3LE8x/rlV56rnSD7c+RVf2dyT8ugMowzs478bdZtaP1s5mzJ79iSWIrDbJzf2KujedM2rHP69GmZPHmy9OnTR9q3b29EDa5bt660bdtWtm7dKmlpabJ582YZP368tGrVSgCpVq2aAOLu7i4eHh5Sp04dMZlMEhAQYCTExG74ysfNTb52c5OHQaKjo2XmzJnStm1badOmjfj6+oqXl5dUqVJF4uLiZPTo0UZCz8DAQImLi5NJkyZJ//79jTFk23hyamqqEZ3YliSvffv2MmDAAOOaS8o0WpDjcmFMwkX5XVN6UPghqggsw00XgEPAN1zjDE6gN3AQyMSSasalyRE3+hBVXu22tIZaHMsrzJCUq/sWdZi8OK+1oMkcGufkJWuU5TfnKKX+IyIPKaXWOteNpPM1aVeFpEWLFpKSknJNZezcuZMpU6bwwgsvEB0dDVg0/PT0dEMrt62np6czbdo0goKC+OCDD4iNjeXo0aPcc889rF69mnfeeYdq1apx3333ERMTw/jx4zlw4AD+/v4cP37cOKebmxtms5nq1atz7NgxLl68iJubGzVr1uTIkSOE+/py8fJlrlSuzPFjx/Dw9OS+++7j0KFDPPjgg6xfv57du3dz6623UqNGDU6ePMkHH3xAcHAwY8aMYe7cudx1110MHjyYjRs3EhsbC8Dq1asJDg7m5ZdfBmDSpElERkY6HRZyFft7ZX9cYbe7yu7du5k+fTpPPPGEYQ7WlA+UUj+JSIsiHOeLxbp8ARgkIu8Xe+UKoDhkTXnmWtttSVOY+jnuW5avbffu3UyaNAmwyGst81wjT1njTOspq0txzKIqKAmbveUjLS1NFi9eLF27dpUJEybIsGHDJDExURITE+Wbb76RDh06iMlkEnd3d4mIiBB3d3cxmUyilMplmQHE09NTQkJCpHPnzhIWFia33HKLAFIHZBfI1yCtbr3V2LdevXpSs2ZN6d69u1SpUkUmTZokn332mbRo0UJ69eoljzzyiBG8Lzk5Wfr37y9z5syRAQMGGFE47a+juHoEefWGSsr7X1toyi+4nmyzMhafvllAF0ABo7Gka0h0pYziXm50C05xUFbbblmeqZSfBaes3s+yQF6yJl8fHKVUn/yW4tK+ShLH8dEGDRrkqxnbxlizs7OZMmUKf/zxB7/88gvR0dG0bNmS9PR0hg0bxoABA9i6dSuNGzfG3d0dPz8/zGYz2dnZNqENWKw3AFlZWezfv5+1a9dy4MABTpw4QUNgs4cHgUrx3zp1aNe+PVWqVMHLywuTyYSfnx9paWkMHjyYnj17Mn36dNLS0jCbzaxatYp33nmH/fv3Ex4ezl9//UViYiJHjx5l4cKFAIbVIzo6mujo6GLprYSHh9OjRw/Debmg7deKdrq7IViIJRjfduAhYC2WoH+9RaRnaVbsRudanPjLqm9KcTskFycmk8mQ15Dbobus3s+yjHsBv99l/awBtAHWWL93Ar4DFpdQvYoNx4fZ3vPdGbbfd+7cSU5ODpcvX6ZGjRocOXKEN998E3d3d06dOmU8dGlpaVy+fJlt27YREBDAuXPncpVXv3590tPTuXLFMhnEw8ODKlWq8ET79gz79FOyc3KINZlonpDAqVOnePzxx1m9ejXnz5/H29ubO++8k/Hjx2MymRg4cCBgUVyOHz9OUFAQ2dnZREZG8vrrrxtKVHh4OJGRkWRkZBT6fhVkvs3IyGDZsmVERETkuo95bddoXCBCRBoDKKX+i8WxOERELpVutTS2l2pRhojLqiJR0DugrOB478vq/SzL5GvBEZEHReRBwAOIFpG+ItIXuNm6rczjzAJg65VkZWXl2TuJjIykc+fOfP755xw5cgSTyUR4eDjVq1enUqVK+Pr6ArmngZ84ccJYr1q1Kt7e3mRkZODl5QWAUgp/f39O/fknvZYtw93fn4G1arFVhGrVqvGPf/yDPn36MGjQINzc3Dhy5AgpKSns37+fjIwMduzYwfjx42nevDndu3fHbDYzc+ZMY8qip6cnK1euBOC9997jzTffLLS2X1AvwdbIwsPDnc48K+7Gl5WVxcqVK8nKyirWKeGaMsVl24qIZAMHtXJTNsivXRfUHrX19drIr3Ou5aBruBoHp46I2E/XPAqElEB9rgu2l/jq1auNeDc7d+5k586dhtKTnp7OmjVrUErxz3/+k1tuuYXatWtTuXJlzpw5w4ULF/D29r7qIfPw8MDNzY2TJ0/i7+9PVlaWEevGw8MDDw8PfP38WHLffcy97z5+AyIiIvjtt9/YtGkT//rXv1i+fDk+Pj489NBDvPTSS2RnZxMeHs6TTz5JXFwcYHnAw8PDc01nz87OpkePHmRkZDBt2jRatmxZaIWjIEXF1sgyMjKuOQ6OK6xevZqxY8eyevVqbaItZUpQwWyilDprXc4Bt9jWlVJni/tkGtfJr13r9liy5HXv9X13nXxnURk7KTULqAd8aN00EEgXkcdKsG5XUVwzG2zDMOHh4WRkZBj+NiJCbGwsP/30E48//jh79uzhvffeo2HDhrz77rscOnSIGjVqcPnyZerXr8+ff/7Jvn37AIx4NnXq1OHAgQMAeHt7o5SiXr167Nixg4d9fWlx6RKvRUTgZjJx+vRphg4dSkxMDG5ubixcuJBGjRrRuHFj/ve//6GU4tFHHyUpKYmePXvSsWNH1q1bR3BwMHPmzDFMl7bryc7OZubMmTzyyCPs37+fkJCQYvO9yeselvTMhKysLFavXk1sbKwRYLAszn64ESjsjLaizqIqC9zos6hc4XrMRipPM6CuB7ZOBuQdVPBGJC9Z42qgv9HAXKCJdZl3vZWb4sSmGXt6etKgQQMaNGjA+PHj6dChAytWrKBWrVoEBQUB0K5dO2bNmsWhQ4cAOHbsGGfOnOGnn37ijz/+wMvLy1BuTCaTodwAXLp0yeLJ7ebGolatmH3uHPWAlo0bc+bMGQIDAwkMDOTjjz/Gzc2NEydO8P7772M2mxk1ahQiQlZWFnfddRdLly5l0aJFjB07lv379zs1XTZo0IAnnniC6OhoIiMjmTNnTolp+Y69i5LqVXh6epKQkICnp6c2eZcy2gdAY8/1aI+OcuVGt16kp6czc+ZMI+K7Jn9csuAAKKVCgXoi8rVSygcwici5go7Lo6z+wCQgCrhVRFzqKpVUryo7O5tVq1Yxa9Ysjh8/ztGjRxk2bBgff/wxkZGRbNy4kXPnztlPawUs6RWUUvj6+mI2m/nrr79QSnHmzBk8PDyoW7curVu1onFiImNOn2aVtzerhgzhTGYmrVu3JjAwkEWLFnHs2DGmTp1qKFHx8fGkp6fz9NNPU6lSJSZOnIjJZCIkJIR169YRGxuLp6enUXdnMXzs169HQ7jRe1aaq9EWHM21oi04ubnRrz8vrsmCo5R6CPgM+Ld1UxCw9BrqswPogyWnVamze/duZs2axfnz5+nSpQthYWHccccd1KtXjzVr1tC6dWu6d++Oj49PruNMJhNXrlzBz8+Pm2++mYSEBMLCwqhVqxbe3t4cOXKEuPXrGXP6NHs6dOCV5s0Jj4pizJgxDB8+nISEBDp37ozZbObQoUOsXLkyV4/olVdeYeLEiYZ1xmw2G9YMG3mFF7+W3lVRfC20daXsoJ2xNeWdvIZiSlPOlIV2peVs4XDVyfhR4HbgLICI/IZl6niREJFfRCTvrI6lgFIKgG+++QZfX18WLVrEt99+i5ubG+vXr2f16tX89ddfuY7JzMwkMDCQOnXq0KZNG7755hsOHTpEYGAg3bp1w9fXl4zQUD4MCmKkycTegweZPn06Bw8exGQykZGRwZo1azh58iTBwcGG+b8wZkj7YQP79YoYv0LjGvr/05R3yuIzXBbrpMkfVxWcTBHJsn1RSrljTYhX0iilRiilUpRSKfbpD4qTBg0a8MYbb/D0009Tu3Ztmjdvzvvvv8/Jkyc5f/48ly5d4vLly4YSZI9teOrmm2/mmWeeYeLEiQQHBHDLwYP07t2bGbt2MSY7mxqBgZw8eZI777yT2NhYsrOzyc7OplOnTvz555/88ccfhmZuC5p3+fLlQmX4tudaGmNRfC3KQu9GY0H7ymjKO648w9db5uh2Vf5wVcFZr5QaD5iVUl2AT4Gk/A5QSn2tlNrhZClUZFIRmSciLUSkRfXq1QtzqMvYlITIyEgmTpxIrVq1uHz5spEJ3Db2a+9/4+XlRWRkJL///js7d+7knXfeYdWqVXRq3pwPT5/m2U2bGBkbS7169XjuueeYM2cOr7/+OsOGDTNmA82cOdNwYrZN/4a/g+bZOyy7gr1Scy2NsShmUN27KTtoM7amvJPXM2yv1FxvmaPbVfnDVQXnGeA4llDqI4EVwPP5HSAid4hIIydL4rVVufhwbCwzZ84EoE2bNgQGBnLp0iXc3NyoU6eOEdDPZsWJiYnhoYcewtfXlytXrlC1alVqurkR8dBD+G7Zgsyfzz4PD4KCgujcuTP+/v507NiRf//737kUkAYNGhAREZGr0dh+i42NZfDgwS4rKfZKzfVujLp3o9FobJSUdcVZJ84x6OiNhLac50+BCo5SygT8IiL/EZH+ItLPun5dhqhKiuzsbL788kumTZuWq7FkZ2fzwgsvEBgYSNWqValbty579+7Fzc2N1q1b07JlSwC2bdvGsmXLaNq0Kf379+fw5s28mZKCV3o62Z9/zm8tW7Js2TKGDBlCeHg4K1euJCQkJJcSkJ2dzVdffWXUwYZNOdm/fz/Lli1zOeVCafYwdO9Go9HYKCnrirNOnGPQ0bJESSsg2nKePwUqONbQ6buVUsUWuVgp1VspdRC4DViulPqiuMp2lfT0dJYuXUrPnj1zWR2ys7M5e/YsWVlZDBgwgIMHD+LhYclKsX37dn755Rfc3Nxwc3OjX79+jBs3jldffZWZ8fFUPneOcTExbA8JISsri+7duxMcHMyaNWsYO3Ys69atIzw8nC+//JKdO3cyZcoUFixYcFUdbGiriEajKY+UlOxy1pEqy3LSVQWkqIpQWb72soCrkYw3ADHAZsCYSiQiPUqualdTnLEpHOMJ7N69mzfeeIPg4GC+/PJLdu/ezbhx44wUCufPn+f06dMEBAQQHh7O2bNnueeee/hu3TqenzyZ6OhovnrvPUZNmcKYMWNYvnw5OTk5uLm58X//938cPnyY2NhYI/XAa6+9ZmTedtXyoWMgaMoTOg6O5kbHVZld2CjhmtzkJWtcVXA6ONsuIuuLoW4uU1JC5+LFiyxYsIALFy4wdepUbr31Vr744gsiIiK4cOECNWrU4IknnmDbtm0sXbqUM2fOULVqVbqYzTyTmsr5RYuI6NvXSCtQu3Zt/vWvf9G+fXvWr1/P4MGDiY+Px2Qy5Uo9YB/PxhVsVp8XXniB6OjoYr8PGk1xohUcjcY1dOf12shL1rgXcJA38DAQicXB+H8icqVkqlh6LFq0iHHjxhEfH8+lS5f4+eefyczM5NixYxw7dgwvLy+8vLxYv349J06coFevXtT48Ucmbd3KleBgqjVvDvydViA7O5sXX3yR8PBwwsPDWbp0KZGRkUZ6iISEhFK+Yo1Go7nxKKuKhH2mcE3xka+CA7wHXAY2AglANPCPkq7U9WbAgAGsX7+eI0eOEBISwrlz58jJySEwMJAqVaowYcIEIiIiqFSpEnXq1KH3pUvcsXUrWdHRmNeuBYfp6/YPa1xcHBEREcUyRtqgQQMmTZqkx1s1Go2mCNh8YvRQ0I1BQU7G0SJyn4j8G+gHtLsOdbrufPfdd3z//fdcunSJYcOGMXLkSLy8vEhNTcXd3Z3GjRsTHR3N6NGj6aoUcQsWcKZRIzw3brxKuXHE0SnuWrzq9UwljUajKTraKffGoiAF57JtpSIOTdmIjY1lxowZjB07lg0bNhAeHk5ISAje3t50797dMGcmJCRw73/+w4nHH6fKd99huummQp9LT+vTaDSa0kF3Em8sClJwmiilzlqXc8AttnWl1NnrUcGSJjs7m4yMDOLj46lfvz5KKSNDuK+vL9u2bWP1V1+R869/YfrzT6KbNqXa1KmkHzpUJCuM7kFoNBqNRlPy5OuDIyIVXs1NT09n6tSp9OrVi9jYWCZNmkRWVhYRERE8+OCDuAOVx4zB7ddfwcsLxoy5pnFc7Uym0Wg0Gk3J42qqhgpLZGQkvXr1IjExkYyMDCMTd/v27Tlx8CAxL7/M7b/+Ss6ECfDkk8Yx2gqj0Wg01w+dlkBTWAqaRVXhMZlMxMXFERoaajSg5557jp0//MA7p07RKieHI+PGEfjii7mO0VYYjUajuX7oGVCawnLDW3DAorCYTCYj2eYrr7zCjFdfpUmNGuybPJnqL71UyjXUaDRFQSn1ulJql1IqVSm1RClVpbTrpCka2nKuKSwuRTIuK5RkdFEjAJSfH6bq1cHDA7KyoJDRhou1LmUsGJVGUxjKQiRjpVQcsEZEriilXgUQkWcKOk5HMtZoyg95yRptwbFiMploYDJhatMGRo+2bCwF5Qb0VHKNprgQkS/tQlxsAoJLsz4ajeb6oRUcG9u2Qdu2yF9/sTcurlQd2bQpVqMpEYYCK/P6USk1QimVopRKOX78+HWslkajKQm0ggPw7bfQoQN4eLB3wQJe/frrUrWe6GBUGo3rKKW+VkrtcLL0tNvnOeAK8H5e5YjIPBFpISItqhcQoVyj0ZR9bvhZVFy8CP36Qc2a8NVXhAQF8UQx5Y7SaDQlj4jckd/vSqkHgDuBWClPTocajeaa0AqO2QxLlkBEBNSogQn0FESNpoKglIoH/gl0EJELpV0fjUZz/bhxFZx//xsuXLAE72vdurRro9FoSoZZgBfwlVIKYJOIPFy6VdJoNNeDG9MH55VX4OGHYfVqyMkp7dpoNJoSQkQiRaSOiDS1Llq50ZQrdATnonNjKTgi8M9/wrPPwj33WIam3G6sW6DRaDSa8oMOG1J0bpwhKhGL1WbePHj0UZgxQys3Go1GoynT6LAhRefGecMrBY0bw/PPw8yZWrnRaDQaTZnH1bAhpTGUVdaHzyr+W/78edi82bI+ejRMmWJRdjQajUajqSCUxlBWWR8+q9gKzsmT0KULxMXBqVOlXRuNRqPRaEqE0hjKKuvDZxXXB+fwYYti8+uv8PHHcNNNpV0jjUaj0WhKBNtQVkU/Z2GomArO779bLDfHj8PKldC5c2nXSKPRaDQazXWkYg5RzZkDZ85Y4txo5Uaj0Wg05ZCy7sRb1qmYCs6rr0JKCtx6a2nXRKPRaDSaIlHWnXjLOhVTwXF3h/Dw0q6FRqPRaDRFpqw78ZZ1KqYPjkaj0Wg05Zyy7sRb1qmYFhyNRqPRaDQ3NFrB0Wg0Go1GU+HQCo5Go9FoNJoKh1ZwNBqNRqPRVDi0gqPRaDQajabCoRUcjUaj0Wg0FQ6t4Gg0Go1Go6lwKBEp7Tq4jFLqOLCvtOtRSAKAE6VdiWJCX0vZpKxeS6iIVC/tShSFMiBryup/WlxU5OuryNcGZfP6nMqacqXglEeUUiki0qK061Ec6Gspm1Ska9FYqOj/aUW+vop8bVC+rk8PUWk0Go1Go6lwaAVHo9FoNBpNhUMrOCXPvNKuQDGir6VsUpGuRWOhov+nFfn6KvK1QTm6Pu2Do9FoNBqNpsKhLTgajUaj0WgqHFrB0Wg0Go1GU+HQCk4Jo5Tqr5RKU0rlKKXKxdQ6R5RS8Uqp3UqpdKXUuNKuz7WglHpHKXVMKbWjtOtyLSil6iil1iqldlqfr3+Udp00xUtFkB2OVCRZ4khFkS3OKK/yRis4Jc8OoA+wobQrUhSUUiZgNpAARAN3K6WiS7dW18R8IL60K1EMXAGeEpFooDXwaDn/XzRXU65lhyMVUJY4Mp+KIVucUS7ljVZwShgR+UVEdpd2Pa6BW4F0EdkjIlnAR0DPUq5TkRGRDcDJ0q7HtSIih0XkZ+v6OeAXIKh0a6UpTiqA7HCkQskSRyqKbHFGeZU3WsHRFEQQcMDu+0HKwYN9I6GUCgNigB9KuSoaTX5oWVIBKE/yxr20K1ARUEp9DQQ6+ek5EUm83vXR3DgopSoBnwNPiMjZ0q6PpnBo2aEpT5Q3eaMVnGJARO4o7TqUIIeAOnbfg63bNKWMUsoDi7B5X0QWl3Z9NIWngssOR7QsKceUR3mjh6g0BfEjUE8pFa6U8gQGActKuU43PEopBfwP+EVEppZ2fTQaF9CypJxSXuWNVnBKGKVUb6XUQeA2YLlS6ovSrlNhEJErwGjgCyyOZZ+ISFrp1qroKKU+BL4HGiilDiqlhpV2nYrI7cD9QGel1Fbr0q20K6UpPsq77HCkoskSRyqQbHFGuZQ3OlWDRqPRaDSaCoe24Gg0Go1Go6lwaAVHo9FoNBpNhUMrOBqNRqPRaCocWsHRaDQajUZT4dAKjkaj0Wg0mgqHVnBKEaVUNbspd0eUUofsvnuWUp3WlWTmYqWUWSm13pp4L699xhfzOc9f4/GTlFJjreuTlVLXHJzNVielVHWl1KprLU9z46CUyrbKiB1KqU+VUj7XUNZ8pVQ/6/p/80ugqJTqqJRqU4Rz7FVKBRS1jsVdTj7l11JKJefzexWl1CPFeL6wa808Xpj/r7B1Uko1VkrNv5byShut4JQiIvKniDQVkabAXGCa7buIZCmlKmKk6aHAYhHJzmefYlVwCoOykGe7EJEJIvJ1cZ1PRI4Dh5VStxdXmZoKz0WrjGgEZAEP2/9YVLkhIsNFZGc+u3QECq3glCPGAP/J5/cqQLEpOIWloP/Vhf+vUIjIdiBYKRVSXGVeb7SCU8awauRzlVI/AK/ZWw+sv++wJjtDKXWfUmqztTf3b0eriFIqXin1qd33jrYeilLqbaVUilIqTSn1Yh51OW+33s+mzVutDp8rpX60Lrdbt3ews0BtUUr5OSn2XiDRun8tpdQGu95oO6XUK4DZuu19635LlVI/Wes6wr5+Sqn/U0ptU0ptUkrVtG4PV0p9r5TarpR6yW7/Skqp1Uqpn62/9bRuD1NK7VZKLQB2AHWUUs8ppX5VSn0DNHD4f/oppVrYXet2pZRYf6+rlFplre9GpVTD/OpkZan1vmg0hWUjEGlt2xuVUsuAnUopk1LqdWv7TFVKjQRDgZ9lfd6/BmrYClJ21lur7PjZ2rZWW2XOw8CT1me+XT5yoJpS6ktre/0voBwrrZR6WCn1ut33B5RSs6zrTtu73b65LB9KqbFKqUnW9bzaX3+rjNmmlNqQx73sC6yy7n+z+lu2piql6gGvAHWt214vQJ78opT6j/UavlRKma2/NbfWYRvwqMM1bbSW9bOyWsqc/K8F/n9KqR52smm3UirD7tzrrffmC6VUrfzqZCUJS8Tp8omI6KUMLMAkYCwwH0gGTPbb7fbbAYQBUVgePg/r9jnAYIcy3YH9gK/1+9vAfdb1qtZPE7AOuMX6fR3Qwrp+3q6sfsB86/oHQFvregiW8N1Y63O7db0S4O5QH0/giN33p7AkFbTVw8/xvA51NVuvv5r1uwB3WddfA563ri+z3QssDfa83f2obF0PANKxCN8wIAdobf2tObAd8AEqW/cba/1tPtDPoX6vA69b11cD9azrrYA1+dXJ+j0I2F7az6Beysfi8DwnAqOwWFf+AsKtv42waw9eQAoQDvQBvrK2t9rAadvzbGv7QHUsWb9tZdna3yRyy6K85MAMYIJ1vbu1nQY4XEN1IN3u+0q7svJq73ut7TYM2GF37FhgknU9r/a3HQiyrldxck/DgZ/svs8E7rWue1rr4nje/OTJFaCp9bdP+FvupgLtreuv28rDImu8rev1gBTruuP/WuD/53Bdn2CRNx7Ad0B16/aBwDv51cn6/XYgqbSf+aIuFXEIpCLwqeQ/hAMQi+VF/KNSCiwN8Jj9DiJyRVn8O+5SSn2GRdj80/rzAGvvyB2oBURjedBd4Q4g2npegMrKkmX2W2CqslheFovIQYfjArA0SBs/Au8oSxK3pSKyNY/zPa6U6m1dr4NFAPyJxTxvGzP/CehiXb8dS28MYCHwqnVdAS8rpdpjUWiCgJrW3/aJyCbrejtgiYhcALD2npyilBoINAPirPegDfCp3b3xKqBOYPnfaud1Do3GAbNSaqt1fSOWHEFtgM0ikmHdHgfcoqz+GYA/lnbTHvjQKl/+UEqtcVJ+a2CDrSwROZlHPfKSA+2xvIgRkeVKqVOOB4rIcaXUHqVUa+A3oCEW+QF5t/d8KaD9fQvMV0p9AjhLFFkLOG73/XvgOaVUMBZZ9ptdmcYpyVueZNjJs5+AMKVUFSzKlc2CtBBIsK57ALOUUk2BbKC+3Xns/1dX/j9L5ZT6J5bhzNlKqUZAI+Ar63WYsAyN51cnKOeySSs4ZZO/7NavkHso0dv6qYD3ROTZAsr6CEv+l5NYegXnlFLhWHo9LUXklLIMPXk7OdY+j4f9725YrB2XHPZ/RSm1HOgGfKuU6ioiu+x+v2hfjohssAqH7liEz1QRWWBfoFKqIxZBepuIXFBKrbMr47JYuxlYhIL98+wsB8m9WHqOzUXkslJqr11ZfznZP1+sQmMSlt5PtrL47pwWi0+VM/LKi+KN5d5oNK5w0fEZs7607J9hBTwmIl847Fec+YOcygEnikBefAQMAHZh6VBIAe3dRl4yMc/2JyIPK6VaYZE1PymlmouIvdLkKJs+UBY3ge7ACmUZ4tvjUGx+8iTTbr9sLB3Q/HgSOAo0sV6H/T0timy6A+iPRSECy/OQJiK3OexXpYCiyrVs0j44ZZ+9WCwEKKWaYTGlgsUU208pVcP6W1WlVKiT49dbj38Ii0ABy7DLX8AZZfFbSXByHMBRpVSU9cXd2277l8Bjti/WXgdKqboisl1EXsVinWloX5iInAJMSilv6/6hwFER+Q/wX9t1ApetVh2w9DxPWYVdQyy9y4L4lr/Hje19W/yBY1Zh1Alwdr8ANgC9lGXGlx9wl+MOVsHwIZZhp+PW6zsLZCil+lv3UUqpJgXUCSy9tWuaTaHROPAFMMrWjpRS9ZVSvlie7YHK4qNTC+jk5NhNQHtrRwilVFXr9nOAvV+dUzlgPcc91m0JwE151HEJ0BO4m79lkyvt/ShQQ1l8fbyAOyH/9meVTT+IyAQslpo6DmX+imVoyXYtEcAeEZmBZRjwFifX76o8wVq/08BppVRb6yZH2XRYRHKwJLXMa5Zpgf+fVa7OBvqLiE052Q1UV0rdZt3HQyl1cwF1gnIum7SCU/b5HKiqlErDYon5FUAs3vLPA18qpVKxjMvWcjzYaspMxqLEJFu3bQO2YOk5fcDfpmFHxlmP+Q44bLf9caCFsjjf7eTvWRxPKIsjXypwGcu4uiNfArbG1BHYppTagmVM+C3r9nlAqnWoaxXgrpT6BYuT3yYK5h/Ao0qp7VjMxjbet9Z7OzDYev1XISI/Ax8D26zX8KOT3XpiEWj/UVaHPuv2e4FhVoe9NOt++dUJLEJquQvXpdG4yn+BncDPyuKQ+28sFs4lWIaEdgILsAzF5MKqsI8AFluf44+tPyUBva3PezvylgMvYlGQ0rAMVe13VkFrh+cXIFRENls3F9jeReQyMBnYjEXu2bfjvNrf68riCLwDizzb5lDmX8DvSqlI66YBwA5ru24ELLBafL61yrjXcVGeOPAgMNtarr2paw4wxFrvhuRttSnw/wMeAKoBS63/1QoRycLiR/mq9Rxb+XtGXF51gnIum3Q2cc11xWqFelJE7i/tupQVlGVWR0+rwNdoNKWAsvj9NBeR50u7LmUBq3VsPRbn7yulXZ+ioH1wNNcVEflZKbVWKWVywZG6wqOUqg5M1cqNRlO6iMgSpVS10q5HGSIEGFdelRvQFhyNRqPRaDQVEO2Do9FoNBqNpsKhFRyNRqPRaDQVDq3gaDQajUajqXBoBUej0Wg0Gk2FQys4Go1Go9FoKhz/D+98Dd/J14V0AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(8, 4))\n", "\n", "axes[0].set_title('Predictions')\n", "axes[0].scatter(\n", " testing_df[label], predictions,\n", " c='black', s=0.5, alpha=0.5\n", ")\n", "\n", "axes[0].plot(\n", " [testing_df[label].min(), testing_df[label].max()],\n", " [testing_df[label].min(), testing_df[label].max()],\n", " color='red', linestyle='--'\n", ")\n", "\n", "axes[0].set_xlabel('True values (standardized)')\n", "axes[0].set_ylabel('Predicted values (standardized)')\n", "\n", "axes[1].set_title('Residuals vs predicted values')\n", "axes[1].scatter(\n", " predictions, testing_df[label] - predictions,\n", " c='black', s=0.5, alpha=0.5\n", ")\n", "\n", "axes[1].axhline(0, color='red', linestyle='--')\n", "axes[1].set_xlabel('Predicted values (standardized)')\n", "axes[1].set_ylabel('Residuals (standardized)')\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "b21a7042", "metadata": {}, "source": [ "## 8. Save the model" ] }, { "cell_type": "code", "execution_count": 12, "id": "2ad6b284", "metadata": {}, "outputs": [], "source": [ "model.save('housing_price_model_sequential_api.keras')" ] }, { "cell_type": "markdown", "id": "5ab18d8c", "metadata": {}, "source": [ "## 9. Load the model" ] }, { "cell_type": "code", "execution_count": 13, "id": "6bed05de", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Model: \"sequential\"\n",
       "
\n" ], "text/plain": [ "\u001b[1mModel: \"sequential\"\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
       "┃ Layer (type)                    ┃ Output Shape           ┃       Param # ┃\n",
       "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
       "│ dense (Dense)                   │ (None, 32)             │           288 │\n",
       "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
       "│ dropout (Dropout)               │ (None, 32)             │             0 │\n",
       "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
       "│ dense_1 (Dense)                 │ (None, 64)             │         2,112 │\n",
       "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
       "│ dropout_1 (Dropout)             │ (None, 64)             │             0 │\n",
       "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
       "│ dense_2 (Dense)                 │ (None, 32)             │         2,080 │\n",
       "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
       "│ dropout_2 (Dropout)             │ (None, 32)             │             0 │\n",
       "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
       "│ dense_3 (Dense)                 │ (None, 1)              │            33 │\n",
       "└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
       "
\n" ], "text/plain": [ "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", "┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n", "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", "│ dense (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m288\u001b[0m │\n", "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", "│ dropout (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n", "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", "│ dense_1 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m2,112\u001b[0m │\n", "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", "│ dropout_1 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n", "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", "│ dense_2 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m2,080\u001b[0m │\n", "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", "│ dropout_2 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n", "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", "│ dense_3 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1\u001b[0m) │ \u001b[38;5;34m33\u001b[0m │\n", "└─────────────────────────────────┴────────────────────────┴───────────────┘\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
 Total params: 13,541 (52.90 KB)\n",
       "
\n" ], "text/plain": [ "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m13,541\u001b[0m (52.90 KB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
 Trainable params: 4,513 (17.63 KB)\n",
       "
\n" ], "text/plain": [ "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m4,513\u001b[0m (17.63 KB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
 Non-trainable params: 0 (0.00 B)\n",
       "
\n" ], "text/plain": [ "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
 Optimizer params: 9,028 (35.27 KB)\n",
       "
\n" ], "text/plain": [ "\u001b[1m Optimizer params: \u001b[0m\u001b[38;5;34m9,028\u001b[0m (35.27 KB)\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "loaded_model = keras.models.load_model('housing_price_model_sequential_api.keras')\n", "loaded_model.summary()" ] } ], "metadata": { "kernelspec": { "display_name": ".venv (3.12.3)", "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.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }