diff --git "a/baseline/Model_training.ipynb" "b/baseline/Model_training.ipynb"
deleted file mode 100644--- "a/baseline/Model_training.ipynb"
+++ /dev/null
@@ -1,3899 +0,0 @@
-{
- "nbformat": 4,
- "nbformat_minor": 5,
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "name": "python3"
- },
- "language_info": {
- "name": "python",
- "version": "3.10.0"
- },
- "colab": {
- "provenance": [],
- "gpuType": "T4"
- },
- "accelerator": "GPU"
- },
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "K29p96qNHlR_"
- },
- "source": [
- "# 1.0 \u2014 Setup & Imports\n",
- "Mount Google Drive and import all required standard, third-party, and ML libraries."
- ],
- "id": "K29p96qNHlR_"
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "id": "EmEf8tcZHlSC",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846633926,
- "user_tz": -330,
- "elapsed": 32133,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- },
- "outputId": "f5eab3ae-88f8-4989-a9dd-6f22590a5bc1"
- },
- "outputs": [
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "Mounted at /content/drive\n"
- ]
- }
- ],
- "source": [
- "from google.colab import drive\n",
- "drive.mount('/content/drive')"
- ],
- "id": "EmEf8tcZHlSC"
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "id": "zklNmH7xHlSD",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846640228,
- "user_tz": -330,
- "elapsed": 6304,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- },
- "outputId": "986c8ebf-2d84-45ce-d49d-8551c8d367b9"
- },
- "outputs": [
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "TensorFlow: 2.20.0\n"
- ]
- }
- ],
- "source": [
- "# Standard library\n",
- "import io\n",
- "import json\n",
- "import os\n",
- "import random\n",
- "import time\n",
- "from pathlib import Path\n",
- "\n",
- "# Third-party \u2013 .mat file I/O\n",
- "from scipy.io import loadmat\n",
- "\n",
- "# Third-party \u2013 data / viz\n",
- "import matplotlib.pyplot as plt\n",
- "import numpy as np\n",
- "import pandas as pd\n",
- "import seaborn as sns\n",
- "from matplotlib.colors import ListedColormap\n",
- "from openpyxl import Workbook, load_workbook\n",
- "from openpyxl.drawing.image import Image as XLImage\n",
- "from sklearn.metrics import (\n",
- " accuracy_score,\n",
- " classification_report,\n",
- " cohen_kappa_score,\n",
- " confusion_matrix,\n",
- " f1_score,\n",
- " log_loss,\n",
- ")\n",
- "from sklearn.model_selection import train_test_split\n",
- "\n",
- "# TensorFlow / Keras\n",
- "import tensorflow as tf\n",
- "from tensorflow import keras\n",
- "from tensorflow.keras import layers, regularizers\n",
- "\n",
- "sns.set_style(\"whitegrid\")\n",
- "print(\"TensorFlow:\", tf.__version__)"
- ],
- "id": "zklNmH7xHlSD"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "EtpZMYVzHlSE"
- },
- "source": [
- "# 2.0 \u2014 Configuration\n",
- "All hyper-parameters, paths, and architecture configs are defined here. Change values in this single cell to reconfigure the whole notebook."
- ],
- "id": "EtpZMYVzHlSE"
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "id": "OEb6TeldHlSE",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846642434,
- "user_tz": -330,
- "elapsed": 2200,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- },
- "outputId": "fd4008a2-c633-445a-af5d-bb7e27201365"
- },
- "outputs": [
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "Data file: /content/drive/My Drive/Classification/data/data.csv\n",
- "Label file: /content/drive/My Drive/Classification/data/ref.csv\n",
- "Model dir: /content/drive/My Drive/Classification/baseline/models\n",
- "Results dir: /content/drive/My Drive/Classification/baseline/results\n",
- "Plot dir: /content/drive/My Drive/Classification/baseline/results/training_plots\n",
- "Arch preset: legacy_arch\n"
- ]
- }
- ],
- "source": [
- "# \u2500\u2500 Reproducibility \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
- "SEED = 42\n",
- "random.seed(SEED)\n",
- "np.random.seed(SEED)\n",
- "tf.random.set_seed(SEED)\n",
- "\n",
- "# \u2500\u2500 Paths \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
- "MODEL_DIR = Path(\"/content/drive/My Drive/Classification/baseline/models\")\n",
- "RESULTS_DIR = Path(\"/content/drive/My Drive/Classification/baseline/results\")\n",
- "MODEL_DIR.mkdir(parents=True, exist_ok=True)\n",
- "RESULTS_DIR.mkdir(parents=True, exist_ok=True)\n",
- "PLOT_DIR = RESULTS_DIR / \"training_plots\"\n",
- "PLOT_DIR.mkdir(parents=True, exist_ok=True)\n",
- "VIS_DIR = RESULTS_DIR / \"scene_visualizations\"\n",
- "VIS_DIR.mkdir(parents=True, exist_ok=True)\n",
- "\n",
- "DATA_DIR = Path(\"/content/drive/My Drive/Classification/data\")\n",
- "DATA_FILE = DATA_DIR / \"DIAS.mat\" # hyperspectral cube (H, W, Bands)\n",
- "LABEL_FILE = DATA_DIR / \"DIAS_ref.mat\" # reference / ground-truth label map (H, W)\n",
- "\n",
- "# \u2500\u2500 Dataset geometry \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
- "# H, W, B are no longer hard-coded \u2014 they are inferred automatically from\n",
- "# the .mat cube shape once it is loaded in Section 3.2, so this notebook\n",
- "# works unchanged for any scene size / band count.\n",
- "H, W, B = None, None, None\n",
- "PERCENTILE_CLIP = (2.0, 98.0) # robust per-band stretch range for load_scene_from_mat\n",
- "PATCH_SIZE = 9\n",
- "INNER_PATCH = 3 # tokenisation patch size for GFNet / ViT\n",
- "\n",
- "# \u2500\u2500 Train / val / test splits \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
- "TRAIN_PERCENT = 0.75\n",
- "VAL_SPLIT_FROM_TRAIN = 0.20\n",
- "\n",
- "# \u2500\u2500 Training \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
- "BATCH_SIZE = 128\n",
- "EPOCHS = 100\n",
- "LEARNING_RATE = 3e-4\n",
- "DROPOUT_RATE = 0.25\n",
- "CAPACITY_PRESET = \"legacy_arch\"\n",
- "\n",
- "TRAIN_CFG = {\n",
- " \"label_smoothing\": 0.05,\n",
- " \"weight_decay\": 1e-4,\n",
- " \"clipnorm\": 1.0,\n",
- " \"cosine_alpha\": 0.05,\n",
- "}\n",
- "\n",
- "# \u2500\u2500 AlexNet legacy recipe (reproduces original single-head results) \u2500\u2500\u2500\u2500\n",
- "ALEXNET_LEGACY_SPLIT_SEED = 10\n",
- "ALEXNET_LEGACY_TRAIN_PERCENT = 0.75\n",
- "ALEXNET_LR_START = 0.01\n",
- "ALEXNET_LR_MAX = 0.02\n",
- "ALEXNET_LR_MIN = 0.005\n",
- "\n",
- "# \u2500\u2500 Architecture configs \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
- "ALEXNET_CFG = {\n",
- " \"conv_filters\": [96, 256, 384, 384, 256],\n",
- " \"dense_units\": [4096, 1024, 256, 32],\n",
- "}\n",
- "\n",
- "GFNET_CFG = {\"hidden_dim\": 512, \"num_blocks\": 5, \"mlp_ratio\": 4}\n",
- "VIT_CFG = {\n",
- " \"projection_dim\": 256,\n",
- " \"num_heads\": 4,\n",
- " \"transformer_layers\": 12,\n",
- " \"mlp_multiplier\": 2,\n",
- " \"head_units\": [512, 256, 128, 64],\n",
- "}\n",
- "\n",
- "# Fallback configs used when Colab runs out of memory\n",
- "GFNET_FALLBACK_CFG = {\"hidden_dim\": 384, \"num_blocks\": 4, \"mlp_ratio\": 4}\n",
- "VIT_FALLBACK_CFG = {\n",
- " \"projection_dim\": 192,\n",
- " \"num_heads\": 4,\n",
- " \"transformer_layers\": 8,\n",
- " \"mlp_multiplier\": 2,\n",
- " \"head_units\": [384, 192, 96, 64],\n",
- "}\n",
- "\n",
- "# \u2500\u2500 Visualisation palette \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
- "# Same bold, saturated palette used for the original 6-band/7-class scene.\n",
- "# Auto-extended with additional bold shades (same style, not muted tab20)\n",
- "# if a future dataset has more than 10 classes.\n",
- "import colorsys\n",
- "\n",
- "CLASS_COLOR_BASE = [\n",
- " \"#0000FF\", \"#00FF00\", \"#FF0000\", \"#00FFFF\", \"#FF00FF\",\n",
- " \"#FFFF00\", \"#A52A2A\", \"#FFA500\", \"#7FFF00\", \"#8A2BE2\",\n",
- "]\n",
- "\n",
- "def _generate_extra_shades(n_extra, hue_offset=0.05, sat=0.85, val=0.95):\n",
- " \"\"\"Bold, highly-saturated extra hues in the same style as CLASS_COLOR_BASE.\"\"\"\n",
- " shades = []\n",
- " for i in range(n_extra):\n",
- " hue = (hue_offset + i / max(n_extra, 1)) % 1.0\n",
- " r, g, b = colorsys.hsv_to_rgb(hue, sat, val)\n",
- " shades.append(\"#%02x%02x%02x\" % (int(r * 255), int(g * 255), int(b * 255)))\n",
- " return shades\n",
- "\n",
- "def get_class_colors(n):\n",
- " \"\"\"Return n visually distinct hex colours; extends past the base 10 with\n",
- " additional bold shades generated in the same saturated style.\"\"\"\n",
- " if n <= len(CLASS_COLOR_BASE):\n",
- " return CLASS_COLOR_BASE[:n]\n",
- " return CLASS_COLOR_BASE + _generate_extra_shades(n - len(CLASS_COLOR_BASE))\n",
- "\n",
- "BACKGROUND_COLOR = \"#000000\"\n",
- "VIS_EXCEL_PATH = VIS_DIR / \"initial_classification_maps.xlsx\"\n",
- "\n",
- "print(\"Data file: \", DATA_FILE)\n",
- "print(\"Label file: \", LABEL_FILE)\n",
- "print(\"Model dir: \", MODEL_DIR)\n",
- "print(\"Results dir: \", RESULTS_DIR)\n",
- "print(\"Plot dir: \", PLOT_DIR)\n",
- "print(\"Arch preset: \", CAPACITY_PRESET)"
- ],
- "id": "OEb6TeldHlSE"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "l4U0Kd91HlSF"
- },
- "source": [
- "# 3.0 \u2014 Data Loading & Preprocessing\n",
- "Load the hyperspectral/multispectral scene and reference labels from .mat files, apply per-band min-max normalisation, extract labelled patches, and create stratified train / val / test splits."
- ],
- "id": "l4U0Kd91HlSF"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "7O9awajHHlSF"
- },
- "source": [
- "## 3.1 \u2014 Loading and patch extraction helpers"
- ],
- "id": "7O9awajHHlSF"
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "id": "WNcXiUsZHlSF",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846642438,
- "user_tz": -330,
- "elapsed": 2,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- }
- },
- "outputs": [],
- "source": [
- "def load_scene_from_mat(data_path, label_path, data_key=None, label_key=None):\n",
- " \"\"\"Load a hyperspectral/multispectral scene + reference labels from .mat files.\n",
- "\n",
- " Works for any band count / scene size (previously hard-coded to 6-band CSV\n",
- " scenes). If data_key / label_key are not given, the first non-metadata\n",
- " variable in each .mat file is used automatically \u2014 this matches files\n",
- " such as DIAS.mat / DIAS_ref.mat where the array is stored under a single\n",
- " named variable. Each spectral band is robustly stretched to [0, 1] using\n",
- " a percentile clip (see PERCENTILE_CLIP) rather than literal min/max.\n",
- " \"\"\"\n",
- " data_mat = loadmat(data_path)\n",
- " label_mat = loadmat(label_path)\n",
- "\n",
- " def _first_array(mat_dict, key):\n",
- " if key is not None:\n",
- " return mat_dict[key]\n",
- " candidates = [v for k, v in mat_dict.items() if not k.startswith(\"__\")]\n",
- " if not candidates:\n",
- " raise ValueError(f\"No data arrays found in {mat_dict.keys()}\")\n",
- " return candidates[0]\n",
- "\n",
- " x = _first_array(data_mat, data_key).astype(np.float32)\n",
- " y = _first_array(label_mat, label_key).astype(np.int32)\n",
- "\n",
- " if x.ndim != 3:\n",
- " raise ValueError(f\"Expected a (H, W, Bands) cube, got shape {x.shape}\")\n",
- " if y.shape != x.shape[:2]:\n",
- " raise ValueError(f\"Label shape {y.shape} does not match image shape {x.shape[:2]}\")\n",
- "\n",
- " height, width, bands = x.shape\n",
- "\n",
- " # Robust per-band stretch: clip to the [lower_pct, upper_pct] percentile\n",
- " # range before min-max scaling, instead of literal min/max. A handful of\n",
- " # saturated/no-data pixels (e.g. sensor clipping at the int8 range limits\n",
- " # -128/127) would otherwise dominate the stretch and crush the dynamic\n",
- " # range of the rest of the scene.\n",
- " x_norm = np.empty_like(x, dtype=np.float32)\n",
- " for b in range(bands):\n",
- " band = x[:, :, b]\n",
- " lo = np.percentile(band, PERCENTILE_CLIP[0])\n",
- " hi = np.percentile(band, PERCENTILE_CLIP[1])\n",
- " denom = max(hi - lo, 1e-8)\n",
- " band_clipped = np.clip(band, lo, hi)\n",
- " x_norm[:, :, b] = (band_clipped - lo) / denom\n",
- "\n",
- " return x_norm, y, height, width, bands\n",
- "\n",
- "\n",
- "def extract_labeled_patches(x, y, patch_size=9):\n",
- " \"\"\"Extract (patch_size \u00d7 patch_size) spatial patches around every labelled pixel.\"\"\"\n",
- " pad = patch_size // 2\n",
- " x_pad = np.pad(x, ((pad, pad), (pad, pad), (0, 0)), mode=\"edge\")\n",
- "\n",
- " coords = np.argwhere(y > 0)\n",
- " patches = np.empty((coords.shape[0], patch_size, patch_size, x.shape[-1]), dtype=np.float32)\n",
- " labels = np.empty((coords.shape[0],), dtype=np.int32)\n",
- "\n",
- " for i, (r, c) in enumerate(coords):\n",
- " patches[i] = x_pad[r:r + patch_size, c:c + patch_size, :]\n",
- " labels[i] = int(y[r, c]) - 1 # convert class IDs to 0..C-1\n",
- "\n",
- " return patches, labels, coords\n"
- ],
- "id": "WNcXiUsZHlSF"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "69zoHigBHlSG"
- },
- "source": [
- "## 3.2 \u2014 Load data and create splits"
- ],
- "id": "69zoHigBHlSG"
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "id": "kXMHSrXlHlSG",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846643808,
- "user_tz": -330,
- "elapsed": 1368,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- },
- "outputId": "f89275e1-2cd1-477a-b170-e7ee7b561873"
- },
- "outputs": [
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "x_img: (330, 307, 6) y_img: (330, 307)\n",
- "Labelled samples: 17239\n",
- "Patch tensor: (17239, 9, 9, 6)\n",
- "Num classes: 7\n"
- ]
- }
- ],
- "source": [
- "x_img, y_img, H, W, B = load_scene_from_mat(DATA_FILE, LABEL_FILE)\n",
- "X, y, coords = extract_labeled_patches(x_img, y_img, PATCH_SIZE)\n",
- "\n",
- "num_classes = int(np.unique(y).size)\n",
- "input_shape = (PATCH_SIZE, PATCH_SIZE, B)\n",
- "\n",
- "print(\"Scene geometry: H=%d W=%d Bands=%d\" % (H, W, B))\n",
- "print(\"x_img:\", x_img.shape, \" y_img:\", y_img.shape)\n",
- "print(\"Labelled samples:\", X.shape[0])\n",
- "print(\"Patch tensor: \", X.shape)\n",
- "print(\"Num classes: \", num_classes)\n"
- ],
- "id": "kXMHSrXlHlSG"
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "id": "1i0OP2XHHlSG",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846643815,
- "user_tz": -330,
- "elapsed": 5,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- },
- "outputId": "b50359d2-d9be-462c-d65b-cd3aa287c355"
- },
- "outputs": [
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "Train: (10343, 9, 9, 6) (10343,)\n",
- "Val: (2586, 9, 9, 6) (2586,)\n",
- "Test: (4310, 9, 9, 6) (4310,)\n"
- ]
- }
- ],
- "source": [
- "# Primary stratified split used by GFNet and ViT\n",
- "x_train_full, x_test, y_train_full, y_test = train_test_split(\n",
- " X, y,\n",
- " train_size=TRAIN_PERCENT,\n",
- " random_state=SEED,\n",
- " stratify=y,\n",
- ")\n",
- "x_train, x_val, y_train, y_val = train_test_split(\n",
- " x_train_full, y_train_full,\n",
- " test_size=VAL_SPLIT_FROM_TRAIN,\n",
- " random_state=SEED,\n",
- " stratify=y_train_full,\n",
- ")\n",
- "\n",
- "y_train_cat = keras.utils.to_categorical(y_train, num_classes)\n",
- "y_val_cat = keras.utils.to_categorical(y_val, num_classes)\n",
- "y_test_cat = keras.utils.to_categorical(y_test, num_classes)\n",
- "\n",
- "print(\"Train:\", x_train.shape, y_train.shape)\n",
- "print(\"Val: \", x_val.shape, y_val.shape)\n",
- "print(\"Test: \", x_test.shape, y_test.shape)"
- ],
- "id": "1i0OP2XHHlSG"
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "id": "xrYOZ90zHlSH",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846643841,
- "user_tz": -330,
- "elapsed": 24,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- },
- "outputId": "363e0c8b-bc5a-49b0-f409-91bd5a4352b9"
- },
- "outputs": [
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "AlexNet Train: (12929, 9, 9, 6) (12929,)\n",
- "AlexNet Test: (4310, 9, 9, 6) (4310,)\n"
- ]
- }
- ],
- "source": [
- "# AlexNet legacy split \u2014 matches the original single-head notebook for\n",
- "# uncertainty recovery (different seed and no val split)\n",
- "x_train_alex, x_test_alex, y_train_alex, y_test_alex = train_test_split(\n",
- " X, y,\n",
- " train_size=ALEXNET_LEGACY_TRAIN_PERCENT,\n",
- " random_state=ALEXNET_LEGACY_SPLIT_SEED,\n",
- " stratify=y,\n",
- ")\n",
- "y_train_alex_cat = keras.utils.to_categorical(y_train_alex, num_classes)\n",
- "y_test_alex_cat = keras.utils.to_categorical(y_test_alex, num_classes)\n",
- "\n",
- "print(\"AlexNet Train:\", x_train_alex.shape, y_train_alex.shape)\n",
- "print(\"AlexNet Test: \", x_test_alex.shape, y_test_alex.shape)"
- ],
- "id": "xrYOZ90zHlSH"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "7GfaY24eHlSH"
- },
- "source": [
- "# 4.0 \u2014 Model Definitions\n",
- "Defines three single-head architectures: AlexNet-based CNN, Global Filter Network (GFNet), and Vision Transformer (ViT with U-Net style skip connections). Custom Keras layers are registered for serialisation."
- ],
- "id": "7GfaY24eHlSH"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "3uVcruF5HlSH"
- },
- "source": [
- "## 4.1 \u2014 Shared custom Keras layers (PatchExtractor, PatchPositionEncoder, PatchEncoderWithCLS)"
- ],
- "id": "3uVcruF5HlSH"
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {
- "id": "cnSq4XMZHlSH",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846643863,
- "user_tz": -330,
- "elapsed": 9,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- }
- },
- "outputs": [],
- "source": [
- "@tf.keras.utils.register_keras_serializable()\n",
- "class PatchExtractor(layers.Layer):\n",
- " \"\"\"Extract non-overlapping spatial patches from an image tensor.\"\"\"\n",
- "\n",
- " def __init__(self, patch_size=3, **kwargs):\n",
- " super().__init__(**kwargs)\n",
- " self.patch_size = patch_size\n",
- "\n",
- " def call(self, images):\n",
- " patches = tf.image.extract_patches(\n",
- " images=images,\n",
- " sizes=[1, self.patch_size, self.patch_size, 1],\n",
- " strides=[1, self.patch_size, self.patch_size, 1],\n",
- " rates=[1, 1, 1, 1],\n",
- " padding=\"VALID\",\n",
- " )\n",
- " batch = tf.shape(images)[0]\n",
- " num_patches = tf.shape(patches)[1] * tf.shape(patches)[2]\n",
- " patch_dim = tf.shape(patches)[-1]\n",
- " return tf.reshape(patches, [batch, num_patches, patch_dim])\n",
- "\n",
- " def get_config(self):\n",
- " cfg = super().get_config()\n",
- " cfg.update({\"patch_size\": self.patch_size})\n",
- " return cfg\n",
- "\n",
- "\n",
- "@tf.keras.utils.register_keras_serializable()\n",
- "class PatchPositionEncoder(layers.Layer):\n",
- " \"\"\"Project patches to embedding dim and add learned positional embeddings.\"\"\"\n",
- "\n",
- " def __init__(self, num_patches, projection_dim, **kwargs):\n",
- " super().__init__(**kwargs)\n",
- " self.num_patches = num_patches\n",
- " self.projection_dim = projection_dim\n",
- " self.projection = layers.Dense(projection_dim)\n",
- " self.position_embedding = layers.Embedding(input_dim=num_patches, output_dim=projection_dim)\n",
- "\n",
- " def call(self, patches):\n",
- " positions = tf.range(start=0, limit=self.num_patches, delta=1)\n",
- " return self.projection(patches) + self.position_embedding(positions)\n",
- "\n",
- " def get_config(self):\n",
- " cfg = super().get_config()\n",
- " cfg.update({\"num_patches\": self.num_patches, \"projection_dim\": self.projection_dim})\n",
- " return cfg\n",
- "\n",
- "\n",
- "@tf.keras.utils.register_keras_serializable()\n",
- "class PatchEncoderWithCLS(layers.Layer):\n",
- " \"\"\"Project patches and prepend a learnable [CLS] token with positional embeddings.\"\"\"\n",
- "\n",
- " def __init__(self, num_patches, projection_dim, **kwargs):\n",
- " super().__init__(**kwargs)\n",
- " self.num_patches = num_patches\n",
- " self.projection_dim = projection_dim\n",
- " self.projection = layers.Dense(projection_dim)\n",
- " self.position_embedding = layers.Embedding(input_dim=num_patches + 1, output_dim=projection_dim)\n",
- "\n",
- " def build(self, input_shape):\n",
- " self.cls_token = self.add_weight(\n",
- " name=\"cls_token\",\n",
- " shape=(1, 1, self.projection_dim),\n",
- " initializer=\"zeros\",\n",
- " trainable=True,\n",
- " )\n",
- " super().build(input_shape)\n",
- "\n",
- " def call(self, patches):\n",
- " batch = tf.shape(patches)[0]\n",
- " patch_proj = self.projection(patches)\n",
- " cls_tokens = tf.repeat(self.cls_token, repeats=batch, axis=0)\n",
- " x = tf.concat([cls_tokens, patch_proj], axis=1)\n",
- " positions = tf.range(start=0, limit=self.num_patches + 1, delta=1)\n",
- " return x + self.position_embedding(positions)\n",
- "\n",
- " def get_config(self):\n",
- " cfg = super().get_config()\n",
- " cfg.update({\"num_patches\": self.num_patches, \"projection_dim\": self.projection_dim})\n",
- " return cfg"
- ],
- "id": "cnSq4XMZHlSH"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "AVe2zg_oHlSH"
- },
- "source": [
- "## 4.2 \u2014 AlexNet-based CNN"
- ],
- "id": "AVe2zg_oHlSH"
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {
- "id": "y_ZeStf5HlSH",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846643879,
- "user_tz": -330,
- "elapsed": 15,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- }
- },
- "outputs": [],
- "source": [
- "def build_alexnet(input_shape, num_classes, dropout_rate=0.25, cfg=None):\n",
- " \"\"\"Build an AlexNet-inspired CNN with five conv layers and four dense layers.\"\"\"\n",
- " cfg = cfg or ALEXNET_CFG\n",
- "\n",
- " inputs = keras.Input(shape=input_shape)\n",
- " x = inputs\n",
- " for i, filters in enumerate(cfg[\"conv_filters\"], start=1):\n",
- " x = layers.Conv2D(filters, (3, 3), activation=\"relu\", padding=\"same\", name=f\"alex_conv_{i}\")(x)\n",
- "\n",
- " x = layers.MaxPooling2D(pool_size=(2, 2), strides=(2, 2), padding=\"same\", name=\"alex_pool\")(x)\n",
- " x = layers.Flatten(name=\"alex_flatten\")(x)\n",
- "\n",
- " dense_units = cfg[\"dense_units\"]\n",
- " x = layers.Dense(dense_units[0], activation=\"relu\", name=\"alex_fc1\")(x)\n",
- " x = layers.Dropout(dropout_rate, name=\"TRAIN_DROPOUT_1\")(x)\n",
- " x = layers.Dense(dense_units[1], activation=\"relu\", name=\"alex_fc2\")(x)\n",
- " x = layers.Dropout(dropout_rate, name=\"TRAIN_DROPOUT_2\")(x)\n",
- " x = layers.Dense(dense_units[2], activation=\"relu\", name=\"alex_fc3\")(x)\n",
- " x = layers.Dropout(dropout_rate, name=\"TRAIN_DROPOUT_3\")(x)\n",
- " x = layers.Dense(dense_units[3], activation=\"relu\", name=\"alex_fc4\")(x)\n",
- "\n",
- " outputs = layers.Dense(num_classes, activation=\"softmax\", name=\"alex_logits\")(x)\n",
- " return keras.Model(inputs, outputs, name=\"AlexNet_SingleHead\")"
- ],
- "id": "y_ZeStf5HlSH"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "F4ouD_9AHlSI"
- },
- "source": [
- "## 4.3 \u2014 Global Filter Network (GFNet)"
- ],
- "id": "F4ouD_9AHlSI"
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {
- "id": "wABpedmKHlSI",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846643897,
- "user_tz": -330,
- "elapsed": 18,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- }
- },
- "outputs": [],
- "source": [
- "@tf.keras.utils.register_keras_serializable()\n",
- "class GlobalFilterLayer(layers.Layer):\n",
- " \"\"\"Apply learnable complex-valued filters in the 2-D frequency domain.\"\"\"\n",
- "\n",
- " def __init__(self, token_side, **kwargs):\n",
- " super().__init__(**kwargs)\n",
- " self.token_side = token_side\n",
- "\n",
- " def build(self, input_shape):\n",
- " channels = int(input_shape[-1])\n",
- " self.w_real = self.add_weight(\n",
- " name=\"w_real\",\n",
- " shape=(self.token_side, self.token_side, channels),\n",
- " initializer=\"glorot_uniform\",\n",
- " trainable=True,\n",
- " )\n",
- " self.w_imag = self.add_weight(\n",
- " name=\"w_imag\",\n",
- " shape=(self.token_side, self.token_side, channels),\n",
- " initializer=\"zeros\",\n",
- " trainable=True,\n",
- " )\n",
- " super().build(input_shape)\n",
- "\n",
- " def call(self, x):\n",
- " batch = tf.shape(x)[0]\n",
- " channels = tf.shape(x)[-1]\n",
- " x_2d = tf.reshape(x, [batch, self.token_side, self.token_side, channels])\n",
- " x_fft = tf.signal.fft2d(tf.cast(x_2d, tf.complex64))\n",
- " w_complex = tf.complex(self.w_real, self.w_imag)\n",
- " x_filtered = x_fft * w_complex\n",
- " x_spatial = tf.math.real(tf.signal.ifft2d(x_filtered))\n",
- " return tf.reshape(x_spatial, [batch, self.token_side * self.token_side, channels])\n",
- "\n",
- " def get_config(self):\n",
- " cfg = super().get_config()\n",
- " cfg.update({\"token_side\": self.token_side})\n",
- " return cfg\n",
- "\n",
- "\n",
- "def gf_block(x, token_side, dim, mlp_ratio=4, dropout_rate=0.25, name_prefix=\"gf\"):\n",
- " \"\"\"Single GFNet residual block: global filter followed by a two-layer MLP.\"\"\"\n",
- " # Legacy block style: one residual add after filter + MLP branch\n",
- " y = layers.LayerNormalization(name=f\"{name_prefix}_ln1\")(x)\n",
- " y = GlobalFilterLayer(token_side, name=f\"{name_prefix}_gfilter\")(y)\n",
- " y = layers.LayerNormalization(name=f\"{name_prefix}_ln2\")(y)\n",
- " y = layers.Dense(dim * mlp_ratio, activation=tf.keras.activations.gelu, name=f\"{name_prefix}_mlp1\")(y)\n",
- " y = layers.Dropout(dropout_rate, name=f\"{name_prefix}_drop1\")(y)\n",
- " y = layers.Dense(dim, activation=tf.keras.activations.gelu, name=f\"{name_prefix}_mlp2\")(y)\n",
- " y = layers.Dropout(dropout_rate, name=f\"{name_prefix}_drop2\")(y)\n",
- " return layers.Add(name=f\"{name_prefix}_add\")([x, y])\n",
- "\n",
- "\n",
- "def build_gfnet(input_shape, num_classes, inner_patch=3, hidden_dim=512,\n",
- " num_blocks=5, mlp_ratio=4, dropout_rate=0.25):\n",
- " \"\"\"Build a Global Filter Network (GFNet) single-head classifier.\"\"\"\n",
- " num_patches = (input_shape[0] // inner_patch) * (input_shape[1] // inner_patch)\n",
- " token_side = int(np.sqrt(num_patches))\n",
- "\n",
- " inputs = keras.Input(shape=input_shape)\n",
- " x = PatchExtractor(inner_patch, name=\"gf_patch_extractor\")(inputs)\n",
- " x = PatchPositionEncoder(num_patches, hidden_dim, name=\"gf_patch_encoder\")(x)\n",
- " x = layers.Dropout(dropout_rate, name=\"TRAIN_DROPOUT_1\")(x)\n",
- "\n",
- " for i in range(num_blocks):\n",
- " x = gf_block(x, token_side, hidden_dim, mlp_ratio, dropout_rate, name_prefix=f\"gf_block_{i+1}\")\n",
- "\n",
- " x = layers.Dropout(dropout_rate, name=\"TRAIN_DROPOUT_2\")(x)\n",
- " x = layers.LayerNormalization(name=\"gf_final_ln\")(x)\n",
- " x = layers.GlobalAveragePooling1D(name=\"gf_gap\")(x)\n",
- " x = layers.Flatten(name=\"gf_flatten\")(x)\n",
- " x = layers.Dropout(dropout_rate, name=\"TRAIN_DROPOUT_3\")(x)\n",
- "\n",
- " outputs = layers.Dense(num_classes, activation=\"softmax\", name=\"gf_logits\")(x)\n",
- " return keras.Model(inputs, outputs, name=\"GFNet_SingleHead\")"
- ],
- "id": "wABpedmKHlSI"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "H7murht5HlSI"
- },
- "source": [
- "## 4.4 \u2014 Vision Transformer with U-Net style skip connections"
- ],
- "id": "H7murht5HlSI"
- },
- {
- "cell_type": "code",
- "execution_count": 11,
- "metadata": {
- "id": "-j1wU3lzHlSI",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846643928,
- "user_tz": -330,
- "elapsed": 32,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- }
- },
- "outputs": [],
- "source": [
- "def transformer_block(x, num_heads, projection_dim, mlp_dim, dropout_rate, name_prefix):\n",
- " \"\"\"Standard pre-LN transformer block with multi-head attention and a GELU MLP.\"\"\"\n",
- " y = layers.LayerNormalization(epsilon=1e-6, name=f\"{name_prefix}_ln1\")(x)\n",
- " y = layers.MultiHeadAttention(\n",
- " num_heads=num_heads, key_dim=projection_dim,\n",
- " dropout=dropout_rate, name=f\"{name_prefix}_mha\",\n",
- " )(y, y)\n",
- " x = layers.Add(name=f\"{name_prefix}_add1\")([y, x])\n",
- "\n",
- " y = layers.LayerNormalization(epsilon=1e-6, name=f\"{name_prefix}_ln2\")(x)\n",
- " y = layers.Dense(mlp_dim, activation=tf.keras.activations.gelu, name=f\"{name_prefix}_mlp1\")(y)\n",
- " y = layers.Dropout(dropout_rate, name=f\"{name_prefix}_drop1\")(y)\n",
- " y = layers.Dense(projection_dim, activation=tf.keras.activations.gelu, name=f\"{name_prefix}_mlp2\")(y)\n",
- " y = layers.Dropout(dropout_rate, name=f\"{name_prefix}_drop2\")(y)\n",
- " return layers.Add(name=f\"{name_prefix}_add2\")([y, x])\n",
- "\n",
- "\n",
- "def build_vit_unet_singlehead(\n",
- " input_shape, num_classes, inner_patch=3,\n",
- " projection_dim=256, num_heads=4, transformer_layers=12,\n",
- " mlp_multiplier=2, dropout_rate=0.25, head_units=(512, 256, 128, 64),\n",
- "):\n",
- " \"\"\"Build a ViT single-head classifier with U-Net style encoder\u2013decoder skip connections.\"\"\"\n",
- " num_patches = (input_shape[0] // inner_patch) * (input_shape[1] // inner_patch)\n",
- "\n",
- " inputs = keras.Input(shape=input_shape)\n",
- " x = PatchExtractor(inner_patch, name=\"vit_patch_extractor\")(inputs)\n",
- " x = PatchEncoderWithCLS(num_patches, projection_dim, name=\"vit_patch_encoder\")(x)\n",
- "\n",
- " block_list = []\n",
- " for i in range(transformer_layers):\n",
- " x = transformer_block(\n",
- " x, num_heads=num_heads, projection_dim=projection_dim,\n",
- " mlp_dim=projection_dim * mlp_multiplier,\n",
- " dropout_rate=0.1, name_prefix=f\"vit_block_{i+1}\",\n",
- " )\n",
- " if i <= transformer_layers // 2:\n",
- " block_list.append(x)\n",
- " else:\n",
- " x = layers.Add(name=f\"vit_skip_add_{i+1}\")([x, block_list[transformer_layers - i - 1]])\n",
- "\n",
- " x = layers.Dropout(dropout_rate, name=\"TRAIN_DROPOUT_1\")(x)\n",
- " x = layers.LayerNormalization(epsilon=1e-6, name=\"vit_cls_norm\")(x)\n",
- " cls_token = layers.Lambda(lambda t: t[:, 0, :], name=\"vit_cls_token\")(x)\n",
- "\n",
- " y = layers.Dense(head_units[0], activation=tf.keras.activations.gelu, name=\"vit_head_1\")(cls_token)\n",
- " y = layers.Dropout(dropout_rate, name=\"TRAIN_DROPOUT_3\")(y)\n",
- " y = layers.Dense(head_units[1], activation=tf.keras.activations.gelu, name=\"vit_head_2\")(y)\n",
- " y = layers.Dense(head_units[2], activation=tf.keras.activations.gelu, name=\"vit_head_3\")(y)\n",
- " y = layers.Dropout(dropout_rate, name=\"TRAIN_DROPOUT_5\")(y)\n",
- " y = layers.Dense(head_units[3], activation=tf.keras.activations.gelu, name=\"vit_head_4\")(y)\n",
- " y = layers.Dropout(dropout_rate, name=\"TRAIN_DROPOUT_6\")(y)\n",
- "\n",
- " outputs = layers.Dense(num_classes, activation=\"softmax\", name=\"vit_logits\")(y)\n",
- " return keras.Model(inputs, outputs, name=\"ViT_UNet_SingleHead\")"
- ],
- "id": "-j1wU3lzHlSI"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "mjyqUx48HlSI"
- },
- "source": [
- "# 5.0 \u2014 Training & Evaluation Helpers\n",
- "Optimiser factory, learning-rate schedule, calibration metrics (Brier score, ECE), and the main `train_save_evaluate` function."
- ],
- "id": "mjyqUx48HlSI"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "gNRMg7Z5HlSI"
- },
- "source": [
- "## 5.1 \u2014 Calibration metrics"
- ],
- "id": "gNRMg7Z5HlSI"
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "metadata": {
- "id": "R6GH0dLjHlSI",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846643928,
- "user_tz": -330,
- "elapsed": 0,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- }
- },
- "outputs": [],
- "source": [
- "def multiclass_brier_score(y_onehot, y_prob):\n",
- " \"\"\"Compute the multiclass Brier score (mean squared error over probability vectors).\"\"\"\n",
- " return float(np.mean(np.sum((y_prob - y_onehot) ** 2, axis=1)))\n",
- "\n",
- "\n",
- "def expected_calibration_error(y_true, y_prob, n_bins=15):\n",
- " \"\"\"Compute Expected Calibration Error (ECE) with equal-width confidence bins.\"\"\"\n",
- " confidences = np.max(y_prob, axis=1)\n",
- " predictions = np.argmax(y_prob, axis=1)\n",
- " correct = (predictions == y_true).astype(np.float32)\n",
- " bin_edges = np.linspace(0.0, 1.0, n_bins + 1)\n",
- " ece = 0.0\n",
- "\n",
- " for i in range(n_bins):\n",
- " lo, hi = bin_edges[i], bin_edges[i + 1]\n",
- " in_bin = (confidences >= lo) & (confidences <= hi if i == n_bins - 1 else confidences < hi)\n",
- " prop = np.mean(in_bin)\n",
- " if prop > 0:\n",
- " ece += np.abs(np.mean(correct[in_bin]) - np.mean(confidences[in_bin])) * prop\n",
- "\n",
- " return float(ece)"
- ],
- "id": "R6GH0dLjHlSI"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "a6Qo-1gtHlSI"
- },
- "source": [
- "## 5.2 \u2014 Optimiser factory"
- ],
- "id": "a6Qo-1gtHlSI"
- },
- {
- "cell_type": "code",
- "execution_count": 13,
- "metadata": {
- "id": "WY5F_nZAHlSI",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846643929,
- "user_tz": -330,
- "elapsed": 0,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- }
- },
- "outputs": [],
- "source": [
- "def make_optimizer(num_train_samples):\n",
- " \"\"\"Build an AdamW optimiser with a cosine-decay learning-rate schedule.\"\"\"\n",
- " steps_per_epoch = int(np.ceil(num_train_samples / BATCH_SIZE))\n",
- " decay_steps = max(1, steps_per_epoch * EPOCHS)\n",
- " lr_schedule = keras.optimizers.schedules.CosineDecay(\n",
- " initial_learning_rate=LEARNING_RATE,\n",
- " decay_steps=decay_steps,\n",
- " alpha=TRAIN_CFG[\"cosine_alpha\"],\n",
- " )\n",
- " return keras.optimizers.AdamW(\n",
- " learning_rate=lr_schedule,\n",
- " weight_decay=TRAIN_CFG[\"weight_decay\"],\n",
- " clipnorm=TRAIN_CFG[\"clipnorm\"],\n",
- " )\n",
- "\n",
- "\n",
- "def _alexnet_legacy_lr(epoch):\n",
- " \"\"\"Cosine LR schedule for AlexNet, matching the original single-head script.\"\"\"\n",
- " if EPOCHS <= 1:\n",
- " return ALEXNET_LR_START\n",
- " phase = np.pi * epoch / (EPOCHS - 1)\n",
- " cosine_decay = 0.5 * (1.0 + np.cos(phase))\n",
- " return float((ALEXNET_LR_MAX - ALEXNET_LR_MIN) * cosine_decay + ALEXNET_LR_MIN)"
- ],
- "id": "WY5F_nZAHlSI"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "25rlGZAOHlSJ"
- },
- "source": [
- "## 5.3 \u2014 Main training, saving, and evaluation function"
- ],
- "id": "25rlGZAOHlSJ"
- },
- {
- "cell_type": "code",
- "execution_count": 14,
- "metadata": {
- "id": "uBnFmm-mHlSJ",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846643953,
- "user_tz": -330,
- "elapsed": 4,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- }
- },
- "outputs": [],
- "source": [
- "def train_save_evaluate(model_name, model_builder, capacity_tag=\"max\"):\n",
- " \"\"\"Compile, train, save (best + final), and evaluate a single-head model.\n",
- "\n",
- " Returns a metrics dict, per-class classification report, confusion matrix,\n",
- " and the raw Keras history dict.\n",
- " \"\"\"\n",
- " tf.keras.backend.clear_session()\n",
- " model = model_builder()\n",
- " best_path = MODEL_DIR / f\"{model_name}_best.keras\"\n",
- " final_path = MODEL_DIR / f\"{model_name}_final.keras\"\n",
- "\n",
- " # AlexNet uses a legacy Adagrad + cosine LR schedule to match the original\n",
- " # single-head script for downstream uncertainty analysis.\n",
- " if model_name == \"AlexNet_CNN\":\n",
- " model.compile(\n",
- " optimizer=keras.optimizers.Adagrad(learning_rate=ALEXNET_LR_START),\n",
- " loss=\"sparse_categorical_crossentropy\",\n",
- " metrics=[\"accuracy\"],\n",
- " )\n",
- " callbacks = [\n",
- " keras.callbacks.ModelCheckpoint(\n",
- " filepath=str(best_path), monitor=\"val_accuracy\",\n",
- " mode=\"max\", save_best_only=True, verbose=1,\n",
- " ),\n",
- " keras.callbacks.LearningRateScheduler(_alexnet_legacy_lr, verbose=0),\n",
- " ]\n",
- " x_tr, y_tr = x_train_alex, y_train_alex\n",
- " x_va, y_va = x_test_alex, y_test_alex\n",
- " x_te, y_te, y_te_cat = x_test_alex, y_test_alex, y_test_alex_cat\n",
- " x_eval, y_eval, y_eval_cat = x_test_alex, y_test_alex, y_test_alex_cat\n",
- " fit_shuffle = False\n",
- " else:\n",
- " # GFNet and ViT use AdamW + cosine decay with label smoothing\n",
- " model.compile(\n",
- " optimizer=make_optimizer(len(x_train)),\n",
- " loss=keras.losses.CategoricalCrossentropy(label_smoothing=TRAIN_CFG[\"label_smoothing\"]),\n",
- " metrics=[\"accuracy\"],\n",
- " )\n",
- " callbacks = [\n",
- " keras.callbacks.ModelCheckpoint(\n",
- " filepath=str(best_path), monitor=\"val_loss\",\n",
- " mode=\"min\", save_best_only=True, verbose=1,\n",
- " ),\n",
- " ]\n",
- " x_tr, y_tr = x_train, y_train_cat\n",
- " x_va, y_va = x_val, y_val_cat\n",
- " x_te, y_te, y_te_cat = x_test, y_test, y_test_cat\n",
- " x_eval, y_eval, y_eval_cat = x_val, y_val, y_val_cat\n",
- " fit_shuffle = True\n",
- "\n",
- " train_start = time.perf_counter()\n",
- " history_obj = model.fit(\n",
- " x_tr, y_tr,\n",
- " validation_data=(x_va, y_va),\n",
- " epochs=EPOCHS,\n",
- " batch_size=BATCH_SIZE,\n",
- " callbacks=callbacks,\n",
- " verbose=1,\n",
- " shuffle=fit_shuffle,\n",
- " )\n",
- " train_time_sec = float(time.perf_counter() - train_start)\n",
- "\n",
- " epochs_ran = int(len(history_obj.history.get(\"loss\", [])))\n",
- " if epochs_ran != EPOCHS:\n",
- " print(f\"WARNING: {model_name} ran {epochs_ran} epochs, expected {EPOCHS}.\")\n",
- " else:\n",
- " print(f\"{model_name} completed full training: {epochs_ran}/{EPOCHS} epochs.\")\n",
- "\n",
- " model.save(final_path)\n",
- "\n",
- " y_eval_prob = model.predict(x_eval, batch_size=BATCH_SIZE, verbose=0)\n",
- " y_test_prob = model.predict(x_te, batch_size=BATCH_SIZE, verbose=0)\n",
- " y_test_pred = np.argmax(y_test_prob, axis=1)\n",
- "\n",
- " report = classification_report(y_te, y_test_pred, output_dict=True, zero_division=0)\n",
- " cm = confusion_matrix(y_te, y_test_pred)\n",
- "\n",
- " row = {\n",
- " \"model\": model_name,\n",
- " \"capacity_tag\": capacity_tag,\n",
- " \"test_accuracy\": float(accuracy_score(y_te, y_test_pred)),\n",
- " \"kappa\": float(cohen_kappa_score(y_te, y_test_pred)),\n",
- " \"macro_f1\": float(f1_score(y_te, y_test_pred, average=\"macro\")),\n",
- " \"weighted_f1\": float(f1_score(y_te, y_test_pred, average=\"weighted\")),\n",
- " \"val_nll\": float(log_loss(y_eval, y_eval_prob, labels=np.arange(num_classes))),\n",
- " \"test_nll\": float(log_loss(y_te, y_test_prob, labels=np.arange(num_classes))),\n",
- " \"val_brier\": multiclass_brier_score(y_eval_cat, y_eval_prob),\n",
- " \"test_brier\": multiclass_brier_score(y_te_cat, y_test_prob),\n",
- " \"test_ece_15bin\": expected_calibration_error(y_te, y_test_prob, n_bins=15),\n",
- " \"epochs_configured\": int(EPOCHS),\n",
- " \"epochs_ran\": epochs_ran,\n",
- " \"train_time_sec\": train_time_sec,\n",
- " \"best_model_path\": str(best_path),\n",
- " \"final_model_path\": str(final_path),\n",
- " }\n",
- " return row, report, cm, history_obj.history"
- ],
- "id": "uBnFmm-mHlSJ"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "7ZGQTv8zHlSJ"
- },
- "source": [
- "# 6.0 \u2014 Model Training\n",
- "Build factory lambdas, then loop over all three architectures. OOM errors on GFNet and ViT automatically retry with reduced fallback configs."
- ],
- "id": "7ZGQTv8zHlSJ"
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "metadata": {
- "id": "MaWgBqlaHlSJ",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779846643954,
- "user_tz": -330,
- "elapsed": 0,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- }
- },
- "outputs": [],
- "source": [
- "def build_gfnet_with_cfg(cfg):\n",
- " \"\"\"Instantiate GFNet from a config dict.\"\"\"\n",
- " return build_gfnet(\n",
- " input_shape, num_classes,\n",
- " inner_patch=INNER_PATCH,\n",
- " hidden_dim=cfg[\"hidden_dim\"],\n",
- " num_blocks=cfg[\"num_blocks\"],\n",
- " mlp_ratio=cfg[\"mlp_ratio\"],\n",
- " dropout_rate=DROPOUT_RATE,\n",
- " )\n",
- "\n",
- "\n",
- "def build_vit_with_cfg(cfg):\n",
- " \"\"\"Instantiate ViT-UNet from a config dict.\"\"\"\n",
- " return build_vit_unet_singlehead(\n",
- " input_shape, num_classes,\n",
- " inner_patch=INNER_PATCH,\n",
- " projection_dim=cfg[\"projection_dim\"],\n",
- " num_heads=cfg[\"num_heads\"],\n",
- " transformer_layers=cfg[\"transformer_layers\"],\n",
- " mlp_multiplier=cfg[\"mlp_multiplier\"],\n",
- " dropout_rate=DROPOUT_RATE,\n",
- " head_units=tuple(cfg[\"head_units\"]),\n",
- " )\n",
- "\n",
- "\n",
- "model_builders = {\n",
- " \"AlexNet_CNN\": lambda: build_alexnet(input_shape, num_classes,\n",
- " dropout_rate=DROPOUT_RATE, cfg=ALEXNET_CFG),\n",
- " \"GFNet\": lambda: build_gfnet_with_cfg(GFNET_CFG),\n",
- " \"ViT_UNet\": lambda: build_vit_with_cfg(VIT_CFG),\n",
- "}"
- ],
- "id": "MaWgBqlaHlSJ"
- },
- {
- "cell_type": "code",
- "execution_count": 16,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 1000
- },
- "id": "RQldkkFBHlSJ",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779849692946,
- "user_tz": -330,
- "elapsed": 3048796,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- },
- "outputId": "2c43f239-13c4-4dd3-c6ef-ffcb7804eb12"
- },
- "outputs": [
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "\n",
- "========================= Training AlexNet_CNN (legacy_arch) =========================\n",
- "Epoch 1/100\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 95ms/step - accuracy: 0.4006 - loss: 1.7212\n",
- "Epoch 1: val_accuracy improved from None to 0.54687, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 1: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m29s\u001b[0m 163ms/step - accuracy: 0.4623 - loss: 1.5299 - val_accuracy: 0.5469 - val_loss: 1.3238 - learning_rate: 0.0200\n",
- "Epoch 2/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 53ms/step - accuracy: 0.5462 - loss: 1.1903\n",
- "Epoch 2: val_accuracy improved from 0.54687 to 0.60812, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 2: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 74ms/step - accuracy: 0.5701 - loss: 1.1108 - val_accuracy: 0.6081 - val_loss: 1.0109 - learning_rate: 0.0200\n",
- "Epoch 3/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 58ms/step - accuracy: 0.6050 - loss: 1.0199\n",
- "Epoch 3: val_accuracy improved from 0.60812 to 0.65058, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 3: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 78ms/step - accuracy: 0.6132 - loss: 0.9855 - val_accuracy: 0.6506 - val_loss: 0.8708 - learning_rate: 0.0200\n",
- "Epoch 4/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 54ms/step - accuracy: 0.6288 - loss: 0.9204\n",
- "Epoch 4: val_accuracy improved from 0.65058 to 0.68608, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 4: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 77ms/step - accuracy: 0.6419 - loss: 0.8951 - val_accuracy: 0.6861 - val_loss: 0.7995 - learning_rate: 0.0200\n",
- "Epoch 5/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.6800 - loss: 0.8184\n",
- "Epoch 5: val_accuracy improved from 0.68608 to 0.70603, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 5: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 76ms/step - accuracy: 0.6919 - loss: 0.7929 - val_accuracy: 0.7060 - val_loss: 0.7220 - learning_rate: 0.0199\n",
- "Epoch 6/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.7186 - loss: 0.7238\n",
- "Epoch 6: val_accuracy improved from 0.70603 to 0.78585, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 6: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 83ms/step - accuracy: 0.7325 - loss: 0.6908 - val_accuracy: 0.7858 - val_loss: 0.5848 - learning_rate: 0.0199\n",
- "Epoch 7/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.7633 - loss: 0.6310\n",
- "Epoch 7: val_accuracy improved from 0.78585 to 0.82483, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 7: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 76ms/step - accuracy: 0.7710 - loss: 0.6116 - val_accuracy: 0.8248 - val_loss: 0.4872 - learning_rate: 0.0199\n",
- "Epoch 8/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.8057 - loss: 0.5191\n",
- "Epoch 8: val_accuracy improved from 0.82483 to 0.85313, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 8: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 77ms/step - accuracy: 0.8179 - loss: 0.4967 - val_accuracy: 0.8531 - val_loss: 0.4235 - learning_rate: 0.0198\n",
- "Epoch 9/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.8299 - loss: 0.4630\n",
- "Epoch 9: val_accuracy improved from 0.85313 to 0.86845, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 9: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 85ms/step - accuracy: 0.8400 - loss: 0.4402 - val_accuracy: 0.8684 - val_loss: 0.3770 - learning_rate: 0.0198\n",
- "Epoch 10/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 58ms/step - accuracy: 0.8492 - loss: 0.4066\n",
- "Epoch 10: val_accuracy improved from 0.86845 to 0.87889, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 10: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 80ms/step - accuracy: 0.8577 - loss: 0.3875 - val_accuracy: 0.8789 - val_loss: 0.3345 - learning_rate: 0.0197\n",
- "Epoch 11/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 60ms/step - accuracy: 0.8709 - loss: 0.3436\n",
- "Epoch 11: val_accuracy improved from 0.87889 to 0.90510, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 11: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 84ms/step - accuracy: 0.8749 - loss: 0.3401 - val_accuracy: 0.9051 - val_loss: 0.2761 - learning_rate: 0.0196\n",
- "Epoch 12/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 61ms/step - accuracy: 0.8865 - loss: 0.3079\n",
- "Epoch 12: val_accuracy improved from 0.90510 to 0.91833, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 12: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 82ms/step - accuracy: 0.8930 - loss: 0.2968 - val_accuracy: 0.9183 - val_loss: 0.2396 - learning_rate: 0.0195\n",
- "Epoch 13/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 60ms/step - accuracy: 0.8916 - loss: 0.2859\n",
- "Epoch 13: val_accuracy improved from 0.91833 to 0.92274, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 13: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 81ms/step - accuracy: 0.8900 - loss: 0.2988 - val_accuracy: 0.9227 - val_loss: 0.2320 - learning_rate: 0.0195\n",
- "Epoch 14/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 58ms/step - accuracy: 0.9087 - loss: 0.2446\n",
- "Epoch 14: val_accuracy improved from 0.92274 to 0.93735, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 14: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 80ms/step - accuracy: 0.9139 - loss: 0.2344 - val_accuracy: 0.9374 - val_loss: 0.1779 - learning_rate: 0.0194\n",
- "Epoch 15/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 58ms/step - accuracy: 0.9197 - loss: 0.2129\n",
- "Epoch 15: val_accuracy did not improve from 0.93735\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 66ms/step - accuracy: 0.9217 - loss: 0.2132 - val_accuracy: 0.7457 - val_loss: 0.9513 - learning_rate: 0.0193\n",
- "Epoch 16/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 58ms/step - accuracy: 0.9071 - loss: 0.2606\n",
- "Epoch 16: val_accuracy did not improve from 0.93735\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 66ms/step - accuracy: 0.9283 - loss: 0.1946 - val_accuracy: 0.8944 - val_loss: 0.2924 - learning_rate: 0.0192\n",
- "Epoch 17/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 59ms/step - accuracy: 0.9332 - loss: 0.1806\n",
- "Epoch 17: val_accuracy improved from 0.93735 to 0.94756, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 17: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 80ms/step - accuracy: 0.9376 - loss: 0.1717 - val_accuracy: 0.9476 - val_loss: 0.1423 - learning_rate: 0.0191\n",
- "Epoch 18/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9411 - loss: 0.1559\n",
- "Epoch 18: val_accuracy improved from 0.94756 to 0.95916, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 18: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 80ms/step - accuracy: 0.9448 - loss: 0.1533 - val_accuracy: 0.9592 - val_loss: 0.1066 - learning_rate: 0.0189\n",
- "Epoch 19/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9511 - loss: 0.1365\n",
- "Epoch 19: val_accuracy improved from 0.95916 to 0.96056, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 19: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 78ms/step - accuracy: 0.9546 - loss: 0.1269 - val_accuracy: 0.9606 - val_loss: 0.1039 - learning_rate: 0.0188\n",
- "Epoch 20/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 58ms/step - accuracy: 0.9546 - loss: 0.1324\n",
- "Epoch 20: val_accuracy improved from 0.96056 to 0.96682, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 20: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 85ms/step - accuracy: 0.9539 - loss: 0.1385 - val_accuracy: 0.9668 - val_loss: 0.0894 - learning_rate: 0.0187\n",
- "Epoch 21/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 58ms/step - accuracy: 0.9670 - loss: 0.0939\n",
- "Epoch 21: val_accuracy did not improve from 0.96682\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 65ms/step - accuracy: 0.9682 - loss: 0.0898 - val_accuracy: 0.9522 - val_loss: 0.1257 - learning_rate: 0.0185\n",
- "Epoch 22/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 59ms/step - accuracy: 0.9703 - loss: 0.0846\n",
- "Epoch 22: val_accuracy did not improve from 0.96682\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 68ms/step - accuracy: 0.9727 - loss: 0.0770 - val_accuracy: 0.9661 - val_loss: 0.0899 - learning_rate: 0.0184\n",
- "Epoch 23/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 60ms/step - accuracy: 0.9724 - loss: 0.0778\n",
- "Epoch 23: val_accuracy improved from 0.96682 to 0.97285, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 23: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 86ms/step - accuracy: 0.9763 - loss: 0.0685 - val_accuracy: 0.9729 - val_loss: 0.0758 - learning_rate: 0.0182\n",
- "Epoch 24/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 59ms/step - accuracy: 0.9545 - loss: 0.1357\n",
- "Epoch 24: val_accuracy improved from 0.97285 to 0.97309, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 24: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 79ms/step - accuracy: 0.9701 - loss: 0.0904 - val_accuracy: 0.9731 - val_loss: 0.0761 - learning_rate: 0.0181\n",
- "Epoch 25/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9806 - loss: 0.0569\n",
- "Epoch 25: val_accuracy improved from 0.97309 to 0.97401, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 25: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 79ms/step - accuracy: 0.9811 - loss: 0.0545 - val_accuracy: 0.9740 - val_loss: 0.0704 - learning_rate: 0.0179\n",
- "Epoch 26/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9715 - loss: 1.3636\n",
- "Epoch 26: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 64ms/step - accuracy: 0.8759 - loss: 10.5928 - val_accuracy: 0.4241 - val_loss: 1.4973 - learning_rate: 0.0178\n",
- "Epoch 27/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.5487 - loss: 1.2224\n",
- "Epoch 27: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 64ms/step - accuracy: 0.5894 - loss: 1.0800 - val_accuracy: 0.6798 - val_loss: 0.8180 - learning_rate: 0.0176\n",
- "Epoch 28/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.6632 - loss: 0.8336\n",
- "Epoch 28: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 64ms/step - accuracy: 0.6901 - loss: 0.7746 - val_accuracy: 0.7369 - val_loss: 0.7141 - learning_rate: 0.0174\n",
- "Epoch 29/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.7736 - loss: 0.6136\n",
- "Epoch 29: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.7949 - loss: 0.5594 - val_accuracy: 0.8241 - val_loss: 0.4919 - learning_rate: 0.0172\n",
- "Epoch 30/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.8344 - loss: 0.4590\n",
- "Epoch 30: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 65ms/step - accuracy: 0.8453 - loss: 0.4314 - val_accuracy: 0.8752 - val_loss: 0.3771 - learning_rate: 0.0170\n",
- "Epoch 31/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.8581 - loss: 0.3942\n",
- "Epoch 31: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 61ms/step - accuracy: 0.8688 - loss: 0.3668 - val_accuracy: 0.7480 - val_loss: 0.7160 - learning_rate: 0.0169\n",
- "Epoch 32/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.8729 - loss: 0.3546\n",
- "Epoch 32: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.8855 - loss: 0.3197 - val_accuracy: 0.8448 - val_loss: 0.4314 - learning_rate: 0.0167\n",
- "Epoch 33/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.8844 - loss: 0.3179\n",
- "Epoch 33: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.8983 - loss: 0.2834 - val_accuracy: 0.8631 - val_loss: 0.3892 - learning_rate: 0.0165\n",
- "Epoch 34/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9036 - loss: 0.2603\n",
- "Epoch 34: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9096 - loss: 0.2485 - val_accuracy: 0.9278 - val_loss: 0.1984 - learning_rate: 0.0162\n",
- "Epoch 35/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9150 - loss: 0.2345\n",
- "Epoch 35: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9196 - loss: 0.2276 - val_accuracy: 0.9142 - val_loss: 0.2398 - learning_rate: 0.0160\n",
- "Epoch 36/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9175 - loss: 0.2205\n",
- "Epoch 36: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9257 - loss: 0.2059 - val_accuracy: 0.9230 - val_loss: 0.2116 - learning_rate: 0.0158\n",
- "Epoch 37/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9315 - loss: 0.1907\n",
- "Epoch 37: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9360 - loss: 0.1823 - val_accuracy: 0.8965 - val_loss: 0.2961 - learning_rate: 0.0156\n",
- "Epoch 38/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9271 - loss: 0.1957\n",
- "Epoch 38: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9404 - loss: 0.1643 - val_accuracy: 0.9448 - val_loss: 0.1469 - learning_rate: 0.0154\n",
- "Epoch 39/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9411 - loss: 0.1701\n",
- "Epoch 39: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9488 - loss: 0.1488 - val_accuracy: 0.9522 - val_loss: 0.1294 - learning_rate: 0.0152\n",
- "Epoch 40/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9524 - loss: 0.1436\n",
- "Epoch 40: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9568 - loss: 0.1281 - val_accuracy: 0.9622 - val_loss: 0.1098 - learning_rate: 0.0150\n",
- "Epoch 41/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9563 - loss: 0.1250\n",
- "Epoch 41: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9599 - loss: 0.1140 - val_accuracy: 0.9617 - val_loss: 0.1056 - learning_rate: 0.0147\n",
- "Epoch 42/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9514 - loss: 0.1473\n",
- "Epoch 42: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9505 - loss: 0.1604 - val_accuracy: 0.9555 - val_loss: 0.1222 - learning_rate: 0.0145\n",
- "Epoch 43/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9688 - loss: 0.0965\n",
- "Epoch 43: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9698 - loss: 0.0893 - val_accuracy: 0.9638 - val_loss: 0.1036 - learning_rate: 0.0143\n",
- "Epoch 44/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9481 - loss: 0.1529\n",
- "Epoch 44: val_accuracy did not improve from 0.97401\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9630 - loss: 0.1129 - val_accuracy: 0.9675 - val_loss: 0.0934 - learning_rate: 0.0140\n",
- "Epoch 45/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9742 - loss: 0.0756\n",
- "Epoch 45: val_accuracy improved from 0.97401 to 0.97912, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 45: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 75ms/step - accuracy: 0.9752 - loss: 0.0722 - val_accuracy: 0.9791 - val_loss: 0.0677 - learning_rate: 0.0138\n",
- "Epoch 46/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9710 - loss: 0.0879\n",
- "Epoch 46: val_accuracy did not improve from 0.97912\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9718 - loss: 0.0826 - val_accuracy: 0.9719 - val_loss: 0.0775 - learning_rate: 0.0136\n",
- "Epoch 47/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9765 - loss: 0.0662\n",
- "Epoch 47: val_accuracy did not improve from 0.97912\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 65ms/step - accuracy: 0.9773 - loss: 0.0647 - val_accuracy: 0.9761 - val_loss: 0.0682 - learning_rate: 0.0133\n",
- "Epoch 48/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 58ms/step - accuracy: 0.9791 - loss: 0.0602\n",
- "Epoch 48: val_accuracy improved from 0.97912 to 0.98005, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 48: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 81ms/step - accuracy: 0.9798 - loss: 0.0585 - val_accuracy: 0.9800 - val_loss: 0.0667 - learning_rate: 0.0131\n",
- "Epoch 49/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9813 - loss: 0.0557\n",
- "Epoch 49: val_accuracy improved from 0.98005 to 0.98260, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 49: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 77ms/step - accuracy: 0.9822 - loss: 0.0516 - val_accuracy: 0.9826 - val_loss: 0.0575 - learning_rate: 0.0129\n",
- "Epoch 50/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9841 - loss: 0.0488\n",
- "Epoch 50: val_accuracy did not improve from 0.98260\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9855 - loss: 0.0453 - val_accuracy: 0.9807 - val_loss: 0.0539 - learning_rate: 0.0126\n",
- "Epoch 51/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9853 - loss: 0.0446\n",
- "Epoch 51: val_accuracy did not improve from 0.98260\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 65ms/step - accuracy: 0.9851 - loss: 0.0426 - val_accuracy: 0.9794 - val_loss: 0.0543 - learning_rate: 0.0124\n",
- "Epoch 52/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9853 - loss: 0.0425\n",
- "Epoch 52: val_accuracy improved from 0.98260 to 0.98329, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 52: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 84ms/step - accuracy: 0.9867 - loss: 0.0376 - val_accuracy: 0.9833 - val_loss: 0.0439 - learning_rate: 0.0121\n",
- "Epoch 53/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9866 - loss: 0.0397\n",
- "Epoch 53: val_accuracy improved from 0.98329 to 0.98445, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 53: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 76ms/step - accuracy: 0.9875 - loss: 0.0372 - val_accuracy: 0.9845 - val_loss: 0.0420 - learning_rate: 0.0119\n",
- "Epoch 54/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9894 - loss: 0.0332\n",
- "Epoch 54: val_accuracy did not improve from 0.98445\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9904 - loss: 0.0310 - val_accuracy: 0.9821 - val_loss: 0.0506 - learning_rate: 0.0117\n",
- "Epoch 55/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9894 - loss: 0.0313\n",
- "Epoch 55: val_accuracy did not improve from 0.98445\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9896 - loss: 0.0306 - val_accuracy: 0.9803 - val_loss: 0.0597 - learning_rate: 0.0114\n",
- "Epoch 56/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9879 - loss: 0.0394\n",
- "Epoch 56: val_accuracy did not improve from 0.98445\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9725 - loss: 0.1003 - val_accuracy: 0.9671 - val_loss: 0.1015 - learning_rate: 0.0112\n",
- "Epoch 57/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9863 - loss: 0.0499\n",
- "Epoch 57: val_accuracy improved from 0.98445 to 0.98654, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 57: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 77ms/step - accuracy: 0.9891 - loss: 0.0375 - val_accuracy: 0.9865 - val_loss: 0.0394 - learning_rate: 0.0110\n",
- "Epoch 58/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9914 - loss: 0.0280\n",
- "Epoch 58: val_accuracy improved from 0.98654 to 0.98910, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 58: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 75ms/step - accuracy: 0.9915 - loss: 0.0264 - val_accuracy: 0.9891 - val_loss: 0.0310 - learning_rate: 0.0107\n",
- "Epoch 59/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9926 - loss: 0.0254\n",
- "Epoch 59: val_accuracy did not improve from 0.98910\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9934 - loss: 0.0219 - val_accuracy: 0.9868 - val_loss: 0.0330 - learning_rate: 0.0105\n",
- "Epoch 60/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9930 - loss: 0.0236\n",
- "Epoch 60: val_accuracy did not improve from 0.98910\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 64ms/step - accuracy: 0.9940 - loss: 0.0220 - val_accuracy: 0.9868 - val_loss: 0.0376 - learning_rate: 0.0103\n",
- "Epoch 61/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9925 - loss: 0.0224\n",
- "Epoch 61: val_accuracy did not improve from 0.98910\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 62ms/step - accuracy: 0.9932 - loss: 0.0205 - val_accuracy: 0.9875 - val_loss: 0.0333 - learning_rate: 0.0100\n",
- "Epoch 62/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9947 - loss: 0.0181\n",
- "Epoch 62: val_accuracy did not improve from 0.98910\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9952 - loss: 0.0169 - val_accuracy: 0.9889 - val_loss: 0.0296 - learning_rate: 0.0098\n",
- "Epoch 63/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9960 - loss: 0.0154\n",
- "Epoch 63: val_accuracy improved from 0.98910 to 0.98933, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 63: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 77ms/step - accuracy: 0.9965 - loss: 0.0135 - val_accuracy: 0.9893 - val_loss: 0.0303 - learning_rate: 0.0096\n",
- "Epoch 64/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9953 - loss: 0.0169\n",
- "Epoch 64: val_accuracy improved from 0.98933 to 0.98956, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 64: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 78ms/step - accuracy: 0.9950 - loss: 0.0167 - val_accuracy: 0.9896 - val_loss: 0.0345 - learning_rate: 0.0094\n",
- "Epoch 65/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9944 - loss: 0.0163\n",
- "Epoch 65: val_accuracy did not improve from 0.98956\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9952 - loss: 0.0153 - val_accuracy: 0.9875 - val_loss: 0.0325 - learning_rate: 0.0092\n",
- "Epoch 66/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9964 - loss: 0.0129\n",
- "Epoch 66: val_accuracy improved from 0.98956 to 0.99234, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 66: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 118ms/step - accuracy: 0.9964 - loss: 0.0128 - val_accuracy: 0.9923 - val_loss: 0.0238 - learning_rate: 0.0090\n",
- "Epoch 67/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9970 - loss: 0.0116\n",
- "Epoch 67: val_accuracy did not improve from 0.99234\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9971 - loss: 0.0106 - val_accuracy: 0.9879 - val_loss: 0.0347 - learning_rate: 0.0088\n",
- "Epoch 68/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9893 - loss: 0.0334\n",
- "Epoch 68: val_accuracy did not improve from 0.99234\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9943 - loss: 0.0189 - val_accuracy: 0.9810 - val_loss: 0.0671 - learning_rate: 0.0085\n",
- "Epoch 69/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9961 - loss: 0.0136\n",
- "Epoch 69: val_accuracy improved from 0.99234 to 0.99258, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 69: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 79ms/step - accuracy: 0.9970 - loss: 0.0121 - val_accuracy: 0.9926 - val_loss: 0.0213 - learning_rate: 0.0083\n",
- "Epoch 70/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9963 - loss: 0.0121\n",
- "Epoch 70: val_accuracy did not improve from 0.99258\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9967 - loss: 0.0113 - val_accuracy: 0.9905 - val_loss: 0.0266 - learning_rate: 0.0081\n",
- "Epoch 71/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9968 - loss: 0.0111\n",
- "Epoch 71: val_accuracy did not improve from 0.99258\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 70ms/step - accuracy: 0.9968 - loss: 0.0106 - val_accuracy: 0.9926 - val_loss: 0.0228 - learning_rate: 0.0080\n",
- "Epoch 72/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9975 - loss: 0.0099\n",
- "Epoch 72: val_accuracy did not improve from 0.99258\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 64ms/step - accuracy: 0.9975 - loss: 0.0094 - val_accuracy: 0.9921 - val_loss: 0.0231 - learning_rate: 0.0078\n",
- "Epoch 73/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9978 - loss: 0.0089\n",
- "Epoch 73: val_accuracy did not improve from 0.99258\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 64ms/step - accuracy: 0.9979 - loss: 0.0082 - val_accuracy: 0.9889 - val_loss: 0.0347 - learning_rate: 0.0076\n",
- "Epoch 74/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9968 - loss: 0.0088\n",
- "Epoch 74: val_accuracy improved from 0.99258 to 0.99374, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 74: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 75ms/step - accuracy: 0.9976 - loss: 0.0080 - val_accuracy: 0.9937 - val_loss: 0.0178 - learning_rate: 0.0074\n",
- "Epoch 75/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9978 - loss: 0.0082\n",
- "Epoch 75: val_accuracy did not improve from 0.99374\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 64ms/step - accuracy: 0.9974 - loss: 0.0089 - val_accuracy: 0.9923 - val_loss: 0.0229 - learning_rate: 0.0072\n",
- "Epoch 76/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9976 - loss: 0.0095\n",
- "Epoch 76: val_accuracy did not improve from 0.99374\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9977 - loss: 0.0088 - val_accuracy: 0.9896 - val_loss: 0.0341 - learning_rate: 0.0071\n",
- "Epoch 77/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9979 - loss: 0.0085\n",
- "Epoch 77: val_accuracy did not improve from 0.99374\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 64ms/step - accuracy: 0.9984 - loss: 0.0072 - val_accuracy: 0.9933 - val_loss: 0.0170 - learning_rate: 0.0069\n",
- "Epoch 78/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9984 - loss: 0.0057\n",
- "Epoch 78: val_accuracy did not improve from 0.99374\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9981 - loss: 0.0069 - val_accuracy: 0.9921 - val_loss: 0.0258 - learning_rate: 0.0068\n",
- "Epoch 79/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9980 - loss: 0.0071\n",
- "Epoch 79: val_accuracy did not improve from 0.99374\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9985 - loss: 0.0063 - val_accuracy: 0.9930 - val_loss: 0.0176 - learning_rate: 0.0066\n",
- "Epoch 80/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9991 - loss: 0.0049\n",
- "Epoch 80: val_accuracy did not improve from 0.99374\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9985 - loss: 0.0057 - val_accuracy: 0.9928 - val_loss: 0.0222 - learning_rate: 0.0065\n",
- "Epoch 81/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9977 - loss: 0.0069\n",
- "Epoch 81: val_accuracy did not improve from 0.99374\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9981 - loss: 0.0069 - val_accuracy: 0.9930 - val_loss: 0.0218 - learning_rate: 0.0063\n",
- "Epoch 82/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9973 - loss: 0.0080\n",
- "Epoch 82: val_accuracy improved from 0.99374 to 0.99490, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 82: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 76ms/step - accuracy: 0.9988 - loss: 0.0051 - val_accuracy: 0.9949 - val_loss: 0.0142 - learning_rate: 0.0062\n",
- "Epoch 83/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9983 - loss: 0.0059\n",
- "Epoch 83: val_accuracy did not improve from 0.99490\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9985 - loss: 0.0058 - val_accuracy: 0.9933 - val_loss: 0.0159 - learning_rate: 0.0061\n",
- "Epoch 84/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9992 - loss: 0.0051\n",
- "Epoch 84: val_accuracy did not improve from 0.99490\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9990 - loss: 0.0048 - val_accuracy: 0.9942 - val_loss: 0.0165 - learning_rate: 0.0059\n",
- "Epoch 85/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9989 - loss: 0.0050\n",
- "Epoch 85: val_accuracy did not improve from 0.99490\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9989 - loss: 0.0048 - val_accuracy: 0.9923 - val_loss: 0.0199 - learning_rate: 0.0058\n",
- "Epoch 86/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 58ms/step - accuracy: 0.9984 - loss: 0.0059\n",
- "Epoch 86: val_accuracy did not improve from 0.99490\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 65ms/step - accuracy: 0.9986 - loss: 0.0052 - val_accuracy: 0.9926 - val_loss: 0.0200 - learning_rate: 0.0057\n",
- "Epoch 87/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9987 - loss: 0.0049\n",
- "Epoch 87: val_accuracy did not improve from 0.99490\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 64ms/step - accuracy: 0.9991 - loss: 0.0046 - val_accuracy: 0.9940 - val_loss: 0.0161 - learning_rate: 0.0056\n",
- "Epoch 88/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9983 - loss: 0.0066\n",
- "Epoch 88: val_accuracy did not improve from 0.99490\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 64ms/step - accuracy: 0.9982 - loss: 0.0063 - val_accuracy: 0.9930 - val_loss: 0.0168 - learning_rate: 0.0055\n",
- "Epoch 89/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9994 - loss: 0.0041\n",
- "Epoch 89: val_accuracy did not improve from 0.99490\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9995 - loss: 0.0043 - val_accuracy: 0.9940 - val_loss: 0.0135 - learning_rate: 0.0055\n",
- "Epoch 90/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9981 - loss: 0.0056\n",
- "Epoch 90: val_accuracy did not improve from 0.99490\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9985 - loss: 0.0053 - val_accuracy: 0.9937 - val_loss: 0.0154 - learning_rate: 0.0054\n",
- "Epoch 91/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9992 - loss: 0.0043\n",
- "Epoch 91: val_accuracy did not improve from 0.99490\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 62ms/step - accuracy: 0.9994 - loss: 0.0037 - val_accuracy: 0.9949 - val_loss: 0.0134 - learning_rate: 0.0053\n",
- "Epoch 92/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9991 - loss: 0.0045\n",
- "Epoch 92: val_accuracy did not improve from 0.99490\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9990 - loss: 0.0046 - val_accuracy: 0.9933 - val_loss: 0.0156 - learning_rate: 0.0052\n",
- "Epoch 93/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9989 - loss: 0.0044\n",
- "Epoch 93: val_accuracy improved from 0.99490 to 0.99513, saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\n",
- "Epoch 93: finished saving model to /content/drive/My Drive/Classification/baseline/models/AlexNet_CNN_best.keras\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 95ms/step - accuracy: 0.9989 - loss: 0.0042 - val_accuracy: 0.9951 - val_loss: 0.0139 - learning_rate: 0.0052\n",
- "Epoch 94/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9990 - loss: 0.0043\n",
- "Epoch 94: val_accuracy did not improve from 0.99513\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9994 - loss: 0.0034 - val_accuracy: 0.9951 - val_loss: 0.0126 - learning_rate: 0.0051\n",
- "Epoch 95/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9998 - loss: 0.0033\n",
- "Epoch 95: val_accuracy did not improve from 0.99513\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 64ms/step - accuracy: 0.9998 - loss: 0.0032 - val_accuracy: 0.9937 - val_loss: 0.0147 - learning_rate: 0.0051\n",
- "Epoch 96/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 57ms/step - accuracy: 0.9986 - loss: 0.0064\n",
- "Epoch 96: val_accuracy did not improve from 0.99513\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 65ms/step - accuracy: 0.9991 - loss: 0.0047 - val_accuracy: 0.9942 - val_loss: 0.0137 - learning_rate: 0.0051\n",
- "Epoch 97/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9988 - loss: 0.0044\n",
- "Epoch 97: val_accuracy did not improve from 0.99513\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9987 - loss: 0.0043 - val_accuracy: 0.9935 - val_loss: 0.0161 - learning_rate: 0.0050\n",
- "Epoch 98/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9993 - loss: 0.0035\n",
- "Epoch 98: val_accuracy did not improve from 0.99513\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9995 - loss: 0.0028 - val_accuracy: 0.9928 - val_loss: 0.0172 - learning_rate: 0.0050\n",
- "Epoch 99/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 56ms/step - accuracy: 0.9995 - loss: 0.0037\n",
- "Epoch 99: val_accuracy did not improve from 0.99513\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9995 - loss: 0.0033 - val_accuracy: 0.9937 - val_loss: 0.0158 - learning_rate: 0.0050\n",
- "Epoch 100/100\n",
- "\u001b[1m101/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u2501\u001b[0m \u001b[1m0s\u001b[0m 55ms/step - accuracy: 0.9991 - loss: 0.0039\n",
- "Epoch 100: val_accuracy did not improve from 0.99513\n",
- "\u001b[1m102/102\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 63ms/step - accuracy: 0.9994 - loss: 0.0033 - val_accuracy: 0.9935 - val_loss: 0.0191 - learning_rate: 0.0050\n",
- "AlexNet_CNN completed full training: 100/100 epochs.\n",
- "\n",
- "========================= Training GFNet (legacy_arch) =========================\n",
- "Epoch 1/100\n"
- ]
- },
- {
- "output_type": "stream",
- "name": "stderr",
- "text": [
- "WARNING:tensorflow:You are casting an input of type complex64 to an incompatible dtype float32. This will discard the imaginary part and may not be what you intended.\n",
- "WARNING:tensorflow:You are casting an input of type complex64 to an incompatible dtype float32. This will discard the imaginary part and may not be what you intended.\n",
- "WARNING:tensorflow:You are casting an input of type complex64 to an incompatible dtype float32. This will discard the imaginary part and may not be what you intended.\n",
- "WARNING:tensorflow:You are casting an input of type complex64 to an incompatible dtype float32. This will discard the imaginary part and may not be what you intended.\n",
- "WARNING:tensorflow:You are casting an input of type complex64 to an incompatible dtype float32. This will discard the imaginary part and may not be what you intended.\n",
- "WARNING:tensorflow:You are casting an input of type complex64 to an incompatible dtype float32. This will discard the imaginary part and may not be what you intended.\n",
- "WARNING:tensorflow:You are casting an input of type complex64 to an incompatible dtype float32. This will discard the imaginary part and may not be what you intended.\n",
- "WARNING:tensorflow:You are casting an input of type complex64 to an incompatible dtype float32. This will discard the imaginary part and may not be what you intended.\n",
- "WARNING:tensorflow:You are casting an input of type complex64 to an incompatible dtype float32. This will discard the imaginary part and may not be what you intended.\n",
- "WARNING:tensorflow:You are casting an input of type complex64 to an incompatible dtype float32. This will discard the imaginary part and may not be what you intended.\n"
- ]
- },
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 291ms/step - accuracy: 0.4690 - loss: 1.8169\n",
- "Epoch 1: val_loss improved from None to 0.92330, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 1: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m59s\u001b[0m 355ms/step - accuracy: 0.5708 - loss: 1.3325 - val_accuracy: 0.7231 - val_loss: 0.9233\n",
- "Epoch 2/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.7384 - loss: 0.8542\n",
- "Epoch 2: val_loss improved from 0.92330 to 0.72210, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 2: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 97ms/step - accuracy: 0.7569 - loss: 0.8148 - val_accuracy: 0.8314 - val_loss: 0.7221\n",
- "Epoch 3/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 84ms/step - accuracy: 0.8228 - loss: 0.6765\n",
- "Epoch 3: val_loss improved from 0.72210 to 0.64499, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 3: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 96ms/step - accuracy: 0.8226 - loss: 0.6731 - val_accuracy: 0.8616 - val_loss: 0.6450\n",
- "Epoch 4/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 86ms/step - accuracy: 0.8584 - loss: 0.5987\n",
- "Epoch 4: val_loss improved from 0.64499 to 0.56297, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 4: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 98ms/step - accuracy: 0.8546 - loss: 0.6044 - val_accuracy: 0.8964 - val_loss: 0.5630\n",
- "Epoch 5/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 83ms/step - accuracy: 0.8876 - loss: 0.5384\n",
- "Epoch 5: val_loss improved from 0.56297 to 0.51537, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 5: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 95ms/step - accuracy: 0.8838 - loss: 0.5474 - val_accuracy: 0.9053 - val_loss: 0.5154\n",
- "Epoch 6/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 83ms/step - accuracy: 0.8961 - loss: 0.5120\n",
- "Epoch 6: val_loss improved from 0.51537 to 0.51115, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 6: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 95ms/step - accuracy: 0.8971 - loss: 0.5125 - val_accuracy: 0.9064 - val_loss: 0.5111\n",
- "Epoch 7/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9092 - loss: 0.4879\n",
- "Epoch 7: val_loss improved from 0.51115 to 0.50119, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 7: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 93ms/step - accuracy: 0.9111 - loss: 0.4853 - val_accuracy: 0.9080 - val_loss: 0.5012\n",
- "Epoch 8/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9171 - loss: 0.4567\n",
- "Epoch 8: val_loss improved from 0.50119 to 0.45397, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 8: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 98ms/step - accuracy: 0.9185 - loss: 0.4543 - val_accuracy: 0.9296 - val_loss: 0.4540\n",
- "Epoch 9/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 80ms/step - accuracy: 0.9322 - loss: 0.4305\n",
- "Epoch 9: val_loss did not improve from 0.45397\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9315 - loss: 0.4331 - val_accuracy: 0.9374 - val_loss: 0.4554\n",
- "Epoch 10/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9323 - loss: 0.4241\n",
- "Epoch 10: val_loss improved from 0.45397 to 0.44961, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 10: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 93ms/step - accuracy: 0.9325 - loss: 0.4242 - val_accuracy: 0.9408 - val_loss: 0.4496\n",
- "Epoch 11/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9388 - loss: 0.4133\n",
- "Epoch 11: val_loss improved from 0.44961 to 0.44063, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 11: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 95ms/step - accuracy: 0.9397 - loss: 0.4089 - val_accuracy: 0.9358 - val_loss: 0.4406\n",
- "Epoch 12/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9505 - loss: 0.3857\n",
- "Epoch 12: val_loss improved from 0.44063 to 0.38260, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 12: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 93ms/step - accuracy: 0.9512 - loss: 0.3828 - val_accuracy: 0.9621 - val_loss: 0.3826\n",
- "Epoch 13/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9582 - loss: 0.3735\n",
- "Epoch 13: val_loss improved from 0.38260 to 0.36648, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 13: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 96ms/step - accuracy: 0.9525 - loss: 0.3825 - val_accuracy: 0.9648 - val_loss: 0.3665\n",
- "Epoch 14/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9667 - loss: 0.3540\n",
- "Epoch 14: val_loss did not improve from 0.36648\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9623 - loss: 0.3619 - val_accuracy: 0.9664 - val_loss: 0.3753\n",
- "Epoch 15/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9656 - loss: 0.3494\n",
- "Epoch 15: val_loss improved from 0.36648 to 0.36563, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 15: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 97ms/step - accuracy: 0.9646 - loss: 0.3534 - val_accuracy: 0.9702 - val_loss: 0.3656\n",
- "Epoch 16/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9707 - loss: 0.3424\n",
- "Epoch 16: val_loss improved from 0.36563 to 0.35581, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 16: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 93ms/step - accuracy: 0.9698 - loss: 0.3439 - val_accuracy: 0.9776 - val_loss: 0.3558\n",
- "Epoch 17/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9721 - loss: 0.3322\n",
- "Epoch 17: val_loss did not improve from 0.35581\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9710 - loss: 0.3341 - val_accuracy: 0.9737 - val_loss: 0.3573\n",
- "Epoch 18/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9735 - loss: 0.3317\n",
- "Epoch 18: val_loss improved from 0.35581 to 0.34716, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 18: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 93ms/step - accuracy: 0.9728 - loss: 0.3345 - val_accuracy: 0.9814 - val_loss: 0.3472\n",
- "Epoch 19/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9795 - loss: 0.3176\n",
- "Epoch 19: val_loss did not improve from 0.34716\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9785 - loss: 0.3191 - val_accuracy: 0.9733 - val_loss: 0.3729\n",
- "Epoch 20/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9726 - loss: 0.3275\n",
- "Epoch 20: val_loss did not improve from 0.34716\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9746 - loss: 0.3271 - val_accuracy: 0.9799 - val_loss: 0.3536\n",
- "Epoch 21/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9781 - loss: 0.3218\n",
- "Epoch 21: val_loss improved from 0.34716 to 0.32581, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 21: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 94ms/step - accuracy: 0.9823 - loss: 0.3120 - val_accuracy: 0.9888 - val_loss: 0.3258\n",
- "Epoch 22/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9855 - loss: 0.3046\n",
- "Epoch 22: val_loss did not improve from 0.32581\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9834 - loss: 0.3098 - val_accuracy: 0.9845 - val_loss: 0.3380\n",
- "Epoch 23/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9815 - loss: 0.3106\n",
- "Epoch 23: val_loss improved from 0.32581 to 0.31583, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 23: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 94ms/step - accuracy: 0.9837 - loss: 0.3084 - val_accuracy: 0.9923 - val_loss: 0.3158\n",
- "Epoch 24/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9893 - loss: 0.2960\n",
- "Epoch 24: val_loss improved from 0.31583 to 0.31444, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 24: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 93ms/step - accuracy: 0.9885 - loss: 0.2977 - val_accuracy: 0.9930 - val_loss: 0.3144\n",
- "Epoch 25/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9913 - loss: 0.2929\n",
- "Epoch 25: val_loss did not improve from 0.31444\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9887 - loss: 0.2965 - val_accuracy: 0.9869 - val_loss: 0.3310\n",
- "Epoch 26/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9878 - loss: 0.2987\n",
- "Epoch 26: val_loss did not improve from 0.31444\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9874 - loss: 0.2998 - val_accuracy: 0.9896 - val_loss: 0.3195\n",
- "Epoch 27/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 83ms/step - accuracy: 0.9933 - loss: 0.2873\n",
- "Epoch 27: val_loss did not improve from 0.31444\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 87ms/step - accuracy: 0.9911 - loss: 0.2908 - val_accuracy: 0.9919 - val_loss: 0.3229\n",
- "Epoch 28/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9911 - loss: 0.2892\n",
- "Epoch 28: val_loss did not improve from 0.31444\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 86ms/step - accuracy: 0.9902 - loss: 0.2920 - val_accuracy: 0.9927 - val_loss: 0.3171\n",
- "Epoch 29/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9884 - loss: 0.2927\n",
- "Epoch 29: val_loss did not improve from 0.31444\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9878 - loss: 0.2967 - val_accuracy: 0.9872 - val_loss: 0.3346\n",
- "Epoch 30/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9913 - loss: 0.2871\n",
- "Epoch 30: val_loss did not improve from 0.31444\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9912 - loss: 0.2878 - val_accuracy: 0.9899 - val_loss: 0.3240\n",
- "Epoch 31/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9910 - loss: 0.2881\n",
- "Epoch 31: val_loss did not improve from 0.31444\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9907 - loss: 0.2898 - val_accuracy: 0.9869 - val_loss: 0.3270\n",
- "Epoch 32/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9935 - loss: 0.2833\n",
- "Epoch 32: val_loss improved from 0.31444 to 0.30849, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 32: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 97ms/step - accuracy: 0.9936 - loss: 0.2828 - val_accuracy: 0.9954 - val_loss: 0.3085\n",
- "Epoch 33/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9966 - loss: 0.2740\n",
- "Epoch 33: val_loss did not improve from 0.30849\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9953 - loss: 0.2770 - val_accuracy: 0.9865 - val_loss: 0.3319\n",
- "Epoch 34/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 83ms/step - accuracy: 0.9952 - loss: 0.2788\n",
- "Epoch 34: val_loss improved from 0.30849 to 0.30813, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 34: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 123ms/step - accuracy: 0.9939 - loss: 0.2808 - val_accuracy: 0.9950 - val_loss: 0.3081\n",
- "Epoch 35/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9955 - loss: 0.2779\n",
- "Epoch 35: val_loss did not improve from 0.30813\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9949 - loss: 0.2788 - val_accuracy: 0.9930 - val_loss: 0.3205\n",
- "Epoch 36/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 84ms/step - accuracy: 0.9940 - loss: 0.2780\n",
- "Epoch 36: val_loss did not improve from 0.30813\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 90ms/step - accuracy: 0.9943 - loss: 0.2779 - val_accuracy: 0.9938 - val_loss: 0.3092\n",
- "Epoch 37/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 83ms/step - accuracy: 0.9956 - loss: 0.2776\n",
- "Epoch 37: val_loss did not improve from 0.30813\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 87ms/step - accuracy: 0.9948 - loss: 0.2777 - val_accuracy: 0.9930 - val_loss: 0.3134\n",
- "Epoch 38/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9930 - loss: 0.2782\n",
- "Epoch 38: val_loss improved from 0.30813 to 0.30619, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 38: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 101ms/step - accuracy: 0.9952 - loss: 0.2754 - val_accuracy: 0.9946 - val_loss: 0.3062\n",
- "Epoch 39/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9949 - loss: 0.2752\n",
- "Epoch 39: val_loss did not improve from 0.30619\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9951 - loss: 0.2763 - val_accuracy: 0.9934 - val_loss: 0.3072\n",
- "Epoch 40/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 85ms/step - accuracy: 0.9969 - loss: 0.2717\n",
- "Epoch 40: val_loss did not improve from 0.30619\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 90ms/step - accuracy: 0.9956 - loss: 0.2750 - val_accuracy: 0.9923 - val_loss: 0.3143\n",
- "Epoch 41/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9963 - loss: 0.2727\n",
- "Epoch 41: val_loss did not improve from 0.30619\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9965 - loss: 0.2731 - val_accuracy: 0.9927 - val_loss: 0.3099\n",
- "Epoch 42/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9967 - loss: 0.2711\n",
- "Epoch 42: val_loss did not improve from 0.30619\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9959 - loss: 0.2731 - val_accuracy: 0.9934 - val_loss: 0.3082\n",
- "Epoch 43/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9972 - loss: 0.2700\n",
- "Epoch 43: val_loss improved from 0.30619 to 0.30236, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 43: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 93ms/step - accuracy: 0.9969 - loss: 0.2715 - val_accuracy: 0.9954 - val_loss: 0.3024\n",
- "Epoch 44/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9981 - loss: 0.2675\n",
- "Epoch 44: val_loss did not improve from 0.30236\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9977 - loss: 0.2682 - val_accuracy: 0.9957 - val_loss: 0.3045\n",
- "Epoch 45/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9976 - loss: 0.2689\n",
- "Epoch 45: val_loss improved from 0.30236 to 0.30218, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 45: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 104ms/step - accuracy: 0.9968 - loss: 0.2704 - val_accuracy: 0.9973 - val_loss: 0.3022\n",
- "Epoch 46/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9982 - loss: 0.2662\n",
- "Epoch 46: val_loss improved from 0.30218 to 0.30187, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 46: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 121ms/step - accuracy: 0.9976 - loss: 0.2682 - val_accuracy: 0.9965 - val_loss: 0.3019\n",
- "Epoch 47/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9975 - loss: 0.2672\n",
- "Epoch 47: val_loss did not improve from 0.30187\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 87ms/step - accuracy: 0.9981 - loss: 0.2659 - val_accuracy: 0.9938 - val_loss: 0.3125\n",
- "Epoch 48/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 84ms/step - accuracy: 0.9974 - loss: 0.2681\n",
- "Epoch 48: val_loss improved from 0.30187 to 0.29649, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 48: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 96ms/step - accuracy: 0.9982 - loss: 0.2664 - val_accuracy: 0.9977 - val_loss: 0.2965\n",
- "Epoch 49/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9990 - loss: 0.2648\n",
- "Epoch 49: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 87ms/step - accuracy: 0.9990 - loss: 0.2647 - val_accuracy: 0.9973 - val_loss: 0.2980\n",
- "Epoch 50/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 86ms/step - accuracy: 0.9990 - loss: 0.2644\n",
- "Epoch 50: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 91ms/step - accuracy: 0.9986 - loss: 0.2654 - val_accuracy: 0.9954 - val_loss: 0.3046\n",
- "Epoch 51/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 84ms/step - accuracy: 0.9972 - loss: 0.2673\n",
- "Epoch 51: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 88ms/step - accuracy: 0.9970 - loss: 0.2687 - val_accuracy: 0.9923 - val_loss: 0.3064\n",
- "Epoch 52/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 83ms/step - accuracy: 0.9979 - loss: 0.2666\n",
- "Epoch 52: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9970 - loss: 0.2683 - val_accuracy: 0.9954 - val_loss: 0.2987\n",
- "Epoch 53/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9952 - loss: 0.2716\n",
- "Epoch 53: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9960 - loss: 0.2698 - val_accuracy: 0.9965 - val_loss: 0.3039\n",
- "Epoch 54/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9989 - loss: 0.2633\n",
- "Epoch 54: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9991 - loss: 0.2629 - val_accuracy: 0.9973 - val_loss: 0.2965\n",
- "Epoch 55/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9992 - loss: 0.2626\n",
- "Epoch 55: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9990 - loss: 0.2630 - val_accuracy: 0.9961 - val_loss: 0.2991\n",
- "Epoch 56/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9978 - loss: 0.2646\n",
- "Epoch 56: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9984 - loss: 0.2637 - val_accuracy: 0.9977 - val_loss: 0.2970\n",
- "Epoch 57/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9964 - loss: 0.2676\n",
- "Epoch 57: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9969 - loss: 0.2673 - val_accuracy: 0.9965 - val_loss: 0.2992\n",
- "Epoch 58/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9982 - loss: 0.2658\n",
- "Epoch 58: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9981 - loss: 0.2658 - val_accuracy: 0.9973 - val_loss: 0.2996\n",
- "Epoch 59/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9988 - loss: 0.2631\n",
- "Epoch 59: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9981 - loss: 0.2639 - val_accuracy: 0.9961 - val_loss: 0.2996\n",
- "Epoch 60/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9976 - loss: 0.2662\n",
- "Epoch 60: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9973 - loss: 0.2666 - val_accuracy: 0.9965 - val_loss: 0.3028\n",
- "Epoch 61/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9979 - loss: 0.2661\n",
- "Epoch 61: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9980 - loss: 0.2656 - val_accuracy: 0.9954 - val_loss: 0.3003\n",
- "Epoch 62/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9994 - loss: 0.2611\n",
- "Epoch 62: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9995 - loss: 0.2610 - val_accuracy: 0.9969 - val_loss: 0.2997\n",
- "Epoch 63/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9987 - loss: 0.2621\n",
- "Epoch 63: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9985 - loss: 0.2631 - val_accuracy: 0.9973 - val_loss: 0.2983\n",
- "Epoch 64/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9980 - loss: 0.2644\n",
- "Epoch 64: val_loss did not improve from 0.29649\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9985 - loss: 0.2633 - val_accuracy: 0.9965 - val_loss: 0.2987\n",
- "Epoch 65/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9996 - loss: 0.2606\n",
- "Epoch 65: val_loss improved from 0.29649 to 0.29620, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 65: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 93ms/step - accuracy: 0.9996 - loss: 0.2605 - val_accuracy: 0.9977 - val_loss: 0.2962\n",
- "Epoch 66/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9990 - loss: 0.2611\n",
- "Epoch 66: val_loss did not improve from 0.29620\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9989 - loss: 0.2613 - val_accuracy: 0.9965 - val_loss: 0.2975\n",
- "Epoch 67/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9996 - loss: 0.2601\n",
- "Epoch 67: val_loss did not improve from 0.29620\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9992 - loss: 0.2606 - val_accuracy: 0.9954 - val_loss: 0.3039\n",
- "Epoch 68/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 84ms/step - accuracy: 0.9997 - loss: 0.2604\n",
- "Epoch 68: val_loss did not improve from 0.29620\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 87ms/step - accuracy: 0.9995 - loss: 0.2602 - val_accuracy: 0.9961 - val_loss: 0.2999\n",
- "Epoch 69/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9994 - loss: 0.2603\n",
- "Epoch 69: val_loss did not improve from 0.29620\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9993 - loss: 0.2603 - val_accuracy: 0.9965 - val_loss: 0.3027\n",
- "Epoch 70/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 83ms/step - accuracy: 0.9997 - loss: 0.2598\n",
- "Epoch 70: val_loss did not improve from 0.29620\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9996 - loss: 0.2599 - val_accuracy: 0.9969 - val_loss: 0.2968\n",
- "Epoch 71/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9995 - loss: 0.2593\n",
- "Epoch 71: val_loss did not improve from 0.29620\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9996 - loss: 0.2592 - val_accuracy: 0.9973 - val_loss: 0.2963\n",
- "Epoch 72/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9997 - loss: 0.2590\n",
- "Epoch 72: val_loss did not improve from 0.29620\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9997 - loss: 0.2591 - val_accuracy: 0.9969 - val_loss: 0.2974\n",
- "Epoch 73/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9996 - loss: 0.2594\n",
- "Epoch 73: val_loss did not improve from 0.29620\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9996 - loss: 0.2595 - val_accuracy: 0.9954 - val_loss: 0.3013\n",
- "Epoch 74/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9998 - loss: 0.2594\n",
- "Epoch 74: val_loss did not improve from 0.29620\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9992 - loss: 0.2600 - val_accuracy: 0.9973 - val_loss: 0.2963\n",
- "Epoch 75/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9996 - loss: 0.2591\n",
- "Epoch 75: val_loss improved from 0.29620 to 0.29563, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 75: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 93ms/step - accuracy: 0.9994 - loss: 0.2595 - val_accuracy: 0.9981 - val_loss: 0.2956\n",
- "Epoch 76/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9998 - loss: 0.2586\n",
- "Epoch 76: val_loss improved from 0.29563 to 0.29485, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 76: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 94ms/step - accuracy: 0.9997 - loss: 0.2588 - val_accuracy: 0.9985 - val_loss: 0.2949\n",
- "Epoch 77/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9999 - loss: 0.2585\n",
- "Epoch 77: val_loss did not improve from 0.29485\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9996 - loss: 0.2589 - val_accuracy: 0.9969 - val_loss: 0.2973\n",
- "Epoch 78/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 86ms/step - accuracy: 0.9996 - loss: 0.2588\n",
- "Epoch 78: val_loss did not improve from 0.29485\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 90ms/step - accuracy: 0.9994 - loss: 0.2591 - val_accuracy: 0.9965 - val_loss: 0.2966\n",
- "Epoch 79/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9994 - loss: 0.2597\n",
- "Epoch 79: val_loss improved from 0.29485 to 0.29403, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 79: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 93ms/step - accuracy: 0.9997 - loss: 0.2590 - val_accuracy: 0.9985 - val_loss: 0.2940\n",
- "Epoch 80/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 83ms/step - accuracy: 0.9996 - loss: 0.2586\n",
- "Epoch 80: val_loss did not improve from 0.29403\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 87ms/step - accuracy: 0.9994 - loss: 0.2590 - val_accuracy: 0.9973 - val_loss: 0.2971\n",
- "Epoch 81/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 84ms/step - accuracy: 0.9999 - loss: 0.2584\n",
- "Epoch 81: val_loss did not improve from 0.29403\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 89ms/step - accuracy: 0.9997 - loss: 0.2587 - val_accuracy: 0.9961 - val_loss: 0.3016\n",
- "Epoch 82/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9993 - loss: 0.2595\n",
- "Epoch 82: val_loss did not improve from 0.29403\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9996 - loss: 0.2588 - val_accuracy: 0.9977 - val_loss: 0.2967\n",
- "Epoch 83/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9997 - loss: 0.2583\n",
- "Epoch 83: val_loss did not improve from 0.29403\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9997 - loss: 0.2584 - val_accuracy: 0.9973 - val_loss: 0.2959\n",
- "Epoch 84/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 1.0000 - loss: 0.2577\n",
- "Epoch 84: val_loss did not improve from 0.29403\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9998 - loss: 0.2580 - val_accuracy: 0.9969 - val_loss: 0.2967\n",
- "Epoch 85/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9998 - loss: 0.2579\n",
- "Epoch 85: val_loss did not improve from 0.29403\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9998 - loss: 0.2580 - val_accuracy: 0.9981 - val_loss: 0.2950\n",
- "Epoch 86/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 1.0000 - loss: 0.2575\n",
- "Epoch 86: val_loss did not improve from 0.29403\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 1.0000 - loss: 0.2575 - val_accuracy: 0.9977 - val_loss: 0.2961\n",
- "Epoch 87/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9997 - loss: 0.2582\n",
- "Epoch 87: val_loss did not improve from 0.29403\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9995 - loss: 0.2585 - val_accuracy: 0.9961 - val_loss: 0.3004\n",
- "Epoch 88/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9997 - loss: 0.2591\n",
- "Epoch 88: val_loss did not improve from 0.29403\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 85ms/step - accuracy: 0.9998 - loss: 0.2585 - val_accuracy: 0.9977 - val_loss: 0.2953\n",
- "Epoch 89/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 83ms/step - accuracy: 0.9999 - loss: 0.2577\n",
- "Epoch 89: val_loss improved from 0.29403 to 0.29383, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 89: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 95ms/step - accuracy: 0.9998 - loss: 0.2580 - val_accuracy: 0.9985 - val_loss: 0.2938\n",
- "Epoch 90/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9998 - loss: 0.2583\n",
- "Epoch 90: val_loss did not improve from 0.29383\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 84ms/step - accuracy: 0.9997 - loss: 0.2582 - val_accuracy: 0.9973 - val_loss: 0.2977\n",
- "Epoch 91/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 85ms/step - accuracy: 0.9998 - loss: 0.2576\n",
- "Epoch 91: val_loss did not improve from 0.29383\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 89ms/step - accuracy: 0.9998 - loss: 0.2577 - val_accuracy: 0.9965 - val_loss: 0.2957\n",
- "Epoch 92/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 0.9999 - loss: 0.2576\n",
- "Epoch 92: val_loss did not improve from 0.29383\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 0.9998 - loss: 0.2578 - val_accuracy: 0.9977 - val_loss: 0.2967\n",
- "Epoch 93/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 83ms/step - accuracy: 0.9999 - loss: 0.2577\n",
- "Epoch 93: val_loss did not improve from 0.29383\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 87ms/step - accuracy: 0.9999 - loss: 0.2577 - val_accuracy: 0.9981 - val_loss: 0.2958\n",
- "Epoch 94/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9999 - loss: 0.2575\n",
- "Epoch 94: val_loss did not improve from 0.29383\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9999 - loss: 0.2576 - val_accuracy: 0.9973 - val_loss: 0.2952\n",
- "Epoch 95/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 83ms/step - accuracy: 1.0000 - loss: 0.2577\n",
- "Epoch 95: val_loss did not improve from 0.29383\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 87ms/step - accuracy: 1.0000 - loss: 0.2575 - val_accuracy: 0.9981 - val_loss: 0.2942\n",
- "Epoch 96/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9996 - loss: 0.2578\n",
- "Epoch 96: val_loss did not improve from 0.29383\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9999 - loss: 0.2575 - val_accuracy: 0.9977 - val_loss: 0.2948\n",
- "Epoch 97/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 83ms/step - accuracy: 0.9998 - loss: 0.2574\n",
- "Epoch 97: val_loss did not improve from 0.29383\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 87ms/step - accuracy: 0.9998 - loss: 0.2574 - val_accuracy: 0.9977 - val_loss: 0.2960\n",
- "Epoch 98/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 0.9999 - loss: 0.2576\n",
- "Epoch 98: val_loss did not improve from 0.29383\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 85ms/step - accuracy: 0.9999 - loss: 0.2576 - val_accuracy: 0.9981 - val_loss: 0.2945\n",
- "Epoch 99/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 82ms/step - accuracy: 1.0000 - loss: 0.2573\n",
- "Epoch 99: val_loss did not improve from 0.29383\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 86ms/step - accuracy: 1.0000 - loss: 0.2573 - val_accuracy: 0.9985 - val_loss: 0.2941\n",
- "Epoch 100/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 81ms/step - accuracy: 1.0000 - loss: 0.2573\n",
- "Epoch 100: val_loss improved from 0.29383 to 0.29382, saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\n",
- "Epoch 100: finished saving model to /content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 93ms/step - accuracy: 1.0000 - loss: 0.2573 - val_accuracy: 0.9985 - val_loss: 0.2938\n",
- "GFNet completed full training: 100/100 epochs.\n",
- "\n",
- "========================= Training ViT_UNet (legacy_arch) =========================\n",
- "Epoch 1/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 736ms/step - accuracy: 0.4895 - loss: 1.4086\n",
- "Epoch 1: val_loss improved from None to 0.94022, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 1: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m168s\u001b[0m 877ms/step - accuracy: 0.5583 - loss: 1.2471 - val_accuracy: 0.6976 - val_loss: 0.9402\n",
- "Epoch 2/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 146ms/step - accuracy: 0.7108 - loss: 0.9462\n",
- "Epoch 2: val_loss improved from 0.94022 to 0.77123, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 2: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 170ms/step - accuracy: 0.7241 - loss: 0.9120 - val_accuracy: 0.7722 - val_loss: 0.7712\n",
- "Epoch 3/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 148ms/step - accuracy: 0.7749 - loss: 0.7898\n",
- "Epoch 3: val_loss improved from 0.77123 to 0.59246, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 3: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 172ms/step - accuracy: 0.7899 - loss: 0.7706 - val_accuracy: 0.8612 - val_loss: 0.5925\n",
- "Epoch 4/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.8534 - loss: 0.6499\n",
- "Epoch 4: val_loss improved from 0.59246 to 0.56601, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 4: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 168ms/step - accuracy: 0.8541 - loss: 0.6443 - val_accuracy: 0.8774 - val_loss: 0.5660\n",
- "Epoch 5/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.8705 - loss: 0.6017\n",
- "Epoch 5: val_loss did not improve from 0.56601\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.8706 - loss: 0.6070 - val_accuracy: 0.8763 - val_loss: 0.5862\n",
- "Epoch 6/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 145ms/step - accuracy: 0.8692 - loss: 0.5996\n",
- "Epoch 6: val_loss improved from 0.56601 to 0.52278, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 6: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 170ms/step - accuracy: 0.8722 - loss: 0.5970 - val_accuracy: 0.8848 - val_loss: 0.5228\n",
- "Epoch 7/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 141ms/step - accuracy: 0.8880 - loss: 0.5473\n",
- "Epoch 7: val_loss improved from 0.52278 to 0.49806, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 7: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m18s\u001b[0m 224ms/step - accuracy: 0.8927 - loss: 0.5382 - val_accuracy: 0.9165 - val_loss: 0.4981\n",
- "Epoch 8/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9053 - loss: 0.5065\n",
- "Epoch 8: val_loss improved from 0.49806 to 0.48159, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 8: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m20s\u001b[0m 247ms/step - accuracy: 0.9061 - loss: 0.5099 - val_accuracy: 0.9026 - val_loss: 0.4816\n",
- "Epoch 9/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.9130 - loss: 0.4913\n",
- "Epoch 9: val_loss did not improve from 0.48159\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 153ms/step - accuracy: 0.9137 - loss: 0.4922 - val_accuracy: 0.9080 - val_loss: 0.4984\n",
- "Epoch 10/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 152ms/step - accuracy: 0.9162 - loss: 0.4870\n",
- "Epoch 10: val_loss did not improve from 0.48159\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 159ms/step - accuracy: 0.9148 - loss: 0.4915 - val_accuracy: 0.8948 - val_loss: 0.5329\n",
- "Epoch 11/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 145ms/step - accuracy: 0.9223 - loss: 0.4686\n",
- "Epoch 11: val_loss improved from 0.48159 to 0.44980, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 11: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 169ms/step - accuracy: 0.9284 - loss: 0.4543 - val_accuracy: 0.9285 - val_loss: 0.4498\n",
- "Epoch 12/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9300 - loss: 0.4508\n",
- "Epoch 12: val_loss did not improve from 0.44980\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 150ms/step - accuracy: 0.9282 - loss: 0.4595 - val_accuracy: 0.9149 - val_loss: 0.4991\n",
- "Epoch 13/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 151ms/step - accuracy: 0.9282 - loss: 0.4546\n",
- "Epoch 13: val_loss improved from 0.44980 to 0.42281, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 13: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m15s\u001b[0m 182ms/step - accuracy: 0.9362 - loss: 0.4431 - val_accuracy: 0.9331 - val_loss: 0.4228\n",
- "Epoch 14/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 148ms/step - accuracy: 0.9440 - loss: 0.4210\n",
- "Epoch 14: val_loss improved from 0.42281 to 0.40120, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 14: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m21s\u001b[0m 193ms/step - accuracy: 0.9450 - loss: 0.4145 - val_accuracy: 0.9486 - val_loss: 0.4012\n",
- "Epoch 15/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 153ms/step - accuracy: 0.9501 - loss: 0.4036\n",
- "Epoch 15: val_loss did not improve from 0.40120\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m18s\u001b[0m 162ms/step - accuracy: 0.9504 - loss: 0.4027 - val_accuracy: 0.9404 - val_loss: 0.4132\n",
- "Epoch 16/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 153ms/step - accuracy: 0.9529 - loss: 0.4011\n",
- "Epoch 16: val_loss improved from 0.40120 to 0.36820, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 16: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 179ms/step - accuracy: 0.9552 - loss: 0.3950 - val_accuracy: 0.9571 - val_loss: 0.3682\n",
- "Epoch 17/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 147ms/step - accuracy: 0.9523 - loss: 0.3952\n",
- "Epoch 17: val_loss did not improve from 0.36820\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 156ms/step - accuracy: 0.9522 - loss: 0.3954 - val_accuracy: 0.9520 - val_loss: 0.3757\n",
- "Epoch 18/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 153ms/step - accuracy: 0.9560 - loss: 0.3824\n",
- "Epoch 18: val_loss did not improve from 0.36820\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 160ms/step - accuracy: 0.9591 - loss: 0.3805 - val_accuracy: 0.9439 - val_loss: 0.4140\n",
- "Epoch 19/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 147ms/step - accuracy: 0.9570 - loss: 0.3849\n",
- "Epoch 19: val_loss did not improve from 0.36820\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 154ms/step - accuracy: 0.9606 - loss: 0.3772 - val_accuracy: 0.9412 - val_loss: 0.4289\n",
- "Epoch 20/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 141ms/step - accuracy: 0.9576 - loss: 0.3837\n",
- "Epoch 20: val_loss did not improve from 0.36820\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 150ms/step - accuracy: 0.9589 - loss: 0.3806 - val_accuracy: 0.9501 - val_loss: 0.3906\n",
- "Epoch 21/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9629 - loss: 0.3697\n",
- "Epoch 21: val_loss improved from 0.36820 to 0.35158, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 21: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 170ms/step - accuracy: 0.9652 - loss: 0.3659 - val_accuracy: 0.9648 - val_loss: 0.3516\n",
- "Epoch 22/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.9669 - loss: 0.3544\n",
- "Epoch 22: val_loss improved from 0.35158 to 0.32547, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 22: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m20s\u001b[0m 244ms/step - accuracy: 0.9657 - loss: 0.3618 - val_accuracy: 0.9710 - val_loss: 0.3255\n",
- "Epoch 23/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9688 - loss: 0.3540\n",
- "Epoch 23: val_loss did not improve from 0.32547\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 148ms/step - accuracy: 0.9719 - loss: 0.3484 - val_accuracy: 0.9644 - val_loss: 0.3470\n",
- "Epoch 24/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 154ms/step - accuracy: 0.9699 - loss: 0.3502\n",
- "Epoch 24: val_loss improved from 0.32547 to 0.31792, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 24: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 179ms/step - accuracy: 0.9736 - loss: 0.3416 - val_accuracy: 0.9756 - val_loss: 0.3179\n",
- "Epoch 25/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9764 - loss: 0.3383\n",
- "Epoch 25: val_loss did not improve from 0.31792\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 150ms/step - accuracy: 0.9739 - loss: 0.3441 - val_accuracy: 0.9702 - val_loss: 0.3439\n",
- "Epoch 26/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9732 - loss: 0.3440\n",
- "Epoch 26: val_loss improved from 0.31792 to 0.31547, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 26: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 172ms/step - accuracy: 0.9720 - loss: 0.3452 - val_accuracy: 0.9811 - val_loss: 0.3155\n",
- "Epoch 27/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 140ms/step - accuracy: 0.9768 - loss: 0.3362\n",
- "Epoch 27: val_loss did not improve from 0.31547\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 147ms/step - accuracy: 0.9739 - loss: 0.3419 - val_accuracy: 0.9760 - val_loss: 0.3249\n",
- "Epoch 28/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9743 - loss: 0.3403\n",
- "Epoch 28: val_loss did not improve from 0.31547\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.9710 - loss: 0.3464 - val_accuracy: 0.9725 - val_loss: 0.3195\n",
- "Epoch 29/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9769 - loss: 0.3336\n",
- "Epoch 29: val_loss did not improve from 0.31547\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9762 - loss: 0.3348 - val_accuracy: 0.9551 - val_loss: 0.3756\n",
- "Epoch 30/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.9805 - loss: 0.3273\n",
- "Epoch 30: val_loss did not improve from 0.31547\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 150ms/step - accuracy: 0.9797 - loss: 0.3222 - val_accuracy: 0.9749 - val_loss: 0.3293\n",
- "Epoch 31/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 145ms/step - accuracy: 0.9794 - loss: 0.3227\n",
- "Epoch 31: val_loss did not improve from 0.31547\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 151ms/step - accuracy: 0.9770 - loss: 0.3297 - val_accuracy: 0.9675 - val_loss: 0.3552\n",
- "Epoch 32/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9785 - loss: 0.3234\n",
- "Epoch 32: val_loss did not improve from 0.31547\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.9823 - loss: 0.3141 - val_accuracy: 0.9652 - val_loss: 0.3643\n",
- "Epoch 33/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 141ms/step - accuracy: 0.9816 - loss: 0.3211\n",
- "Epoch 33: val_loss did not improve from 0.31547\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.9790 - loss: 0.3263 - val_accuracy: 0.9753 - val_loss: 0.3287\n",
- "Epoch 34/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 141ms/step - accuracy: 0.9793 - loss: 0.3238\n",
- "Epoch 34: val_loss improved from 0.31547 to 0.30433, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 34: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 170ms/step - accuracy: 0.9829 - loss: 0.3149 - val_accuracy: 0.9791 - val_loss: 0.3043\n",
- "Epoch 35/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 141ms/step - accuracy: 0.9873 - loss: 0.3042\n",
- "Epoch 35: val_loss did not improve from 0.30433\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 150ms/step - accuracy: 0.9870 - loss: 0.3040 - val_accuracy: 0.9799 - val_loss: 0.3078\n",
- "Epoch 36/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 150ms/step - accuracy: 0.9838 - loss: 0.3088\n",
- "Epoch 36: val_loss did not improve from 0.30433\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 156ms/step - accuracy: 0.9856 - loss: 0.3082 - val_accuracy: 0.9776 - val_loss: 0.3120\n",
- "Epoch 37/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.9845 - loss: 0.3083\n",
- "Epoch 37: val_loss did not improve from 0.30433\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 150ms/step - accuracy: 0.9823 - loss: 0.3130 - val_accuracy: 0.9633 - val_loss: 0.3515\n",
- "Epoch 38/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 145ms/step - accuracy: 0.9826 - loss: 0.3172\n",
- "Epoch 38: val_loss did not improve from 0.30433\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 151ms/step - accuracy: 0.9869 - loss: 0.3061 - val_accuracy: 0.9845 - val_loss: 0.3051\n",
- "Epoch 39/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.9892 - loss: 0.2991\n",
- "Epoch 39: val_loss improved from 0.30433 to 0.29263, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 39: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 168ms/step - accuracy: 0.9891 - loss: 0.2998 - val_accuracy: 0.9865 - val_loss: 0.2926\n",
- "Epoch 40/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 145ms/step - accuracy: 0.9914 - loss: 0.2960\n",
- "Epoch 40: val_loss did not improve from 0.29263\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 151ms/step - accuracy: 0.9912 - loss: 0.2946 - val_accuracy: 0.9756 - val_loss: 0.3254\n",
- "Epoch 41/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 149ms/step - accuracy: 0.9892 - loss: 0.2964\n",
- "Epoch 41: val_loss did not improve from 0.29263\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 156ms/step - accuracy: 0.9896 - loss: 0.2940 - val_accuracy: 0.9857 - val_loss: 0.2970\n",
- "Epoch 42/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9927 - loss: 0.2900\n",
- "Epoch 42: val_loss improved from 0.29263 to 0.28554, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 42: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 173ms/step - accuracy: 0.9911 - loss: 0.2928 - val_accuracy: 0.9896 - val_loss: 0.2855\n",
- "Epoch 43/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9916 - loss: 0.2907\n",
- "Epoch 43: val_loss did not improve from 0.28554\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 152ms/step - accuracy: 0.9933 - loss: 0.2874 - val_accuracy: 0.9880 - val_loss: 0.2935\n",
- "Epoch 44/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 151ms/step - accuracy: 0.9920 - loss: 0.2886\n",
- "Epoch 44: val_loss did not improve from 0.28554\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 157ms/step - accuracy: 0.9901 - loss: 0.2936 - val_accuracy: 0.9876 - val_loss: 0.2873\n",
- "Epoch 45/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.9904 - loss: 0.2950\n",
- "Epoch 45: val_loss did not improve from 0.28554\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 150ms/step - accuracy: 0.9878 - loss: 0.3013 - val_accuracy: 0.9857 - val_loss: 0.2963\n",
- "Epoch 46/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.9891 - loss: 0.2937\n",
- "Epoch 46: val_loss did not improve from 0.28554\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 150ms/step - accuracy: 0.9910 - loss: 0.2903 - val_accuracy: 0.9865 - val_loss: 0.2934\n",
- "Epoch 47/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9950 - loss: 0.2849\n",
- "Epoch 47: val_loss did not improve from 0.28554\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9948 - loss: 0.2835 - val_accuracy: 0.9795 - val_loss: 0.3173\n",
- "Epoch 48/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.9968 - loss: 0.2792\n",
- "Epoch 48: val_loss did not improve from 0.28554\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 150ms/step - accuracy: 0.9947 - loss: 0.2849 - val_accuracy: 0.9722 - val_loss: 0.3312\n",
- "Epoch 49/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9899 - loss: 0.2927\n",
- "Epoch 49: val_loss did not improve from 0.28554\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9908 - loss: 0.2920 - val_accuracy: 0.9845 - val_loss: 0.2997\n",
- "Epoch 50/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9932 - loss: 0.2849\n",
- "Epoch 50: val_loss did not improve from 0.28554\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.9931 - loss: 0.2864 - val_accuracy: 0.9869 - val_loss: 0.2922\n",
- "Epoch 51/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9967 - loss: 0.2766\n",
- "Epoch 51: val_loss did not improve from 0.28554\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9956 - loss: 0.2795 - val_accuracy: 0.9853 - val_loss: 0.2992\n",
- "Epoch 52/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9940 - loss: 0.2824\n",
- "Epoch 52: val_loss did not improve from 0.28554\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9923 - loss: 0.2862 - val_accuracy: 0.9865 - val_loss: 0.2964\n",
- "Epoch 53/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9950 - loss: 0.2793\n",
- "Epoch 53: val_loss did not improve from 0.28554\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9956 - loss: 0.2790 - val_accuracy: 0.9896 - val_loss: 0.2864\n",
- "Epoch 54/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9932 - loss: 0.2829\n",
- "Epoch 54: val_loss did not improve from 0.28554\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9943 - loss: 0.2805 - val_accuracy: 0.9899 - val_loss: 0.2861\n",
- "Epoch 55/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9961 - loss: 0.2786\n",
- "Epoch 55: val_loss improved from 0.28554 to 0.28274, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 55: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 172ms/step - accuracy: 0.9968 - loss: 0.2776 - val_accuracy: 0.9915 - val_loss: 0.2827\n",
- "Epoch 56/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.9969 - loss: 0.2749\n",
- "Epoch 56: val_loss did not improve from 0.28274\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 153ms/step - accuracy: 0.9967 - loss: 0.2756 - val_accuracy: 0.9861 - val_loss: 0.2985\n",
- "Epoch 57/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 151ms/step - accuracy: 0.9967 - loss: 0.2762\n",
- "Epoch 57: val_loss did not improve from 0.28274\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 159ms/step - accuracy: 0.9971 - loss: 0.2750 - val_accuracy: 0.9892 - val_loss: 0.2848\n",
- "Epoch 58/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9967 - loss: 0.2756\n",
- "Epoch 58: val_loss did not improve from 0.28274\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9964 - loss: 0.2781 - val_accuracy: 0.9869 - val_loss: 0.2920\n",
- "Epoch 59/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9953 - loss: 0.2799\n",
- "Epoch 59: val_loss did not improve from 0.28274\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9956 - loss: 0.2785 - val_accuracy: 0.9903 - val_loss: 0.2892\n",
- "Epoch 60/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9964 - loss: 0.2755\n",
- "Epoch 60: val_loss did not improve from 0.28274\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9969 - loss: 0.2748 - val_accuracy: 0.9888 - val_loss: 0.2888\n",
- "Epoch 61/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9955 - loss: 0.2770\n",
- "Epoch 61: val_loss improved from 0.28274 to 0.28025, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 61: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 167ms/step - accuracy: 0.9960 - loss: 0.2761 - val_accuracy: 0.9919 - val_loss: 0.2803\n",
- "Epoch 62/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.9971 - loss: 0.2740\n",
- "Epoch 62: val_loss improved from 0.28025 to 0.27775, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 62: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m18s\u001b[0m 227ms/step - accuracy: 0.9973 - loss: 0.2734 - val_accuracy: 0.9923 - val_loss: 0.2777\n",
- "Epoch 63/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9988 - loss: 0.2693\n",
- "Epoch 63: val_loss did not improve from 0.27775\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9989 - loss: 0.2694 - val_accuracy: 0.9919 - val_loss: 0.2794\n",
- "Epoch 64/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 155ms/step - accuracy: 0.9983 - loss: 0.2699\n",
- "Epoch 64: val_loss improved from 0.27775 to 0.27510, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 64: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 237ms/step - accuracy: 0.9975 - loss: 0.2719 - val_accuracy: 0.9923 - val_loss: 0.2751\n",
- "Epoch 65/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.9972 - loss: 0.2716\n",
- "Epoch 65: val_loss did not improve from 0.27510\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 153ms/step - accuracy: 0.9979 - loss: 0.2712 - val_accuracy: 0.9927 - val_loss: 0.2756\n",
- "Epoch 66/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 155ms/step - accuracy: 0.9984 - loss: 0.2703\n",
- "Epoch 66: val_loss improved from 0.27510 to 0.27508, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 66: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m20s\u001b[0m 245ms/step - accuracy: 0.9980 - loss: 0.2705 - val_accuracy: 0.9946 - val_loss: 0.2751\n",
- "Epoch 67/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 147ms/step - accuracy: 0.9988 - loss: 0.2704\n",
- "Epoch 67: val_loss improved from 0.27508 to 0.27109, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 67: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m16s\u001b[0m 201ms/step - accuracy: 0.9986 - loss: 0.2702 - val_accuracy: 0.9934 - val_loss: 0.2711\n",
- "Epoch 68/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 0.9984 - loss: 0.2719\n",
- "Epoch 68: val_loss did not improve from 0.27109\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 153ms/step - accuracy: 0.9985 - loss: 0.2710 - val_accuracy: 0.9930 - val_loss: 0.2734\n",
- "Epoch 69/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9990 - loss: 0.2683\n",
- "Epoch 69: val_loss did not improve from 0.27109\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m20s\u001b[0m 149ms/step - accuracy: 0.9988 - loss: 0.2691 - val_accuracy: 0.9942 - val_loss: 0.2721\n",
- "Epoch 70/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 146ms/step - accuracy: 0.9999 - loss: 0.2662\n",
- "Epoch 70: val_loss did not improve from 0.27109\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 152ms/step - accuracy: 0.9997 - loss: 0.2670 - val_accuracy: 0.9950 - val_loss: 0.2712\n",
- "Epoch 71/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 145ms/step - accuracy: 0.9996 - loss: 0.2664\n",
- "Epoch 71: val_loss did not improve from 0.27109\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 152ms/step - accuracy: 0.9996 - loss: 0.2667 - val_accuracy: 0.9938 - val_loss: 0.2745\n",
- "Epoch 72/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9998 - loss: 0.2665\n",
- "Epoch 72: val_loss did not improve from 0.27109\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.9997 - loss: 0.2670 - val_accuracy: 0.9938 - val_loss: 0.2721\n",
- "Epoch 73/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9993 - loss: 0.2671\n",
- "Epoch 73: val_loss did not improve from 0.27109\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 147ms/step - accuracy: 0.9989 - loss: 0.2684 - val_accuracy: 0.9923 - val_loss: 0.2804\n",
- "Epoch 74/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9992 - loss: 0.2673\n",
- "Epoch 74: val_loss did not improve from 0.27109\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.9987 - loss: 0.2682 - val_accuracy: 0.9861 - val_loss: 0.2985\n",
- "Epoch 75/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9993 - loss: 0.2676\n",
- "Epoch 75: val_loss did not improve from 0.27109\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.9993 - loss: 0.2673 - val_accuracy: 0.9923 - val_loss: 0.2764\n",
- "Epoch 76/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9993 - loss: 0.2665\n",
- "Epoch 76: val_loss did not improve from 0.27109\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 152ms/step - accuracy: 0.9991 - loss: 0.2674 - val_accuracy: 0.9927 - val_loss: 0.2783\n",
- "Epoch 77/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9995 - loss: 0.2664\n",
- "Epoch 77: val_loss improved from 0.27109 to 0.27002, saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\n",
- "Epoch 77: finished saving model to /content/drive/My Drive/Classification/baseline/models/ViT_UNet_best.keras\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m14s\u001b[0m 168ms/step - accuracy: 0.9997 - loss: 0.2662 - val_accuracy: 0.9950 - val_loss: 0.2700\n",
- "Epoch 78/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9999 - loss: 0.2654\n",
- "Epoch 78: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 152ms/step - accuracy: 0.9996 - loss: 0.2661 - val_accuracy: 0.9942 - val_loss: 0.2748\n",
- "Epoch 79/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 150ms/step - accuracy: 0.9998 - loss: 0.2660\n",
- "Epoch 79: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 156ms/step - accuracy: 0.9996 - loss: 0.2666 - val_accuracy: 0.9950 - val_loss: 0.2729\n",
- "Epoch 80/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9994 - loss: 0.2665\n",
- "Epoch 80: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.9993 - loss: 0.2669 - val_accuracy: 0.9946 - val_loss: 0.2703\n",
- "Epoch 81/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9996 - loss: 0.2660\n",
- "Epoch 81: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.9994 - loss: 0.2665 - val_accuracy: 0.9930 - val_loss: 0.2764\n",
- "Epoch 82/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9997 - loss: 0.2672\n",
- "Epoch 82: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.9998 - loss: 0.2661 - val_accuracy: 0.9934 - val_loss: 0.2715\n",
- "Epoch 83/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9999 - loss: 0.2660\n",
- "Epoch 83: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9997 - loss: 0.2663 - val_accuracy: 0.9938 - val_loss: 0.2765\n",
- "Epoch 84/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9996 - loss: 0.2659\n",
- "Epoch 84: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9994 - loss: 0.2664 - val_accuracy: 0.9930 - val_loss: 0.2763\n",
- "Epoch 85/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9996 - loss: 0.2656\n",
- "Epoch 85: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 152ms/step - accuracy: 0.9996 - loss: 0.2658 - val_accuracy: 0.9942 - val_loss: 0.2728\n",
- "Epoch 86/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 141ms/step - accuracy: 0.9992 - loss: 0.2663\n",
- "Epoch 86: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 147ms/step - accuracy: 0.9995 - loss: 0.2661 - val_accuracy: 0.9942 - val_loss: 0.2743\n",
- "Epoch 87/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 1.0000 - loss: 0.2652\n",
- "Epoch 87: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 147ms/step - accuracy: 0.9999 - loss: 0.2656 - val_accuracy: 0.9934 - val_loss: 0.2785\n",
- "Epoch 88/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9998 - loss: 0.2651\n",
- "Epoch 88: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9998 - loss: 0.2652 - val_accuracy: 0.9946 - val_loss: 0.2728\n",
- "Epoch 89/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9999 - loss: 0.2653\n",
- "Epoch 89: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9998 - loss: 0.2654 - val_accuracy: 0.9950 - val_loss: 0.2740\n",
- "Epoch 90/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 1.0000 - loss: 0.2649\n",
- "Epoch 90: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 150ms/step - accuracy: 0.9999 - loss: 0.2650 - val_accuracy: 0.9927 - val_loss: 0.2754\n",
- "Epoch 91/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 144ms/step - accuracy: 1.0000 - loss: 0.2648\n",
- "Epoch 91: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 152ms/step - accuracy: 0.9998 - loss: 0.2652 - val_accuracy: 0.9930 - val_loss: 0.2779\n",
- "Epoch 92/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 0.9995 - loss: 0.2664\n",
- "Epoch 92: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9995 - loss: 0.2662 - val_accuracy: 0.9942 - val_loss: 0.2738\n",
- "Epoch 93/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 1.0000 - loss: 0.2649\n",
- "Epoch 93: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.9999 - loss: 0.2648 - val_accuracy: 0.9942 - val_loss: 0.2736\n",
- "Epoch 94/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9995 - loss: 0.2656\n",
- "Epoch 94: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9996 - loss: 0.2654 - val_accuracy: 0.9934 - val_loss: 0.2757\n",
- "Epoch 95/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9997 - loss: 0.2650\n",
- "Epoch 95: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 148ms/step - accuracy: 0.9997 - loss: 0.2652 - val_accuracy: 0.9934 - val_loss: 0.2774\n",
- "Epoch 96/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 1.0000 - loss: 0.2647\n",
- "Epoch 96: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 0.9999 - loss: 0.2647 - val_accuracy: 0.9938 - val_loss: 0.2741\n",
- "Epoch 97/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 1.0000 - loss: 0.2646\n",
- "Epoch 97: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 1.0000 - loss: 0.2648 - val_accuracy: 0.9942 - val_loss: 0.2747\n",
- "Epoch 98/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 0.9996 - loss: 0.2649\n",
- "Epoch 98: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 152ms/step - accuracy: 0.9998 - loss: 0.2650 - val_accuracy: 0.9938 - val_loss: 0.2736\n",
- "Epoch 99/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 142ms/step - accuracy: 1.0000 - loss: 0.2646\n",
- "Epoch 99: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 1.0000 - loss: 0.2647 - val_accuracy: 0.9942 - val_loss: 0.2742\n",
- "Epoch 100/100\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 143ms/step - accuracy: 1.0000 - loss: 0.2648\n",
- "Epoch 100: val_loss did not improve from 0.27002\n",
- "\u001b[1m81/81\u001b[0m \u001b[32m\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 149ms/step - accuracy: 1.0000 - loss: 0.2647 - val_accuracy: 0.9942 - val_loss: 0.2717\n",
- "ViT_UNet completed full training: 100/100 epochs.\n"
- ]
- },
- {
- "output_type": "execute_result",
- "data": {
- "text/plain": [
- " model capacity_tag test_accuracy kappa macro_f1 weighted_f1 \\\n",
- "0 GFNet legacy_arch 0.997448 0.996539 0.997135 0.997446 \n",
- "1 ViT_UNet legacy_arch 0.994896 0.993080 0.993458 0.994899 \n",
- "2 AlexNet_CNN legacy_arch 0.993503 0.991191 0.990701 0.993513 \n",
- "\n",
- " val_nll test_nll val_brier test_brier test_ece_15bin \\\n",
- "0 0.013796 0.018461 0.002288 0.004583 0.009697 \n",
- "1 0.059104 0.060887 0.010825 0.011172 0.037185 \n",
- "2 0.019076 0.019076 0.009710 0.009710 0.002858 \n",
- "\n",
- " epochs_configured epochs_ran train_time_sec \\\n",
- "0 100 100 786.719000 \n",
- "1 100 100 1474.442275 \n",
- "2 100 100 747.492000 \n",
- "\n",
- " best_model_path \\\n",
- "0 /content/drive/My Drive/Classification/baselin... \n",
- "1 /content/drive/My Drive/Classification/baselin... \n",
- "2 /content/drive/My Drive/Classification/baselin... \n",
- "\n",
- " final_model_path \n",
- "0 /content/drive/My Drive/Classification/baselin... \n",
- "1 /content/drive/My Drive/Classification/baselin... \n",
- "2 /content/drive/My Drive/Classification/baselin... "
- ],
- "text/html": [
- "\n",
- "
\n",
- "
\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " model | \n",
- " capacity_tag | \n",
- " test_accuracy | \n",
- " kappa | \n",
- " macro_f1 | \n",
- " weighted_f1 | \n",
- " val_nll | \n",
- " test_nll | \n",
- " val_brier | \n",
- " test_brier | \n",
- " test_ece_15bin | \n",
- " epochs_configured | \n",
- " epochs_ran | \n",
- " train_time_sec | \n",
- " best_model_path | \n",
- " final_model_path | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 0 | \n",
- " GFNet | \n",
- " legacy_arch | \n",
- " 0.997448 | \n",
- " 0.996539 | \n",
- " 0.997135 | \n",
- " 0.997446 | \n",
- " 0.013796 | \n",
- " 0.018461 | \n",
- " 0.002288 | \n",
- " 0.004583 | \n",
- " 0.009697 | \n",
- " 100 | \n",
- " 100 | \n",
- " 786.719000 | \n",
- " /content/drive/My Drive/Classification/baselin... | \n",
- " /content/drive/My Drive/Classification/baselin... | \n",
- "
\n",
- " \n",
- " | 1 | \n",
- " ViT_UNet | \n",
- " legacy_arch | \n",
- " 0.994896 | \n",
- " 0.993080 | \n",
- " 0.993458 | \n",
- " 0.994899 | \n",
- " 0.059104 | \n",
- " 0.060887 | \n",
- " 0.010825 | \n",
- " 0.011172 | \n",
- " 0.037185 | \n",
- " 100 | \n",
- " 100 | \n",
- " 1474.442275 | \n",
- " /content/drive/My Drive/Classification/baselin... | \n",
- " /content/drive/My Drive/Classification/baselin... | \n",
- "
\n",
- " \n",
- " | 2 | \n",
- " AlexNet_CNN | \n",
- " legacy_arch | \n",
- " 0.993503 | \n",
- " 0.991191 | \n",
- " 0.990701 | \n",
- " 0.993513 | \n",
- " 0.019076 | \n",
- " 0.019076 | \n",
- " 0.009710 | \n",
- " 0.009710 | \n",
- " 0.002858 | \n",
- " 100 | \n",
- " 100 | \n",
- " 747.492000 | \n",
- " /content/drive/My Drive/Classification/baselin... | \n",
- " /content/drive/My Drive/Classification/baselin... | \n",
- "
\n",
- " \n",
- "
\n",
- "
\n",
- "
\n",
- "
\n"
- ],
- "application/vnd.google.colaboratory.intrinsic+json": {
- "type": "dataframe",
- "variable_name": "summary_df",
- "summary": "{\n \"name\": \"summary_df\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"model\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"GFNet\",\n \"ViT_UNet\",\n \"AlexNet_CNN\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"capacity_tag\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"legacy_arch\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"test_accuracy\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.002000389351334527,\n \"min\": 0.9935034802784223,\n \"max\": 0.9974477958236659,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.9974477958236659\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"kappa\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0027118564341925577,\n \"min\": 0.991191098133123,\n \"max\": 0.9965385016669732,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.9965385016669732\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"macro_f1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0032280673295878052,\n \"min\": 0.9907005043380958,\n \"max\": 0.9971347598833319,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.9971347598833319\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"weighted_f1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.001994882239846316,\n \"min\": 0.9935132052611072,\n \"max\": 0.9974462294158544,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.9974462294158544\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_nll\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.024775180866594738,\n \"min\": 0.013795811377878518,\n \"max\": 0.05910356606350241,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.013795811377878518\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"test_nll\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.024319287081867882,\n \"min\": 0.018460657750446016,\n \"max\": 0.06088735026058998,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.018460657750446016\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_brier\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.004640850916781685,\n \"min\": 0.002287680472059009,\n \"max\": 0.0108249396415281,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.002287680472059009\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"test_brier\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.003460125085803039,\n \"min\": 0.004583171081969239,\n \"max\": 0.011171792804119516,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.004583171081969239\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"test_ece_15bin\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.018169001600389617,\n \"min\": 0.002857549713271953,\n \"max\": 0.03718454613763053,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.009697248003598986\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"epochs_configured\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 100,\n \"max\": 100,\n \"num_unique_values\": 1,\n \"samples\": [\n 100\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"epochs_ran\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 100,\n \"max\": 100,\n \"num_unique_values\": 1,\n \"samples\": [\n 100\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"train_time_sec\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 408.8517995778713,\n \"min\": 747.4920000039999,\n \"max\": 1474.442275373,\n \"num_unique_values\": 3,\n \"samples\": [\n 786.7189998219999\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"best_model_path\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"/content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"final_model_path\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"/content/drive/My Drive/Classification/baseline/models/GFNet_final.keras\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
- }
- },
- "metadata": {},
- "execution_count": 16
- }
- ],
- "source": [
- "results_rows = []\n",
- "model_artifacts = {}\n",
- "\n",
- "for model_name, builder in model_builders.items():\n",
- " print(f\"\\n{'=' * 25} Training {model_name} ({CAPACITY_PRESET}) {'=' * 25}\")\n",
- "\n",
- " try:\n",
- " row, report, cm, history = train_save_evaluate(model_name, builder,\n",
- " capacity_tag=CAPACITY_PRESET)\n",
- " except tf.errors.ResourceExhaustedError:\n",
- " # Automatically retry with a smaller fallback config to handle Colab OOM\n",
- " if model_name == \"GFNet\":\n",
- " print(\"OOM on GFNet legacy config. Retrying with fallback config.\")\n",
- " tf.keras.backend.clear_session()\n",
- " row, report, cm, history = train_save_evaluate(\n",
- " model_name, lambda: build_gfnet_with_cfg(GFNET_FALLBACK_CFG),\n",
- " capacity_tag=\"fallback\",\n",
- " )\n",
- " elif model_name == \"ViT_UNet\":\n",
- " print(\"OOM on ViT_UNet legacy config. Retrying with fallback config.\")\n",
- " tf.keras.backend.clear_session()\n",
- " row, report, cm, history = train_save_evaluate(\n",
- " model_name, lambda: build_vit_with_cfg(VIT_FALLBACK_CFG),\n",
- " capacity_tag=\"fallback\",\n",
- " )\n",
- " else:\n",
- " raise\n",
- "\n",
- " results_rows.append(row)\n",
- " model_artifacts[model_name] = {\"report\": report, \"confusion_matrix\": cm, \"history\": history}\n",
- "\n",
- "summary_df = (\n",
- " pd.DataFrame(results_rows)\n",
- " .sort_values(\"test_accuracy\", ascending=False)\n",
- " .reset_index(drop=True)\n",
- ")\n",
- "summary_df"
- ],
- "id": "RQldkkFBHlSJ"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "CXPBEYj1HlSJ"
- },
- "source": [
- "# 7.0 \u2014 Results & Metrics\n",
- "Save classification summaries to CSV / JSON, then plot training curves, cross-model bar charts, calibration proxies, and confusion matrices."
- ],
- "id": "CXPBEYj1HlSJ"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "QiE9KKphHlSJ"
- },
- "source": [
- "## 7.1 \u2014 Save summary CSV and per-model JSON reports"
- ],
- "id": "QiE9KKphHlSJ"
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 251
- },
- "id": "e36Owx_4HlSJ",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779849693092,
- "user_tz": -330,
- "elapsed": 144,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- },
- "outputId": "295c83ec-6754-4b2a-f648-45c0cbf9b3de"
- },
- "outputs": [
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "Saved summary: /content/drive/My Drive/Classification/baseline/results/classification_summary.csv\n",
- "Per-model classification reports saved to: /content/drive/My Drive/Classification/baseline/results\n"
- ]
- },
- {
- "output_type": "execute_result",
- "data": {
- "text/plain": [
- " model capacity_tag test_accuracy kappa macro_f1 weighted_f1 \\\n",
- "0 GFNet legacy_arch 0.997448 0.996539 0.997135 0.997446 \n",
- "1 ViT_UNet legacy_arch 0.994896 0.993080 0.993458 0.994899 \n",
- "2 AlexNet_CNN legacy_arch 0.993503 0.991191 0.990701 0.993513 \n",
- "\n",
- " val_nll test_nll val_brier test_brier test_ece_15bin \\\n",
- "0 0.013796 0.018461 0.002288 0.004583 0.009697 \n",
- "1 0.059104 0.060887 0.010825 0.011172 0.037185 \n",
- "2 0.019076 0.019076 0.009710 0.009710 0.002858 \n",
- "\n",
- " epochs_configured epochs_ran train_time_sec \\\n",
- "0 100 100 786.719000 \n",
- "1 100 100 1474.442275 \n",
- "2 100 100 747.492000 \n",
- "\n",
- " best_model_path \\\n",
- "0 /content/drive/My Drive/Classification/baselin... \n",
- "1 /content/drive/My Drive/Classification/baselin... \n",
- "2 /content/drive/My Drive/Classification/baselin... \n",
- "\n",
- " final_model_path \n",
- "0 /content/drive/My Drive/Classification/baselin... \n",
- "1 /content/drive/My Drive/Classification/baselin... \n",
- "2 /content/drive/My Drive/Classification/baselin... "
- ],
- "text/html": [
- "\n",
- " \n",
- "
\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " model | \n",
- " capacity_tag | \n",
- " test_accuracy | \n",
- " kappa | \n",
- " macro_f1 | \n",
- " weighted_f1 | \n",
- " val_nll | \n",
- " test_nll | \n",
- " val_brier | \n",
- " test_brier | \n",
- " test_ece_15bin | \n",
- " epochs_configured | \n",
- " epochs_ran | \n",
- " train_time_sec | \n",
- " best_model_path | \n",
- " final_model_path | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 0 | \n",
- " GFNet | \n",
- " legacy_arch | \n",
- " 0.997448 | \n",
- " 0.996539 | \n",
- " 0.997135 | \n",
- " 0.997446 | \n",
- " 0.013796 | \n",
- " 0.018461 | \n",
- " 0.002288 | \n",
- " 0.004583 | \n",
- " 0.009697 | \n",
- " 100 | \n",
- " 100 | \n",
- " 786.719000 | \n",
- " /content/drive/My Drive/Classification/baselin... | \n",
- " /content/drive/My Drive/Classification/baselin... | \n",
- "
\n",
- " \n",
- " | 1 | \n",
- " ViT_UNet | \n",
- " legacy_arch | \n",
- " 0.994896 | \n",
- " 0.993080 | \n",
- " 0.993458 | \n",
- " 0.994899 | \n",
- " 0.059104 | \n",
- " 0.060887 | \n",
- " 0.010825 | \n",
- " 0.011172 | \n",
- " 0.037185 | \n",
- " 100 | \n",
- " 100 | \n",
- " 1474.442275 | \n",
- " /content/drive/My Drive/Classification/baselin... | \n",
- " /content/drive/My Drive/Classification/baselin... | \n",
- "
\n",
- " \n",
- " | 2 | \n",
- " AlexNet_CNN | \n",
- " legacy_arch | \n",
- " 0.993503 | \n",
- " 0.991191 | \n",
- " 0.990701 | \n",
- " 0.993513 | \n",
- " 0.019076 | \n",
- " 0.019076 | \n",
- " 0.009710 | \n",
- " 0.009710 | \n",
- " 0.002858 | \n",
- " 100 | \n",
- " 100 | \n",
- " 747.492000 | \n",
- " /content/drive/My Drive/Classification/baselin... | \n",
- " /content/drive/My Drive/Classification/baselin... | \n",
- "
\n",
- " \n",
- "
\n",
- "
\n",
- "
\n",
- "
\n"
- ],
- "application/vnd.google.colaboratory.intrinsic+json": {
- "type": "dataframe",
- "variable_name": "summary_df",
- "summary": "{\n \"name\": \"summary_df\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"model\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"GFNet\",\n \"ViT_UNet\",\n \"AlexNet_CNN\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"capacity_tag\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"legacy_arch\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"test_accuracy\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.002000389351334527,\n \"min\": 0.9935034802784223,\n \"max\": 0.9974477958236659,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.9974477958236659\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"kappa\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0027118564341925577,\n \"min\": 0.991191098133123,\n \"max\": 0.9965385016669732,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.9965385016669732\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"macro_f1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0032280673295878052,\n \"min\": 0.9907005043380958,\n \"max\": 0.9971347598833319,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.9971347598833319\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"weighted_f1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.001994882239846316,\n \"min\": 0.9935132052611072,\n \"max\": 0.9974462294158544,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.9974462294158544\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_nll\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.024775180866594738,\n \"min\": 0.013795811377878518,\n \"max\": 0.05910356606350241,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.013795811377878518\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"test_nll\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.024319287081867882,\n \"min\": 0.018460657750446016,\n \"max\": 0.06088735026058998,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.018460657750446016\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_brier\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.004640850916781685,\n \"min\": 0.002287680472059009,\n \"max\": 0.0108249396415281,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.002287680472059009\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"test_brier\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.003460125085803039,\n \"min\": 0.004583171081969239,\n \"max\": 0.011171792804119516,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.004583171081969239\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"test_ece_15bin\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.018169001600389617,\n \"min\": 0.002857549713271953,\n \"max\": 0.03718454613763053,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.009697248003598986\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"epochs_configured\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 100,\n \"max\": 100,\n \"num_unique_values\": 1,\n \"samples\": [\n 100\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"epochs_ran\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 100,\n \"max\": 100,\n \"num_unique_values\": 1,\n \"samples\": [\n 100\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"train_time_sec\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 408.8517995778713,\n \"min\": 747.4920000039999,\n \"max\": 1474.442275373,\n \"num_unique_values\": 3,\n \"samples\": [\n 786.7189998219999\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"best_model_path\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"/content/drive/My Drive/Classification/baseline/models/GFNet_best.keras\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"final_model_path\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"/content/drive/My Drive/Classification/baseline/models/GFNet_final.keras\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
- }
- },
- "metadata": {},
- "execution_count": 17
- }
- ],
- "source": [
- "summary_path = RESULTS_DIR / \"classification_summary.csv\"\n",
- "summary_df.to_csv(summary_path, index=False)\n",
- "print(\"Saved summary:\", summary_path)\n",
- "\n",
- "for model_name, artifact in model_artifacts.items():\n",
- " report_path = RESULTS_DIR / f\"{model_name}_classification_report.json\"\n",
- " with open(report_path, \"w\", encoding=\"utf-8\") as f:\n",
- " json.dump(artifact[\"report\"], f, indent=2)\n",
- "\n",
- "print(\"Per-model classification reports saved to:\", RESULTS_DIR)\n",
- "summary_df"
- ],
- "id": "e36Owx_4HlSJ"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "L_jFx86fHlSJ"
- },
- "source": [
- "## 7.2 \u2014 Training curves (accuracy and loss per epoch)"
- ],
- "id": "L_jFx86fHlSJ"
- },
- {
- "cell_type": "code",
- "execution_count": 18,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 1000
- },
- "id": "ipqk_AKsHlSJ",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779849696046,
- "user_tz": -330,
- "elapsed": 2953,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- },
- "outputId": "4810212d-f40e-409b-db2a-78c8e78f3eb3"
- },
- "outputs": [
- {
- "output_type": "display_data",
- "data": {
- "text/plain": [
- ""
- ],
- "image/png": "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NXxPQSkREREREWkJbr31VhYsWABATk4OEyZMYNmyZTz99NNMnjy53terd1AqGAySlJQEQEZGBrt37wagU6dObNiwod4NkIMXCJos2VwAQNuUBDpnJO77BBGJqXCmlMftsbaV+6IzpbABVXEp1ZQSEREREZGWYM2aNQwdOhSAjz/+mD59+jBt2jSeeOIJZs6cWe/r1bumVJ8+ffj555/p0qULw4YN45VXXsHpdDJ9+nS6dOlS7wbIwVuzu5jiytC08od1y7Dqe4lIyxTOfErxpDDt7Gl4HB7SEtKs/ef2Opc+6X243nU9vkqfZt8TEREREZEWwe/343K5APj222856aSTAOjZsyc5OTn1vl69M6X+8Ic/EAwGAbjpppvYunUrV1xxBfPmzePuu++udwPk4EXVk9LQPZEWL7Km1KCsQfRI60GmO9PaPzBrIOP6jrMyqTR8T0REREREWoLevXszbdo0fvjhB7799luOP/54AHbv3k16enq9r1fvTKnjjjvOWu7WrRuffPIJBQUFpKWlKUMnRlTkXKR1qW32vdq43W4KCwsVlBIRERERkRbhtttu48Ybb+TVV1/l/PPPp3///gDMnTvXGtZXH/UKSvl8PoYNG8Z7771H3759re0NiYZJ41lcVU/KZbcxuFNqbBsjIvsUCAQIBAIAVtprXcJBKwWlRERERESkJTjqqKNYsGABJSUlpKVVlyC5+OKLSUysf33regWlnE4nHTp0sIbvSezllVSyIbcUgCGd00hw2GPcIhHZl8j6UAkJCczdPJe8ijxM0+TifhfjC/j4Kecn2iS2welyAip0LiIiIiIiLUNFRQWmaVoBqW3btjFnzhx69eoVNbLuQNV7+N7vf/97nnrqKR577DFlSLUAP1ZlSUGoyLmItGyRQSmn08lzPz7HusJ1JDoSubjfxews3cmETycAUO4vr3GOiIiIiIhIrFx//fWccsopXHbZZRQVFXHxxRfjcDjYs2cP/+///T8uv/zyel2v3kGpqVOnsmnTJo477jg6duyIx+OJ2t+QKQCl4aKLnKfHriEickAih+IlJCSQ6AiluFb4Q5845FbkVu93h4bvKVNKRERERERaghUrVnDnnXcC8Omnn5KVlcV7773Hp59+ynPPPdf0QamxY8fW9xRpQj9q5j2RViUy68nlcuFxhgL7JiYVgQpyyqqnUU1MCAWs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G3Yd1w27rsaxkbPvqdC5iIiIiIjEm3oHpU466SSef/55XnzxRT799FMSEhLo378/r7/+OmlpaU3RRhGRuBHOlIoMStUl8hgN3xMRERERkXhT76AUwIknnsiJJ54IQElJCR999BGPPvooK1asYNWqVY3ZPhGRuFJbTam6qKaUiIiIiIjEswYFpSA0C9+MGTP47LPPaNu2Laeccgr33ntvY7ZNRCTu1FZTKswf9GNgYLfZAbDb7TidTnw+n4JSIiIiIiISd+oVlMrJyWHmzJnMmDGDkpISzjjjDLxeL88//7yKnIuIHIDaMqWe+/E5Xl72MgCZ7kzmXTLP2peQkIDP51NNKRERERERiTsHHJT6/e9/z/fff8+JJ57IXXfdxXHHHYfdbmfatGlN2T4Rkbiyr0wpgPyK/Kj1hIQESkpKNPueiIiIiIjEnQMOSv3vf//jqquu4rLLLqN79+5N2CQRkfhVW6aUN1B3wCl8nDKlREREREQk3tgO9MB///vflJaWcuGFFzJ+/HjefPNN8vPz93+iiIhYasuUKvWXWstOmzPqeLfbDaBMKRERERERiTsHHJQaPnw4Dz30EF9//TWXXHIJs2bN4vjjjycYDPLNN99QUlLSlO0UEYkLtWVKlfqqg1JJzqSo48PBK2VKiYiIiIhIvDngoFSYx+Phoosu4q233uKDDz5gwoQJvPzyy4waNYrf//73TdFGEZG4EQ5KRWZKje873lr+08g/RR0fPk6z74mIiIiISLyp1+x7e+vZsye33347t956K1988QUzZsxorHaJiMSdYDCIz+cDwOmsHqZ3eLvDefDYBynzlXF+7/OjzlFQSkRERERE4tVBBaXC7HY7Y8eOZezYsY1xORGRuBRZFyoyU8owjBrBqLBwTSkFpUREREREJN7Ue/ieiIg0TGRQKrKm1L6Ej1NQSkRERERE4o2CUiIizSQysBSZKbUvypQSEREREZF41SKCUlOnTuWkk05iyJAhjB8/nqVLlx7QebNmzaJfv35cf/31TdxCEZGDFxlYOtBMKdWUEhERERGReBXzoNTs2bN55JFHuOGGG5g5cyb9+/fn2muvJS8vb5/nbd26lUcffZTDDz+8mVoqInJw6qoptS/h4FVFRUWTtElERERERCRWYh6Ueu2117j44osZN24cvXv3ZtKkSbjdbt555506zwkEAtx2221M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RFNQSkSkGRxMppTb7a71OiIiIiIiIq2ZglIiIs3gYDKlIo/XDHwiIiIiIhIvFJQSEWkGjZUpFRncEhERERERac0UlBIRaQbKlBIREREREYmmoJSISDNQppSIiIiIiEg0BaVERJqBz+ezlg9m9j1lSomIiIiISLxQUEpEpBlEZkodTFBKs++JiIiIiEi8UFBKRKQZKCglIiIiIiISTUEpEZFmEFkL6mBqSikoJSIiIiIi8UJBKRGRZhAOJhmGgcPhqNe5kZlVCkqJiIiIiEi8UFBKRKQZhDOlEhISMAyjXucqU0pEREREROKRglIiIs0gHEyqbz2pvc9RUEpEREREROKFglIiIs0gMlOqviLPqaioaLQ2iYiIiIiIxJKCUiIizeBgMqUcDodVhyqyYLqIiIiIiEhrpqCUiEgz8Pl8QMMypSLPU6aUiIiIiIjECwWlRESaQThTyul0Nuj8cFBKmVIiIiIiIhIvFJQSEWkGB1NTKvI8ZUqJiIiIiEi8UFBKRKQZHExNKagOSmn2PRERERERiRcKSomINIPGypRSUEpEREREROKFglIiIs1AmVIiIiIiIiLRFJQSEWkGqiklIiIiIiISTUEpEZFmcLCZUm63G9DseyIiIiIiEj8UlBIRaQYHmykVDmZp+J6IiIiIiMQLBaVERJpBOCh1sJlSCkqJiIiIiEi8UFBKRKQZHGxQSoXORUREREQk3igoJSLSDBpr9j0VOhcRERERkXihoJSISDNorNn3VOhcRERERETihYJSIiJNzDRNZUqJiIiIiIjsRUEpEZEm5vP5rOWDzZRSTSkREREREYkXCkqJiDSxyEBSYxQ6N02zUdolIiIiIiISSwpKiYg0scg6UAebKbX39URERERERForBaVERJpYZBDpYDOlQEP4REREREQkPjhi3QARkXjXGJlSbrfbWlZQSkRERERE9vbSSy/x2WefsX79etxuNyNGjOC2226jZ8+esW5anZQpJSLSxBqjplTkeQpKiYiIiIjI3hYuXMgVV1zB9OnTee211/D7/Vx77bWUlZXFuml1UqaUiEgTa4zhe8qUEhERERGRfXn11Vej1v/2t79xzDHHsGLFCo444ogYtWrfDtmgVCAQIBAIxLoZUUzTtNplGEasmyMSc/HSJ8rLy61lh8PRoN89TqfTWi4rK2txv7+kecRLnxBpLOoTItHU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hAksXLgwxq0ViV/hmfeg/kEpe1oaqWefBUDJ3C/o5vHw3HPPAVBUVMRFF13E+vXrG6+xIiIiIiIizUhBqThkmiZFn3wKfj8VS5ey+ze/4dRvvuWL559n6tSpjB49GoBgMMj777/P6aefzqhRo/jrX//K0qVLraLMInLwIjOlIoff5b40hR333U/hhx/u8/yMyy4LLQSD7PnPdC6//HIeeughAHbv3s2FF17I9u3bG7/hIiIiIiIiTUxBqThkGAadnnyCjKuvwqjKzChbsICtv7qGgf9+i7fuupsvv/iCSy65BKfTCcDq1at54oknOPHEExkxYgT33HMPCxYsIBgMxvJWpIH8ubls+cP15L74UqybcsirK1Oq6JNPKPjPfyiY8c4+z08cNIjEYcMAKHj7bYJeL9dffz233norAJs3b2bcuHHk5+c3QetFRERERESajoJSccrmdtP+rrvoNWcOmb+6GqMqQ6Ps++/ZfM01pD7+OM/8+XZ++ukn7r77boZVvemF0JvcF154gTPPPJNBgwZxyy23MHfu3Kg319Ky7X76aUq++IKcZ56hQgWxY6q2TKlgZSWVa9YA4B40aL/XyLjicgAC+fkUf/opAHfddRfXXnstAD///DOXXHIJJSUljdp2ERERERGRpqSgVJxztmtLuzvvpPfnc8icMAGjaka+ipWrsGek0759e2699Va++OILlixZwsMPP8wxxxxjTU+/a9cu/vnPf3LRRRfRr18/Jk6cyNdff60MqhbM9HopfOddaz3/zTdj2BqpLVOq8pdfwO8HwD1o4H6vkXL66dgzMwEo/fobIJQR+eijjzJu3DgAFi1axFVXXRUVBBMREREREWnJFJQ6RDiys2l3x+30/nwOWb+5lqzfXIsjI8PaX75kCY4X/s5l7drz3pQprFq1iqeffpqTTz7ZGuJXWFjI1KlTOffccxk6dCiTJk1i5cqVsbolqUPJ//4XtZ50zKgYtUSg9kypihUrrG2JB5ApZXO5aH/P3XR78w06/O2R6u02Gy+88AJjx44FYN68efz2t7/FXxXwEhERERERackUlDrEOLKyaHvbbWRff33U9pL/fUXhe++x4667WHvyWIouu5xTVv/My1dcwaqvvmLKlCmceeaZVoBq+/btPPvss4wePZrjjz+eyZMns2PHjljckuyl8P0PQguGQb/FP5JWNXub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IiLS7BSUEhERERERERGRZtciglJTp07lpJNOYsiQIYwfP56lS5fu8/iPP/6Y008/nSFDhnDOOecwb968ZmqpiIiIiIiIiIg0hpgHpWbPns0jjzzCDTfcwMyZM+nfvz/XXnsteXl5tR7/448/cuutt3LRRRfx3nvvcfLJJ3PDDTfwyy+/NHPLRURERERERESkoWIelHrttde4+OKLGTduHL1792bSpEm43W7eeeedWo//17/+xXHHHcdvfvMbevXqxZ/+9CcGDhzIm2++2cwtFxERERERERGRhoppUMrr9bJixQpGjRplbbPZbIwaNYrFixfXes6SJUs45phjoraNHj2aJUuWNGVTRURERERERESkETli+eB79uwhEAiQlZUVtT0rK4v169fXek5ubi5t2rSpcXxubm6tx3u9Xrxer7VeWVlpfTdN82Ca3+hM08Tr9VJZWYlhGLFujkjMqU+IRFOfEImmPiESTX1CpFo89IdwLCMYDMa4JU0npkGp5vDSSy8xefJka7179+789a9/VQ0qEREREREREWnx/H5/rJvQZGIalMrIyMBut9coap6Xl1cjGyqsTZs2NbKi9nX8ddddx4QJE6x1v9+PaZokJiZis8W8pJaIiIiIiIiISA3BYBC/34/b7Y51U5pMTINSLpeLQYMGMX/+fMaOHQuEnvT58+dz5ZVX1nrO8OHDWbBgAddcc4217dtvv2X48OF1PobL5WrspouIiIiIiIiIyEGIearQhAkTmD59OjNnzmTdunXcf//9lJeXc+GFFwJw++238+STT1rHX3311Xz11Vf84x//YN26dfzf//0fy5cvrzOIJSIiIiIiIiIiLU/Ma0qdeeaZ5Ofn89xzz5GTk8OAAQN45ZVXrOF4O3bsiBpmN3LkSJ544gmeeeYZnnrqKbp3787zzz9P3759Y3ULIiIiIiIiIiJST4bZ0qagExERERERERGRuBfz4XsiIiIiIiIiInLoUVBKRERERERERESanYJSIiIiIiIiIiLS7BSUEhERERERERGRZqegVAsydepUTjrpJIYMGcL48eNZunRprJsk0uReeuklxo0bx4gRIzjmmGO4/vrrWb9+fdQxlZWVTJo0iaOOOooRI0YwceJEcnNzY9RikeY1ZcoU+vXrx8MPP2xtU5+QQ82uXbu47bbbOOqooxg6dCjnnHMOy5Yts/abpsmzzz7L6NGjGTp0KNdccw0bN26MXYNFmlAgEOCZZ57hpJNOYujQoYwdO5bnn3+eyPmr1Ccknn3//ff8/ve/Z/To0fTr14/PP/88av+BvP4LCgq49dZbGTlyJIcffjh33XUXpaWlzXgXEqagVAsxe/ZsHnnkEW644QZmzpxJ//79ufbaa8nLy4t100Sa1MKFC7niiiuYPn06r732Gn6/n2uvvZaysjLrmL/+9a988cUXPPPMM7zxxhvs3r2bG2+8MYatFmkeS5cuZdq0afTr1y9qu/qEHEoKCwu57LLLcDqdvPzyy8yaNYs77riDtLQ065iXX36ZN954g/vvv5/p06eTmJjItddeS2VlZQxbLtI0Xn75Zd566y3uvfdeZs+ezW233cYrr7zCG2+8EXWM+oTEq7KyMvr168d9991X6/4Def3fdtttrF27ltdee40XX3yRH374gXvvvbe5bkEimdIiXHTRReakSZOs9UAgYI4ePdp86aWXYtgqkeaXl5dn9u3b11y4cKFpmqZZVFRkDho0yPz444+tY9auXWv27dvXXLx4cYxaKdL0SkpKzFNPPdX85ptvzCuvvNJ86KGHTNNUn5BDz+OPP25edtllde4PBoPmsccea77yyivWtqKiInPw4MHmRx991BxNFGlWv/vd78w777wzatuNN95o3nrrraZpqk/IoaVv377mnDlzrPUDef2H/29aunSpdcy8efPMfv36mTt37my+xotpmqapTKkWwOv1smLFCkaNGmVts9lsjBo1isWLF8ewZSLNr7i4GMD6BHz58uX4fL6o/tGrVy86duzIkiVLYtFEkWbxwAMPcMIJJ0S99kF9Qg49c+fOZfDgwdx0000cc8wxnH/++UyfPt3av3XrVnJycqL6RMr/b+f+Q6q6/ziOv67mbZl22/S6UW5yZ3Q3u7t63R/NYcFILHFuu9WCwdJJIYMISoKE1ZpXmy5ozFjp/rDmDBdyoTX7IfRjwWC6QTVdZi6askVBajVRS133fv8YXb6Xtu83vnw9x3mfDzjg/XzOvb6PnDccX9zPJz5e6enpPEdhWvJ4PGpvb1dvb68k6fLlyzp37pyWLl0qiZ5AZHuU+//ChQuaM2eOXnjhhdA5L7/8sqKiothCxwQzzC4A0u3bt3X//n0lJCSEjSckJDy0tw4wnQUCAX344YfKzMzUwoULJUkD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\n"
- },
- "metadata": {}
- },
- {
- "output_type": "display_data",
- "data": {
- "text/plain": [
- ""
- ],
- "image/png": "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efbZZ6lSpQqTJ0/m/vvvx9vbm19//TXf83366afp378/jz76KNnZ2UyYMIGzZ88W6/mJiIhcyzR9T0REpBjS0tI4ffo0PXv2zLctJSUFu93uvu/n54ePj4/HPn379vW4X7169QIDmNatW9OuXTv32lIXnifXrFmzqFq1KosXL8ZisQBwxx13cPvtt/PSSy/Rq1cvoqKiaN26NQsWLKBjx460a9euxM/7fMuXL6dq1apcf/31ANx0000sXryYvXv30qhRIwAcDgdPPvkklStXZtmyZQQFBbmPd7lc7tvPPPMMLpeLpUuXUq1aNXf75MmTL7m+w4cPs2LFCurXr+/R/vXXX3u8jnfeeSdDhw5l/vz5dOvWDYCjR4/y5ptv0qtXL15//XWPKZi5dbdv354qVaqwfPlyunfv7t7+5Zdf4nQ6ixVKrVu3jlatWhEYGHjJzxMgKSmJd955h06dOvHuu++6661bt657xNiwYcM4ePAgx44d47XXXvP4DI4bN859e+PGjdhsNt59990ip5ier3///rz++ut8/fXX3HXXXe72VatW4efn535t161bR0BAAPPmzcNkMpX4uS5atMgjWMr18ssvc9NNN7nvnz59mmnTprmnvt56662MGDGCl19+mcGDB+Pl5cVnn33GwYMHefHFF93v12233cbIkSN59dVXGTZsGAEBAWzZsoUlS5YwcuRInnjiCfdj/P3vf/f4HEPOiL9Vq1ZRs2ZNANq1a8fgwYP58ssvPV4XERERyU8jpURERIohLS0NIN9i5ZAzdahDhw7un4ULF+bb54033mD+/PnunxdffPGijzV+/HgSEhL49NNPC9x+7tw5tmzZQr9+/UhLS3OPHDl79iydOnXiyJEjnDp1qsjnNHToUPbv38/QoUOL3Ndut7Nq1Sr69evnXgupffv2hIeHs3z5cvd+e/bs4dixY4waNcojkALcxyUlJfHTTz8xbNgwj0Dq/H0uRZs2bfIFUoBHIJWcnExqairXX389e/bscbevWbMGp9PJgw8+mG9NsNyajEYjAwcO5Pvvv3d/HiAnrGvZsiVRUVGF1ud0Ovnxxx9LZerepk2bsNlsjBo1yqPeW265hYCAANavXw9AQEAAkDNCKzMzs8Bz5b5P3333HU6ns9g11KlTh0aNGrFq1Sp3m8Ph4Ouvv6ZHjx7u1z0oKIjMzEw2btxYsif5pxtvvNGj7+T+XBiyms1mbr31Vvd9i8XCrbfeSmJiIrt37wbghx9+ICIiwuPKhl5eXowcOZKMjAx++uknAL755hsMBoNHeJfrws9ox44d3YEUQMOGDQkICCAuLu6Snq+IiMi1RCOlREREisHf3x+AjIyMfNtmzpxJeno6Z86c4dFHHy3w+NatWxd7FEqbNm1o164d7733Hrfddlu+7bGxsbhcLl577TVee+21As+RmJhIZGRksR6vODZu3EhSUhLNmjXj6NGj7vZ27drx5Zdf8uijj2I0Gt1fxBs0aHDRcxVnn0txsQXX165dy7/+9S/27t3rMeXr/HAhNjYWo9Hontp4MTfffDPvvvsua9as4eabb+bQoUPs3r2bGTNmFFnfrl27SEpKco8g+iuOHz8O5IyMOp/FYiEqKor4+HgAoqKiGD16NPPnz2fFihW0bt2aHj16MGjQIPdorf79+/Pf//6XJ554gjlz5tChQwd69epF3759C1y0/3z9+/fn5Zdf5tSpU0RGRvK///2PxMRE+vXr597njjvu4KuvvuK+++4jMjKSG264gX79+tGlS5diPdcqVarQsWPHIverXLlyvtC4du3aAMTHx9OiRQvi4+OpVatWvueV+77nvq6xsbFUrlyZkJCQIh+3oDXkgoOD863tJSIiIvkplBIRESmGwMBAIiIi+OOPP/Jty11j6tixY6X2eOPGjWPkyJF8+umn+UYc5Y5m+fvf/07nzp0LPP78kRulIXc01MMPP1zg9v/973+0b9++VB/zYqOmHA5Hge0FTXX8+eefGTt2LG3atOGpp54iIiICLy8vFi9efNFF2gtTv359mjRpwvLly7n55ptZvnw5Xl5eHiHMxaxfv57q1asXOJrrcpo2bRpDhgzhu+++Y+PGjTzzzDO88847fP7551SpUgUfHx8WLlzI1q1bWbduHT/++COrVq3is88+4z//+U+hU+769evHnDlz+Oqrr7j77rv56quvCAwM9AicwsPDWbZsGRs2bOCHH37ghx9+YMmSJdx88808//zzV+IluKwu9vpcOM1PRERE8tP0PRERkWLq1q0bR48eZefOnZf9sdq2bUvbtm0LvBJf7jQxLy8vOnbsWOBP7rStvzIdLldGRgbff/89/fv3d4/OOv8nIiLCveB5bm2///77Rc9XnH0gZ9pXQaNNckezFMfXX3+Nt7c38+bNY/jw4XTt2rXAUTc1a9bE6XRy8ODBIs958803s2XLFk6fPs3KlSvp1q0bwcHBRR63bt26UrvqXu60x0OHDnm0W61Wjh075l7kPVd0dDT/+Mc/WLhwIQsXLuTUqVMei+kbjUY6dOjAY489xqpVq3jkkUfYsmWL+0qNFxMVFUWzZs346quvsNvtfPPNN/Ts2dO9zlkui8VCjx49ePrpp1mzZg233nory5Yt8xh191edPn0630jGI0eOALhfj+rVq3P06NF80xRzX8fc17VmzZqcPn2ac+fOlVp9IiIikp9CKRERkWK699578fX1Zfr06Zw5cybf9tIeGZG7ttTnn3/u0R4eHk7btm357LPPOH36dL7jkpKS3Ld9fX0BSE1NzbdfamoqBw8eLHDb+b799lsyMjK488476du3b76f7t27880332C1WmnSpAk1atTgww8/zBco5b4+YWFhtGnThsWLF+cLmM5/DWvWrElqair79u1zt50+fbrYVwuEnFEsBoPBY3TVsWPH+O677zz269mzJ0ajkTfffDNfYHHh+zpgwAAMBgOzZs0iLi6uWAucnzlzhj179pTK1D3IWcfIy8uLBQsWeNS3aNEiUlNT3eFXWlqaxyL8kDNt0mg0uqcyFhS85C5cf+EV7grSv39/duzYweLFizl79my+UWMXXoXOaDQSHR1d7PMXl91u57PPPnPft1qtfPbZZ4SFhdGkSRMAunTpQkJCgsc6WHa7nQULFuDn50ebNm0A6N27Ny6Xi7lz5+Z7HI2AEhERKT2aviciIlJMtWvX5qWXXmLSpEn07duXgQMH0rBhQ1wuF8eOHWPlypUYjUaqVKlSKo+XO1rqf//7X75tTz31FHfccQcDBw5kxIgRREVFcebMGXbs2MHJkyfd0+0aNWqEyWTi3XffJTU1FYvF4l6g/Ntvv+Wxxx5j9uzZhS52vmLFCkJCQmjZsmWB23v06MHnn3/OunXr6N27N08//TRjx47l5ptvZujQoURERHDo0CEOHDjAvHnzAHjiiSe4/fbbGTJkCLfeeis1atQgPj6edevW8cUXXwA5YcdLL73knsqYlZXFJ598Qp06ddwLVxela9euzJ8/n3vvvZcBAwaQmJjIxx9/TM2aNdm/f797v1q1ajFmzBjeeust7rjjDnr37o3FYmHXrl1UrlyZSZMmufcNCwujc+fOrF69mqCgoGIFTevXr8fb27tEV0BMSkrirbfeytdeo0YNBg0axAMPPMDcuXO599576dGjB4cPH+bjjz8mJibGHZRt2bKFmTNn0rdvX2rXro3D4eCLL77AZDLRp08fAN58801+/vlnunbtSvXq1d2vUZUqVdxXWixMv379eP7553n++ecJCQnJNxLtiSeeIDk5mfbt2xMZGcnx48f56KOPaNSoUZFreEHOaKfcz8T5KlWqxA033OC+X7lyZd59913i4+OpXbs2q1atYu/evfzf//0fXl5eQM4V+T777DOmTZvG7t27qV69Ol9//TXbtm1j+vTp7hGG7du3Z/DgwSxYsICjR4/SuXNnnE4nv/zyC+3atdNV9UREREqJQikREZES6NmzJytWrOA///kPGzduZPHixRgMBqpVq0bXrl25/fbbadiwYak93rhx4xg1alS+9vr167N48WLmzp3L0qVLOXfuHGFhYTRu3JgHH3zQvV9ERAQzZszgnXfe4fHHH8fhcPDhhx8SHh5erMdPTExk8+bN3HTTTRddO6dDhw74+vqyfPlyevfuTefOnfnggw948803+c9//oPL5SIqKooRI0a4j2nYsCGff/45r732Gp988gnZ2dlUq1bNY5RNaGgoc+fO5bnnnuPFF1+kRo0aTJw4kaNHjxY7lOrQoQOzZs3i3Xff5dlnn6VGjRpMnjyZ+Ph4j1AK4KGHHqJGjRp89NFHvPLKK/j6+hIdHc3gwYPznXfw4MGsXbuWfv365ZuqVpD169fTrl27Ate9upjExMQCF7Lv0KEDgwYNYvz48YSFhfHRRx8xe/ZsgoODGTFiBBMnTnSHMNHR0XTq1Im1a9dy6tQp93N69913adGiBZATKsbHx7tHOoWGhtK2bVvGjx/vXgy9MFWqVKFly5Zs27aNW265xf3YuQYNGsTnn3/Oxx9/TEpKChEREfTr14/x48cXuZA65CyyX9CV+9q2besRSgUHB/Pcc8/xzDPP8Pnnn1OpUiWefPJJj8+dj48PCxYs4KWXXmLp0qWkpaVRp06dAoPZ2bNnEx0dzaJFi3jhhRcIDAykadOmFw1nRUREpOQMLo1BFhERESmRNWvW8OCDD7Jw4UJat25d6L52u5127doxceJE7rzzzitU4bVl5MiRnD179pIWrxcREZGyozWlRERERErov//9L1FR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777Lu+++y1dffUV4ePgl1/tXXLMjpRo3bnxZksa/wuVykZaWRkBAQLH+pyMsLIyUlBS8vb1p0aJFvu02p42H1j7EtlPbAGhaqSlv3fgWFtPFn/fyHfFMX/obAD5eRj69vz31KwdedH+Ry6Wk/UHkaqb+IJJH/UEkj/rD5ZGVlcXRo0epVasWPj4+ZV3OJVm+fDlz5sxh/fr1APz888888MADrF271uNK7vHx8cycOZNdu3YREhLC3XffzZo1a7juuut49NFHARgwYAC33347d955JwDXX389L730Et27d3efp2vXrkyaNIlBgwYVWM/999/PL7/8kq997Nix3HvvvXz33Xe8/fbbxMbGUqlSJW699VZGjRoFwPbt2/nXv/7FH3/8QXZ2NlFRUdxzzz307t2bw4cP89JLL7F//37S0tKoWrUqt956K7fddlvpvJCXQWGfL6vVyp49e1i7dq3HFMnLkV2sWLGCN998k7feeqvMAim4hkdKxcTEVPhQqmvXruzatYu+ffvy8ccf59v+3P+eY+HehQBE+Ebw6YBPqexX+aLn++NUKoPmbiTTljNk8KVbmjP8+hqX+GxE/hr9I0skj/qDSB71B5E86g+XR1ZWFocPH6ZOnToVNpS6FrlcLpxOJ0ajsVz3h8I+X38lryjJSKkvv/yS6dOn89prr9GtW7cSPU5pK3y1aynXchc7L2ih8y8PfekOpMxGMy93e7nQQCrDamfswm3uQOrW1lEKpERERERERESuIitXruSxxx5jzpw5ZR5IwTU8fe9qUFgo9dGevAX4nmj3BC0qt7joeVwuF08s/Y0Dp3OuItGwSiAzBjcp3WJFREREREREpNSkp6cTGxvrvn/s2DH27t1LcHAw1apVY86cOZw6dYoXXngByJmyN23aNKZPn07z5s1JSEgAchaqz80XrjSFUhVYYaHUh/0+ZF/SPg6cO8CQ64YUep7Pf45jyfZ4APwtJt66sxU+XqbSL1hERERERERESsVvv/3mXnsLYPbs2QAMGTKE5557joSEBE6cOOHe/vnnn2O325k5cyYzZ850t+fuXxYUSlVguaFUSkpKvm1eJi9iImKIiYgp9Bx7jqfw5Be73fefG9aMuhEBpVuoiIiIiIiIiJSqdu3asX///otuvzBoWrBgweUuqcS0plQFlnvVhIJGShWH0+ni4c+2k213AjCy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Op1cgkr/GEv4/fdjiarhbsud3wnw66+/al0pEREREREREbkkr7zyCosWLWLSpEnudax/+eUX5s6di9VqLfGoq1IJpbKysvjwww+pXLlyaZxOLpF3vXr52po3b+6+vX37doVSIiIiIiIiInJJli5dyjPPPMONN97obmvYsCGRkZHMmDHj8odSbdq08Vjo3OVykZ6ejo+PDy+++GJJTyeXWZUqVahatSonTpzQulIiIiIiIiIicsmSk5OpW7duvva6deuSnJxc4vOVOJR67LHHPEIpg8FAWFgYzZs3Jzg4uMQFyOXhstkweHkBOVMrT5w4wa+//lrGVYmIiIiIiIhIRdWwYUMWLlzIE0884dG+cOFCoqOjS3y+EodSuZcWlPIp9p57yfrtNwL79aXq008DOaHUV199xeHDhzl37hwhISFlWqOIiIiIiIiIVDyPPvooDzzwAJs2baJFixYA7NixgxMnTvDuu++W+HwlWxYdWLx4MV999VW+9q+++oqlS5eWuAApXY7kZBzJyViPel6BL5em8ImIiIiIiIjIpWjbti2rV6+mV69epKamkpqaSq9evfjyyy/54osvSny+EodS//73vwkNDc3XHh4ezttvv13iAqR0WWrWBMB2NNbdplBKREREREREREpDZGQkjzzyCG+88QZvvPEGjzzyCCkpKSxatKjE5ypxKHX8+HFq1KiRr71atWqcOHGixAVI6bLUrgWA7cQJnNnZAERERFC9enUg5wp8IiIiIiIiIiJlrcShVHh4OPv378/Xvm/fPq1VVA54/TlSCpcL27Fj7vaWLVsCaLFzERERERERESkXShxK3XTTTcyaNYstW7bgcDhwOBxs3ryZZ599lptuuuly1CglYKlZy327oHWlYmNjSUxMvNJliYiIiIiIiIh4KPHV9x566CHi4+O5++67MZtzDnc6nQwePJhHHnmk1AuUksmdvgdgLWRdqRtvvPFKliUiIiIiIiIiFdS4ceMK3Z6SknJJ5y1xKGWxWHj11Vc5cuQIe/fuxcfHhwYNGrjXLJKyZQoNxRgQgDMtDevRI+52hVIiIiIiIiIicikCAwOL3H4puVCJQ6lctWvXpnbt2pd6uFwmBoMBS61aZO3ejS02b6RUWFgYNWvWJDY2VutKiYiIiIiIiEixzZ49+7Kct8Sh1Pjx44mJieH+++/3aH/33XfZtWsXr7/+eqkVJ5cm4uGHAfCuW8ejvUWLFsTGxuoKfCIiIiIiIiJS5kq80PlPP/1E165d87V36dKFn3/+uVSKkr8moHMnAjp3wuuCoXO5V+CLj4/n9OnTZVGaiIiIiIiIiAhwCaFURkYGXl5e+drNZjNpaWmlUpRcHuevK6UpfCIiIiIiIiJSlkocSjVo0IBVq1bla1+1ahX169cvlaLk8mjevLn7tqbwiYiIiIiIiEhZKvGaUv/4xz8YP348cXFxtG/fHoDNmzezcuVKrSdVTjizsoifPBnb0aOE3H47YXfcAUBISAh16tTh8OHDGiklIiIiIiIiImWqxKFUjx49ePPNN3n77bf5+uuv8fb2pmHDhnzwwQcEBwdfjhqlhAze3mRs2YozLY3sP/7w2NaiRQsOHz7Mjh07yqY4EREREREREREuYfoeQLdu3fj000/ZsWMH3333Hf369eP5559n8ODBpV2fXAKDwYClVi0AbEePemzLXVfqxIkTnDhx4kqXJiIiIiIiIiICXGIoBTlX4Zs6dSqdO3dm/vz5tG/fns8++6w0a5O/wFKnDgCZv+3GmZ3tbs+9Ah9osXMRERERERERKTslCqUSEhL497//Te/evXnooYcICAjAarXy5ptvMnnyZJo1a3a56pQSCuzRHQBnSgppa9e6289/j7TYuYiIiIiIiIiUlWKHUmPGjKFv377s37+f6dOn8+OPP/LPf/7zctYmf0HAjTdiDAwEIHnpMnd7UFCQ+yqJGiklIiIiIiIiImWl2KHUDz/8wPDhwxk/fjzdunXDZDJdzrrkLzJ6exPUrx8AaRs2YD9zxr0td12pHTt24HK5yqI8EREREREREbnGFTuU+vjjj0lPT2fo0KHccsstfPTRRyQlJV3O2uQvCr755pwbDgfJK1a623NDqdOnT3P8+PErX5iIiIiIiIiIXPOKHUq1aNGCZ555hg0bNnDrrbfy5Zdf0qVLF5xOJxs3biQtLe1y1imXwLdlC/dV+LIP/OFuzw2l/r+9+w5vqmz/AP7NTtp0LzYtq4W2QAFFCogIooDI5pWfoCIoryIOUNxIQUR9xZchKluciGhBoIDK0leLiDIKCJRdVvfKaOb5/RFy0rSlrLZJ2+/nus6VnJn7pLkz7j7PcwBHaykiIiIiIiIiopp2w1ff8/HxwYgRI/D111/jhx9+wLhx47B06VIkJibi3//+d3XESDdJIpGgwayZaLllMxrNni0uj4+Ph0QiAcCiFBERERERERF5xg0XpUpr0aIFpk2bhl27duGDDz6oqpioCvnefjuUkZFuy/z8/NC6dWsALEoRERERERERkWfcUlHKSSaToW/fvvjkk0+q4nBUAxISEgBwsHMiIiIiIiIi8owqKUqR97OXlKBw0yYY9u0D4BpXKjc3F+fPn/dgZERERERERERUH7EoVQ8INhtO3tcfF6e+gLwVKwAAHTp0ENfvu1KoIiIiIiIiIiKqKV5RlPryyy9x9913Iz4+HiNHjsTBgweva79NmzYhOjoaTz31VDVHWLtJZDL4dusGACjeuQvW/HzEx8dDKnX8+Q8cOODJ8IiIiIiIiIioHvJ4USolJQVz5szBpEmTkJycjJiYGIwfPx65ubmV7nf+/Hm8++676NKlSw1FWrsFDBniuGOxoGhTCnx9fREdHQ2ALaWIiIiIiIiIqOZ5vCi1cuVKjBo1CsOHD0erVq2QlJQEtVqN77777qr72Gw2vPDCC5g8eTKaNm1ag9HWXj63dYGiUSMAQOG6dQBc40pxsHMiIiIiIiIiqmkeLUqZzWYcPnwYiYmJ4jKpVIrExMRKW+8sWrQIISEhGDlyZE2EWSdIpFIEDBkMACg5dAimEyfEolRBQQHOnj3rweiIiIiIiIiIqL6Re/LB8/PzYbPZEBIS4rY8JCQEp06dqnCfvXv3Yu3atVh3pbXPtZjNZpjNZnHeYrEAAARB8LrWQc6Yqisu/8GDkfPRxwCAguR16NDrTnHd/v370bx582p5XKKbUd35QFSbMB+IXJgPRC7MByKXupAPtTn2m+XRotSN0ul0mDZtGmbNmoXg4ODr2mfx4sX48MMPxfmgoCAsWrQIer3erVjlDQRBgNFoBABIJJKqf4DgYCg7doB5/wEU/PADIseOgUwmg81mw+7du9GnT5+qf0yim1Tt+UBUizAfiFyYD0QuzAcil7qQD85GNPWJR4tSQUFBkMlk5QY1z83NRWhoaLntMzIycOHCBTz55JPiMrvdDgBo164dtmzZgmbNmrntM3HiRIwbN06ct1gsOHXqFHx9faFUKqvydG6Zsyqq1WqrLYmsw4bj8v4DsGdnQ3P8ONq3b499+/Zh8+bNeOuttyCTyarlcYluVE3kA1FtwXwgcmE+ELkwH4hc6kI+eFvDmZrg0aKUUqlEbGwsUlNT0bdvXwCOIlNqairGjBlTbvsWLVpgw4YNbsvmzZsHvV6P1157DQ0aNKjwMUoXn5x/ZIlE4pUvVGdc1RWbf//7UPjDevj37w+f9u0xZswY7Nu3DxkZGfjpp5/Qv3//anlcoptR3flAVJswH4hcmA9ELswHIpfang+1Ne5b4fHue+PGjcNLL72EuLg4tG/fHqtWrYLRaMSwYcMAANOmTUNERASmTp0KlUqFNm3auO3v7+8PAOWWU8Vkfn6I/OILcX7kyJGYMWMGiouLsWzZMhaliIiIiIiIiKhGeLwoNWDAAOTl5WHBggXIzs5G27ZtsWzZMrH73qVLlyCVevQigXWaVqvF6NGjsWTJEuzYsQMnTpxAq1atPB0WEREREREREdVxEqGeDe9uNpuRlpaG+Ph4rxxTSqfT1WgfWFtREU5cuoRu3boBAJ588knMnj27Rh6bqDKeyAcib8V8IHJhPhC5MB+IXOpCPnhzvaK6sAlSPVVy7DgynpqE4917IEqtxp133gkA+Oqrr2AwGDwcHRERERERERHVdSxK1VMSuQy67dsBiwUF69Zh/PjxAIDCwkKsXbvWw9ERERERERERUV3HolQ9pWrZEur4eABA4fr1uO/ee9GoUSMAwPLly1HPenUSERERERERUQ1jUaoeCxgyGABgvXgJ5r/34dFHHwUApKWlYc+ePR6MjIiIiIiIiIjqOhal6jH/AQMAhQKAo7XU2LFjobgyv3z5ck+GRkRERERERER1HItS9Zg8KAh+d/UCABT/9BPCAgMxaNAgAMD69euRlZXlyfCIiIiIiIiIqA5jUaqe8x84EABg1+mg27ULEyZMAABYLBZ8/vnnngyNiIiIiIiIiOowFqXqOe1dd0Hq4wMAKNqUgq5duyI2NhYA8Omnn8JqtXoyPCIiIiIiIiKqo1iUquekajX87ukLyOXAlSvujR8/HgBw4cIFbN261ZPhEREREREREVEdxaIUIeyZZ9D611/QZMF8SCQSjBw5Ev7+/gCAZcuWeTg6IiIiIiIiIqqLWJQiKBo3hjwoSJz39fXF6NGjAQC7du1Cenq6p0IjIiIiIiIiojqKRSmq0GOPPSbeX758uQcjISIiIiIiIqK6iEUpElnz85G/ejWKt21D69at0atXLwDA119/DZ1O5+HoiIiIiIiIiKguYVGKAACCIODMvx7E5RlJyF2+AgAwYcIEAEBxcTHWrl3ryfCIiIiIiIiIqI5hUYoAABKJBP797gEAGP/+G5YLF3DvvfeicePGABxd+IQrV+cjIiIiIiIiIrpVLEqRyP/++8X7hSkpkMvlGDduHADg8OHD+OOPPzwVGhERERERERHVMSxKkUgVHQ1ly5YAgKKNmwAAY8eOhUKhAAAsW7bMY7ERERERERERkbsvv/wSd999N+Lj4zFy5EgcPHiw0u2LioqQlJSEHj16IC4uDvfeey927dpVQ9GWx6IUiSQSCQLuHwgAMB07BtOJEwgLC8PgwYMBABs2bEBmZqYnQyQiIiIiIiIiACkpKZgzZw4mTZqE5ORkxMTEYPz48cjNza1we7PZjHHjxuHChQuYP38+tmzZglmzZiEiIqKGI3dhUYrc+A8YIN4v3ORoLTV+/HgAgMViwdKlSz0SFxERERERERG5rFy5EqNGjcLw4cPRqlUrJCUlQa1W47vvvqtw+++++w6FhYVYtGgROnfujCZNmuD2229HTExMDUfuIvfYI3uYzWaDzWbzdBhuBEEQ45JIJB6JQdakCdTx8ShJS0PRxo0InjQJnTt3RpcuXbB3714sXrwYEydORHBwsEfio/rDG/KByFswH4hcmA9ELswHIpe6kA/OGoVer4fZbBaXK5VKKJVKt23NZjMOHz6MiRMnisukUikSExOxb9++Co+/fft2dOzYETNnzsS2bdsQHByM+++/H48//jhkMlk1nNG11dui1JEjRzwdgteSd+gAZVoaLBnnkfb997C3bIlhw4Zh79690Ov1ePPNN8XWU0RERERERERUdXr37g2j0SjOP/3005g8ebLbNvn5+bDZbAgJCXFbHhISglOnTlV43IyMDOzevRuDBg3CkiVLcO7cOSQlJcFqteLpp5+u+hO5DvW2KNWuXbtylUZPEwQBOp0OWq3Wo5Vda+PGyDx/Hn4DB0B7112Q+vigQ4cOSE5Oxp9//okNGzZgxowZ5V78RFXJW/KByBswH4hcmA9ELswHIpe6kA9msxlHjhzBjh07xAuOAaiy2oUgCAgJCcGsWbMgk8kQFxeHzMxMLF++nEWpmiaTyTzWPO1qBEEQ4/JkEskaNECzTz4ut/yll17CiBEjoNfr8fHHH+PNN9/0QHRUX3hLPhB5A+YDkQvzgciF+UDkUhfywVmj8PX1vWYhKigoCDKZrNyg5rm5uQgNDa1wn7CwMMjlcrdaSIsWLZCdnQ2z2eyRhjsc6JyuW+/evXH77bcDAJYtW4acnBwPR0RERERERERU/yiVSsTGxiI1NVVcZrfbkZqaioSEhAr36dSpE86dOwe73S4uO3PmDMLCwjzWk4xFKbomW1ERAEAikeDll18G4Bh47cMPP/RkWERERERERET11rhx47BmzRokJyfj5MmTmDFjBoxGI4YNGwYAmDZtGubOnStuP3r0aBQUFGD27Nk4ffo0du7cicWLF+Ohhx7y1CnU3+57dG26X35BzsefwHTqFFr/+gukSiV69eqFO+64A7t378ayZcswadIkhIWFeTpUIiIiIiIionplwIAByMvLw4IFC5CdnY22bdti2bJlYve9S5cuQSp1tUVq2LAhli9fjjlz5uCBBx5AREQEHn74YTz++OOeOgUWpejq7DodjFcuJan/9Vf49ekjtpYaMmQIDAYDFi5ciJkzZ3o4UiIiIiIiIqL6Z8yYMRgzZkyF6z7//PNyyxISErBmzZrqDuu6sfseXZW2d29IfHwAAIUbN4rLe/bsicTERADA8uXLkZWV5ZH4iIiIiIiIiKj2YlGKrkqq0cCvTx8AgG7HTth0egCOsaVeeuklAIDRaMTChQs9FiMRERERERER1U4sSlGl/AcOAAAIJSXQbd8mLu/Zsye6d+8OAFixYgUyMzM9Eh8RERERERER1U4sSlGltN27QxYYCAAo3LTJbZ3zSnxGoxELFiyo6dCIiIiIiIiIqBZjUYoqJVEo4HfvvQAA/W+/w5qfL67r3r07evbsCQBYuXIlLl++7JEYiYiIiIiIiKj2YVGKring/oGOO1YrCr5d67bO2VqqpKQE8+fPr+nQiIiIiIiIiKiWYlGKrknTuTOULVtCqtVC5u/vtq5bt27o1asXAGDVqlVsLUVERERERERE14VFKbomiVSKxnPfR8vNKQh68F/l1juvxFdSUoJ58+bVcHREREREREREVBuxKEXXRR0TA3lYWIXr7rjjDrfWUhcvXqzJ0IiIiIiIiIioFmJRim6KOSMDdrNZnHeOLWUymTi2FBERERERERFdE4tSdEPsZjOyFyzEqYH3I+/TVeLyrl27onfv3gAcraXS09M9FSIRERERERER1QIsStENkUgkKPpxKwSzGTkffwxLqa56r7zy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zsRPP/2EVatWoWnTpm7r4+LioFAo3PLj1KlTuHjxIjp27FjD0RJVrzvuuAMbNmzAunXrxCkuLg6DBg0S7zMfqL7o1KmTOH6O05kzZ9C4cWMAQJMmTRAWFuaWDzqdDgcOHOD3J6pzSkpKIJFI3JbJZDIIggCA+UD12/W8/hMSElBUVIRDhw6J2+zevRt2ux3t27ev8ZjJHbvveYFx48bhpZdeQlxcHNq3b49Vq1bBaDRi2LBhng6NqFolJSVh48aN+Oijj+Dr6yv26fbz84NarYafnx+GDx+Od955BwEBAdBqtXjrrbeQkJDAH+FU52i1WnE8NScfHx8EBgaKy5kPVF888sgjGD16ND755BP0798fBw8exJo1azBz5kwAgEQiwcMPP4yPP/4YzZs3R5MmTTB//nyEh4ejb9++Ho6eqGr17t0bn3zyCRo1aiR231u5ciWGDx8OgPlAdZ9er8e5c+fE+fPnz+Off/5BQEAAGjVqdM3Xf8uWLdGzZ0+88cYbSEpKgsViwaxZszBw4EBERER46rToCongLLGTR33xxRdYvnw5srOz0bZtW7z++uvo0KGDp8MiqlbR0dEVLp8zZ45YlDWZTHjnnXewadMmmM1m9OjRA2+++Sab2lK9MHbsWMTExOC1114DwHyg+mXHjh344IMPcObMGTRp0gTjxo3DqFGjxPWCIGDBggVYs2YNioqK0LlzZ7z55puIioryYNREVU+n02H+/Pn4+eefkZubi/DwcAwcOBCTJk2CUqkEwHyguu2PP/7Aww8/XG750KFD8c4771zX67+goACzZs3C9u3bIZVK0a9fP7z++uvw9fWtyVOhCrAoRURERERERERENY5jShERERERERERUY1jUYqIiIiIiIiIiGoci1JERERERERERFTjWJQiIiIiIiIiIqIax6IUERERERERERHVOBaliIiIiIiIiIioxrEoRURERERERERENY5FKSIiIiIiIiIiqnEsShERERHVsOjoaPz888+eDoOIiIjIo+SeDoCIiIioJr388stITk4ut7xHjx5Yvny5ByIiIiIiqp9YlCIiIqJ6p2fPnpgzZ47bMqVS6aFoiIiIiOondt8jIiKiekepVCIsLMxtCggIAODoWvfVV19hwoQJaN++Pfr06YMtW7a47X/s2DE8/PDDaN++Pbp27Yo33ngDer3ebZu1a9di4MCBiIuLQ48ePTBz5ky39fn5+Zg0aRI6dOiAfv36Ydu2bdV70kRERERehkUpIiIiojLmz5+Pe++9F+vXr8egQYMwZcoUnDx5EgBgMBgwfvx4BAQEYO3atZg3bx5+//13zJo1S9z/q6++wsyZMzFq1Chs2LABH330EZo1a+b2GB9++CH69++PH374AXfeeSdeeOEFFBQU1ORpEhEREXkUi1JERERU7+zcuRMJCQlu0yeffCKuv++++zBy5EhERUXhueeeQ1xcHD7//HMAwMaNG2E2m/Huu++iTZs26NatG6ZPn47169cjJycHAPDxxx9j3LhxeOSRRxAVFYX27dvj0UcfdYth6NChuP/++9G8eXNMmTIFBoMBBw8erLHngIiIiMjTOKYUERER1Ttdu3bFjBkz3JY5u+8BQEJCgtu6jh074p9//gEAnDx5EtHR0fDx8RHXd+rUCXa7HadPn4ZEIkFWVha6detWaQzR0dHifR8fH2i1WuTl5d3sKRERERHVOixKERERUb2j0WjQvHnzajm2SqW6ru0UCoXbvEQigd1ur46QiIiIiLwSu+8RERERlbF//363+QMHDqBly5YAgJYtW+LYsWMwGAzi+r///htSqRRRUVHQarVo3LgxUlNTazJkIiIiolqHRSkiIiKqd8xmM7Kzs92m0l3ntmzZgrVr1+L06dNYsGABDh48iDFjxgAABg0aBKVSiZdffhnHjx/H7t27MWvWLAwePBihoaEAgMmTJ2PlypX47LPPcObMGRw+fFgck4qIiIiIHNh9j4iIiOqdX3/9FT169HBbFhUVhS1btgBwFJVSUlKQlJSEsLAwzJ07F61atQLg6Pq3fPlyzJ49GyNGjIBGo0G/fv3w8ssvi8caOnQoTCYTPv30U7z33nsIDAzEfffdV3MnSERERFQLSARBEDwdBBEREZG3iI6OxqJFi9C3b19Ph0JERERUp7H7HhERERERERER1TgWpYiIiIiIiIiIqMax+x4REREREREREdU4tpQiIiIiIiIiIqIax6IUERERERERERHVOBaliIiIiIiIiIioxrEoRURERERERERENY5FKSIiIiIiIiIiqnEsShERERERERERUY1jUYqIiIiIiIiIiGoci1JERERERERERFTjWJQiIiIiIiIiIqIa9//rkhr6UX14QwAAAABJRU5ErkJggg==\n"
- },
- "metadata": {}
- },
- {
- "output_type": "display_data",
- "data": {
- "text/plain": [
- ""
- ],
- "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAHqCAYAAADVi/1VAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4FOX2wPHv1mx6h5AGCSX0Jr1FkKIgIEV+cAEF9QooogIClnstVwWxgigXy0VFLEhTkCK9CCJIR0DpEAjpbVO2ze+PJZMsSUioSeB8nmef3Z15Z+bM7r5J9uS872gURVEQQgghhBBCCCGEEOIW0pZ3AEIIIYQQQgghhBDiziNJKSGEEEIIIYQQQghxy0lSSgghhBBCCCGEEELccpKUEkIIIYQQQgghhBC3nCSlhBBCCCGEEEIIIcQtJ0kpIYQQQgghhBBCCHHLSVJKCCGEEEIIIYQQQtxykpQSQgghhBBCCCGEELecJKWEEEIIIYQQQgghxC0nSSkhhBCiFIsXLyYmJoZz586VdyhCiEqqS5cujBo1qrzDEEIIISoUSUoJIYS444wePZomTZqQlZVVYpsJEybQsGFDUlNTXZbnJ6hKu3Xp0qVMsezYsYOYmBhWrVpV7PrXXnuNmJgYl2VdunQhJiaG//znP1e9vyu5ePEiH374IYcPH77qbUvy9NNPExMTw9tvv33D9nknSU9Pp379+qxYsaLENlOmTKFZs2a3MKqKKb9fFHd79NFHyzs8IYQQQhRDX94BCCGEELdanz592LBhA2vXruWBBx4osj4nJ4f169fToUMH/P396du3L7169cJoNNKyZUumT5/u0v6ll16icePGDBo0SF3m6el5s0+DBQsW8Pjjj1O1atUbsr+EhARmzZpFWFgY9erVu+79ZWVlsWHDBsLCwvj555+ZOHEiGo3mBkR659i6dSsajYYOHTqUdyiVQr169Rg5cmSR5VWqVCmHaIQQQghRGklKCSGEuON06dIFT09Pli1bVmxSat26dWRnZ9OnTx8AdDodOp0OgIiICCIiIlzav/LKK0RERNC3b9+bHnu+2rVrc/LkST799FNeeumlW3bcq7F69WocDgdvvvkmDz/8MDt37qRVq1blHVYRiqKQl5eHyWQq71CK2LRpE82bN8fHx6e8Q6kUqlatekv7oRBCCCGujwzfE0IIcccxmUx0796d3377jeTk5CLrly9fjqenpzoEryLOKRUWFkbfvn1ZsGABFy9eLLX9xYsXef7552nXrh0NGzakV69eLFy4UF2/Y8cOBg4cCMDzzz+vDntavHgx4KweO378OCkpKWWOcdmyZbRr1442bdpQs2ZNli1bVmy748eP8/TTT9OmTRsaN25Mjx49eP/994vE/8ILL9ChQwcaNmxIly5dePnll7FYLAB8+OGHRYY5QvHvXf7cPlu2bKF///40btyY7777DoBFixbx0EMP0bZtWxo2bEjPnj355ptvio1706ZNDBs2jGbNmtG8eXMGDBignuPMmTNp0KBBsa/Xv/71L1q0aEFeXt4VXz+Hw8GWLVuIjY29YruyWrlypXq+rVu3ZuLEiUU+O4mJiTz//PN06tSJhg0b0qFDB8aMGePy+h04cIBHH32U1q1b07hxY7p06cLzzz9/xWOPGjWKe+65p9h1//d//0f//v3V57/++itDhgyhRYsWNGvWjB49evDee+9dx5m7yh/uePbsWR599FGaNm1Khw4dmDVrFoqiuLTNzs5m2rRpxMbG0rBhQ3r06MHnn39epB3Ajz/+yMCBA2nSpAktW7Zk6NChbN26tUi7Xbt2MXDgQBo1asQ999zD0qVLb9i5CSGEEJWNJKWEEELckXr37o3NZmPlypUuy9PS0ti6dSvdunWrkJUzhY0ZMwa73c6nn356xXZJSUkMGjSI7du3M3ToUF588UUiIyN58cUX+eKLLwCoWbMm48aNA5xJgunTpzN9+nRatmwJwP79++nZsyfz588vU2wXL15kx44d9OrVC4BevXqxevVqNYmU78iRIwwaNIjffvuNQYMG8eKLL9K1a1fWr1/vsq+BAweyYsUKevbsyUsvvUTfvn3ZuXMnubm5ZYrncidPnmTChAm0b9+eF198UR2u+O233xIWFsaoUaOYMmUK1apV49VXXy1y3osXL2bUqFGkp6czatQoJkyYQL169diyZQsAffv2xWazFZkLymKxsHr1arp3746bm9sVYzxw4AApKSk3JCm1ePFinnnmGbRaLePHj2fQoEGsWbOGIUOGkJGRobZ76qmnWLNmDf379+fll19m+PDhmM1mLly4AEBycjKPPvoo586d4/HHH+df//oXvXv3Zt++fVc8/n333ce5c+fYv3+/y/K4uDj27t2rfk7+/vtvRo0a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2pWRI0fy888/Y7FYbkZsohiKonA62ZmUivB3x6BzvoVu0VFqG8vJE8VuWzgpJfNKCSGEEEIIIYQQojxddVJqxIgR/Pjjj/zwww/UrFmT//znP3To0IHXXnuNQ4eKr9ARN05CZh7ZFjsAUUGe6nJ9tWpoTCYA8k6eLHZbb29voqKcySt5r4QQQgghhBBCCFGernlOqQYNGvDSSy+xZcsWnnzySX744QcGDhxI3/9n777Do6jeNo5/t6aThIQeQu8dC4IUaRawgmDBhtho9hfsSlFs2FGqiIgiPxEbqIgiooINkColQAgQQhqkZ9u8fyTZEAghgTTC/bmuvXZ25szMM8s+2eThnDPXXMNnn32mibTLyO74dO9yw2OKUiazGXvDhgA4dhdelIL8yc41fE9EREREREREKtJpF6WcTifLli1j5MiRvPTSS7Rt25bJkydz6aWX8vrrr/Poo4+WZpySa29iflGq8TFFKcgfwufYXfjwPcgvSu3bt4+jR4+WQYQiIiIiIiIiIqdmLekOW7Zs4fPPP+ebb77BbDZz7bXX8vjjj9OkSRNvm/79+3P99deXaqCSIzox/857DY8rStkb5hSlnLGxeDIzMfv5nbB/XlEKcv4tu3XrVkaRioiIiIiIiIicXImLUtdffz3dunXjueeeo1+/fthsthPaREREMHDgwFIJUApqVjMQgLAAOx3qhxTYZm/cOGfBMHBER+PbsuUJ+7dr1867vHnzZhWlRERERERERKRClLgotWLFCurVq1dkG39/f6ZMmXLaQcnJDT4vgkY1Aqgb7Ec134IFwQJ34Nu9u9CiVL169QgODubo0aOaV0pEREREREREKkyJ55RKTEzk33//PWH9v//+qyJHOekcGUrtYN8T1udNdG4OCsKdllboviaTydtbSnfgExEREREREZGKUuKi1MSJE4mNjT1hfVxcHBMnTiyVoOT0mP39afbbrzT/8w9Chw49abs2bdoAsG3bNlwuV3mFJyIiIiIiIiKlaMGCBfTp04d27doxZMgQNm7cWGT7Dz74gMsuu4z27dvTq1cvXnjhBbKzs8sp2hOVuCgVFRXlLWocq1WrVuzatatUgpLTZw0Lw2QyFdkmr6dUdnY2O3fuLI+wRERERERERKQULVu2jClTpjB69GiWLFlCy5YtGTFiBImJiYW2//rrr5k6dSpjxoxh2bJlPP/88yxbtozXXnutnCPPV+KilN1uJyEh4YT18fHxWK0lnqJKKsDxd+ATERERERERkbPL3LlzGTp0KIMHD6Zp06ZMmDABX19fFi9eXGj79evX07lzZ6666ioiIiLo3r07V1555Sl7V5WlEleRLr74Yl577TXeffddgoKCAEhJSeH1118/q+7k5na7cbvdFR1GAYZheOM6VW+noniys3Hu24etbj3MAf4nbG/atClWqxWXy8XGjRu57rrrziRskTJRWvkgUhUoH0TyKR9E8ikfRPJVhXzIq1Gkp6fjcDi86+12O3a7vUBbh8PBli1buPfee73rzGYz3bp1Y/369YUev1OnTnz11Vds3LiR9u3bExMTw6pVq7jmmmvK4GqKp8RFqfHjxzNs2DB69+5Nq1atAPjvv/8ICwvj5ZdfLvUAy8rWrVsrOoQyYd6+HZ9JkzEZBlmPjceTO1TvePXr12fPnj2sWbOGDRs2lG+QIiIiIiIiIlKo3r17k5mZ6X09ZswYxo4dW6BNcnIybrebsLCwAuvDwsLYvXt3oce96qqrSE5O5uabb8YwDFwuFzfeeCP33Xdf6V9EMZW4KFWrVi2++uorvv76a/777z98fX0ZPHgwAwcOxGazlUWMZaJ169YnVBormmEYpKWlERgYeNqVXWft2uyZOAmA+mYzoR07Ftru/PPPZ8+ePezbt4+OJ2kjUpFKIx9Eqgrlg0g+5YNIPuWDSL6qkA8Oh4OtW7eycuXKAvWV0qpd/PHHH8yYMYNnn32W9u3bs2/fPp5//nmmTZvG6NGjS+UcJXVak0D5+/tzww03lHYs5cpisWCxWCo6jAIMw/DGdbpJZK5bF5O/P0ZGBq690Se9xnbt2vG///2P+Ph4EhISqFWr1pmELlLqSiMfRKoK5YNIPuWDSD7lg0i+qpAPeX+/BwQEnLIQFRoaisViOWFS88TERMLDwwvd58033+Tqq69myJAhALRo0YKMjAyeeeYZRo4cidlc4mnHz9hpz0y+a9cuDh48iNPpLLC+b9++ZxyUnD6TyYRPo0ZkbdlC9p7Cu+xBwcnON23apKKUiIiIiIiIyFnCbrfTpk0b1qxZQ79+/QDweDysWbOGW265pdB9srKyTig85RXCDMMo24BPosRFqZiYGEaPHs2OHTswmUzewPMqkdu2bSvdCKXE7I0bk7VlC47de07a5vg78OV9iEVERERERESk8hs+fDjjx4+nbdu2tG/fnnnz5pGZmcmgQYMAGDduHLVq1eKRRx4Bcuaqmjt3Lq1bt/YO33vzzTfp3bt3hY0kK3FR6vnnnyciIoIPPviAvn378tlnn5GcnMxLL73E+PHjyyJGKSF7o4YAuOLicKelYwkMOKFNeHg4derUITY2lk2bNpVzhCIiIiIiIiJyJgYMGEBSUhJvvfUW8fHxtGrVitmzZ3uH78XGxhboGTVy5EhMJhNvvPEGcXFxVK9end69e/PQQw8V+5yxsbGYTCZq164NwMaNG/n6669p2rTpaU3zVOKi1Pr165k3bx7Vq1fHbDZjMpk4//zzefjhh5k8eTJffPFFiYOQ0uXTuLF32bF3L35t2xTarm3btsTGxrJ58+byCk1ERERERERESsktt9xy0uF68+fPL/DaarUyZswYxowZc9rne+SRRxg6dCjXXnst8fHxDB8+nGbNmvH1118THx9f4mOXeBYrj8dDQEBOz5vQ0FAOHz4MQL169diz5+TDxaT82BsdU5Qq4t8kbwjfrl27CtxuUkRERERERETkeDt37qR9+/YAfPvttzRr1oyFCxfy6quvsmTJkhIfr8RFqWbNmrF9+3YAOnTowOzZs/nnn3+YNm0a9evXL3EAUvrsDSIhd44vV9yhk7Zr0yanB5XH49FcYCIiIiIiIiJSJJfL5b0z4O+//06fPn0AaNy4MfHx8SU+XomLUiNHjsTj8QBw//33s3//foYNG8aqVat48sknSxyAlD6zry+NvvyCFuv+Ieyuu07arl27dt5lDeETERERERERkaI0bdqUhQsX8vfff/P777/Ts2dPAA4fPkxISEiJj1fiOaV69OjhXW7QoAHfffcdR44cITg42HsHPql4vs2bn7JN48aN8fPzIzMzU5Odi4iIiIiIiEiRHn30UcaMGcOcOXO49tpradmyJQA//fSTd1hfSZSoKOV0OunQoQNffPEFzY8pepxONUwqnsVioU2bNvz9999s2LChosMRERERERERkUqsS5curF27lrS0NIKDg73rhw4dip+fX4mPV6LhezabjTp16niH70nl5z5yBI/DcdLtnTt3BnKG7zmKaCciIiIiIiIi57asrCwcDoe3IHXgwAE++OAD9uzZQ1hYWImPV+I5pe677z5ee+01jhw5UuKTSfnJ3LiRHRd1ZcdFXcn855+TtuvUqRMA2dnZmuxcRERERERERE5q1KhRfPHFFwCkpKQwdOhQ5s6dy+jRo/n4449LfLwSzym1YMECoqOj6dGjB3Xr1sXf37/A9tO5BaCUPmtYGO7cwqEjOpqArl0LbZdXlAJYv349HTp0KI/wREREREREROQss2XLFh5//HEAvv/+e8LCwvjiiy/4/vvveeutt7j55ptLdLwSF6X69etX0l2kAljr1MFkt2M4HDj27D1pu6ZNmxIUFERqairr1q3jjjvuKLcYRUREREREROTskZWVRUBAAAC//vorl156KWazmY4dO3Lw4MESH6/ERakxY8aU+CRS/kxmM/YGkWTv3IUjOvqk7fI+PKtXr2b9+vXlGKGIiIiIiIiInE0iIyNZsWIF/fv359dff/V2bElMTCQwMLDExyvxnFJy9rA1aACAY+/eItvlDeH777//yMjIKOuwREREREREROQsNHr0aF5++WX69OlD+/btvfWE3377jVatWpX4eCXuKdWyZUtMJtNJt2uy7MrDp2FD0gDH/v0YLhcma+H/3Hl34HO73WzcuJGLLrqoHKMUERERERERkbPB5ZdfznnnnUd8fDwtW7b0ru/atetpTfdU4qLUO++8U+C1y+Vi27ZtLFmyhLFjx5Y4ACk7eT2lcLlwHjiAPe/1cfKKUpAz2bmKUiIiIiIiIiJSmBo1alCjRg0OHToEQO3atWnfvv1pHatUJjq//PLLadq0KcuWLWPIkCGnFYiUPp+GDb3Ljujokxal6tWrR40aNYiPj9e8UiIiIiIiIiJSKI/Hw7vvvsvcuXO90/8EBAQwfPhwRo4cidlcslmiSm1OqY4dO7J27drSOpyUAtsxRaii5pUymUzecaAqSomIiIiIiIhIYV5//XUWLFjAI488wpIlS1iyZAkPPfQQH330EW+++WaJj1finlKFycrK4sMPP6RmzZqlcTgpJdYaNag/ayb2hg2x1alTZNtOnTqxfPlyoqKiOHLkCCEhIeUTpIiIiIiIiIicFZYsWcLkyZPp27evd13Lli2pVasWEyZM4KGHHirR8UpclLrgggsKTHRuGAbp6en4+vryyiuvlPRwUoZMJhOBPXoUq+3x80r17t27rMISERERERERkbPQ0aNHady48QnrGzduzNGjR0t8vBIXpR5//PECRSmTyUT16tXp0KEDwcHBJQ5AKoe84XugopSIiIiIiIiInKhly5YsWLCAp556qsD6BQsW0KJFixIfr8RFqUGDBpX4JFLxDI8HANNJJh0LDw+nfv36xMTEaF4pERERERERETnB//3f/3Hvvffy+++/07FjRwA2bNhAbGwss2bNKvHxSjzR+eLFi/n2229PWP/tt9+yZMmSEgcgZSv9jz/ZfdXVbO/UGUdUVJFt83pLrVu3rjxCExEREREREZGzyIUXXsh3331H//79SU1NJTU1lf79+7N06VK+/PLLEh+vxEWpmTNnEhoaesL6sLAwpk+fXuIApGyZfexk79yJkZ2NIzq6yLZ580rFxsZy6NCh8ghPRERERERERM4itWrV4qGHHuLtt9/m7bff5qGHHiIlJYXPPvusxMcqcVHq4MGDREREnLC+bt26xMbGljgAKVv2hg29y469e4tse/xk5yIiIiIiIiIiZaXERamwsDC2b99+wvr//vuPkJCQ0ohJSpElJARL7gT0p+op1aFDB+8k9hrCJyIiIiIiIiJlqcRFqYEDB/L888+zdu1a3G43brebNWvW8MILLzBw4MCyiFHOUF5vKcfeootSQUFBNGvWDFBPKREREREREREpWyW++94DDzzAgQMHuOOOO7Bac3b3eDxcc801PPTQQ6UeoJw5e8MGZP777ymH70HOEL4dO3awfv16DMPw9pwSERERERERkXPTmDFjityekpJyWsctcVHKbrfzxhtvsHfvXrZt24avry/NmzenXr16pxWAlL28nlKu+Hg86emYAwJO2rZTp04sXLiQ5ORkoqOjaXjMnFQiIiIiIiIicu4JCgo65fbTqQuVuCiVp2HDhipYnCUKTHYeHY1v69YnbdupUyfv8rp16/RvLCIiIiIiInKOmzJlSpkct8RzSo0dO5aZM2eesH7WrFncf//9pRKUlC57gwbe5VNNdt62bVvvsExNdi4iIiIiIiIiZaXERam//vqLXr16nbC+Z8+e/P3336USlJQue6NG1Hn+eRos+IiAHj2KbOvr60ubNm0ATXYuIiIiIiIiImWnxEWpjIwMbDbbCeutVitpaWmlEpSULrOfHyGDB+F/3nlYAgNP2T5vCN/GjRtxu91lHZ6IiIiIiIiInINKXJRq3rw5y5YtO2H9smXLaNq0aakEJRUrryiVnp7O9u3bKzgaEREREREREamKSjzR+ahRoxg7diwxMTFcdNFFAKxZs4ZvvvmGt956q9QDlPLXuXNn7/L69etpXcTE6CIiIiIiIiIip6PEPaX69OnDtGnTiI6OZsKECbz44ovExcUxb948IiMjyyJGKQXpv//OvjtHsKtPX9xHjhTZtkWLFvj7+wOaV0pEREREREREykaJe0oBXHLJJVxyySUApKWl8c033/DSSy+xZcsWtm3bVprxSSnxZGSQ/vvvQM4d+PxCQk7a1mq10r59e9auXauilIiIiIiIiIiUiRL3lMrz119/MX78eHr06MHcuXO56KKL+PTTT0szNilF9oYNvcuOvXtP2T5vXqnNmzeTnZ1dRlGJiIiIiIiIyLmqRD2l4uPjWbJkCZ999hlpaWlcccUVOBwOpk2bpknOKzlb/fpgMoFh4IiOPmX7vHmlnE4nW7ZsKTDPlIiIiIiIiIjImSp2T6n77ruPyy+/nO3bt/PEE0+wevVqnn766bKMTUqR2ccHW926QMl6SoHmlRIRERERERGR0lfsotQvv/zC9ddfz9ixY7nkkkuwWCxlGZeUAXuDBgA49p66p1SjRo0IyZ13at26dWUZloiIiIiIiIicg4pdlPr4449JT09n0KBBDBkyhI8++oikpKSyjE1KWd68Uo69ezEMo8i2JpOJjh07AipKiYiIiIiIiEjpK3ZRqmPHjkyePJlff/2VG264gaVLl9KzZ088Hg+//fYbaWlpZRmnlAJ7w5yeUp6MDFzx8adsnzeP1I4dO0hNTS3T2ERERERERETk3FLiu+/5+/tz/fXX88knn/DVV18xfPhwZs2aRbdu3bjvvvvKIkYpJcfegc9ZjMnO8+aVMgyDjRs3llVYIiIiIiIiInIOKnFR6liNGzdm3LhxrFq1itdee620YpIy4tOyJTUefJB6b7yOvRh3Szx2snMN4RMRERERERGR0mQtjYNYLBb69etHv379SuNwUkZsNWsSft+9xW5ft25d6tSpQ2xsrO7AJyIiIiIiIiKl6ox6SknVl9dbSkUpERERERERESlNKkpJkfKKUtHR0SQmJlZwNCIiIiIiIiJSVVSKotSCBQvo06cP7dq1Y8iQIcWeVHvp0qW0aNGCUaNGlXGEVUf6779zcPxj7L3lFgyP55Ttj51XSr2lRERERERERKS0VHhRatmyZUyZMoXRo0ezZMkSWrZsyYgRI07ZK2f//v289NJLnH/++eUUadXg2LePo19+Sebf/+CKjT1lexWlRERERERERKQsVHhRau7cuQwdOpTBgwfTtGlTJkyYgK+vL4sXLz7pPm63m0cffZSxY8dSv379coz27Gdv0MC7nL137ynbh4aG0qhRI0BFKREREREREREpPRValHI4HGzZsoVu3bp515nNZrp161ZkAWTatGmEhYUxZMiQ8gizSrE3bOhddkRHF2ufvN5S69atwzCMsghLRERERERERM4x1oo8eXJyMm63m7CwsALrw8LC2L17d6H7/P3333z22Wd88cUXxTqHw+HA4XB4XzudTgAMw6h0BZa8mMoyLkvNmph8fDCys3Hs2Vusc3Xq1InPP/+cw4cPc+DAAerVq1dm8YnkKY98EDlbKB9E8ikfRPIpH0TyVYV8OJtjP10VWpQqqbS0NMaNG8ekSZOoXr16sfaZMWMG77zzjvd1aGgo06ZNIz09vUCxqjIwDIPMzEwATCZTmZ3HWr8+zl27yNy9m7S0tFO2b9mypXf5119/ZeDAgWUWm0ie8soHkbOB8kEkn/JBJJ/yQSRfVciHvE4055IKLUqFhoZisVhOmNQ8MTGR8PDwE9rHxMRw4MABRo4c6V3nyb2DXOvWrfnuu++IjIwssM+9997L8OHDva+dTie7d+8mICAAu91empdzxvKqooGBgWWaREcaNcK5axfumBgCAwNP2b5Lly74+vqSlZXF1KlTufLKKwkICCiz+ESg/PJB5GygfBDJp3wQyad8EMlXFfKhsnWcKQ8VWpSy2+20adOGNWvW0K9fPyCnyLRmzRpuueWWE9o3btyYr7/+usC6N954g/T0dJ588klq165d6DmOLT7l/SObTKZK+UHNi6ssY/Np2JA0wHngALhcmGy2ItsHBgYybtw4Jk6cSFRUFM8++yxTp04ts/hE8pRHPoicLZQPIvmUDyL5lA8i+c72fDhb4z4TFX73veHDh7No0SKWLFlCVFQUzz33HJmZmQwaNAiAcePGeQsgPj4+NG/evMCjWrVqBAQE0Lx580rX86mysjfMvQOf241j//5i7TN27Fi6du0K5Nwxcfny5WUVnoiIiIiIiIicAyp8TqkBAwaQlJTEW2+9RXx8PK1atWL27Nne4XuxsbGYzRVeO6tSfNu2I3TYMOwNGmCpVq1Y+1gsFt577z26d+9OWloaY8eO5ddff6VGjRplHK2IiIiIiIiIVEUm4xyb3t3hcLBp0ybatWtX6XpWGYZBWlpapR4D++mnn3rn9Lr88stZsGBBpY1Vzm5nQz6IlBflg0g+5YNIPuWDSL6qkA+VuV5RVtQFSUpk6NChXHvttQB89913fPjhhxUbkIiIiIiIiIiclVSUkhIxmUxMnTqVOnXqAPDkk08SFRVVwVGJiIiIiIiIyNlGRalzVPoff3J46lRin366xPuGhoby7rvvApCRkcG9996L0+ks7RBFREREREREpApTUeoclfHnnyTOms2R/32GJyurxPv36tXLO7fUunXrvHdIFBEREREREREpDhWlzlH2hg28y459+07rGE8//TStWrUCYOrUqfz555+lEpuIiIiIiIiIVH0qSp2j7A0bepcde/ee1jF8fX2ZOXMmdrsdt9vNyJEjSUtLK50ARURERERERKRKU1HqHGVvcExPqejo0z5OmzZteOqppwDYs2cPTz755BnHJiIiIiIiIiJVn4pS5yhLtWpYQkOB0+8plWfUqFH06NEDgPnz57N06dIzDU9ERERERERETmHBggX06dOHdu3aMWTIEDZu3Fhk+5SUFCZMmED37t1p27Ytl112GatWrSqnaE+kotQ5LG8I35n0lAIwm81MmzaN4OBgAEaPHs3EiROJioo60xBFREREREREpBDLli1jypQpjB49miVLltCyZUtGjBhBYmJioe0dDgfDhw/nwIEDvPnmm3z33XdMmjSJWrVqlXPk+VSUOoflDeFz7D2zohRARESE9w58KSkpvPHGG1xwwQUMHDiQjz/+WHNNiYiIiIiIiJSiuXPnMnToUAYPHkzTpk2ZMGECvr6+LF68uND2ixcv5ujRo0ybNo3zzjuPiIgILrzwQlq2bFnOkedTUeocltdTyp2QgLsUikaDBg1i7ty5XHjhhd51a9asYcyYMbRu3Zr777+fP/74A8MwzvhcIiIiIiIiIucqh8PBli1b6Natm3ed2WymW7durF+/vtB9fvrpJzp27MjEiRPp1q0bV155JdOnT8ftdpdX2CewVtiZK5jb7a7QN74whmF44zKZTGV+PnvbNgT274+tQSTubAf4nfn7ceWVV3LllVeyc+dOPvnkExYuXEh8fDxpaWl89NFHfPTRRzRr1oybb76ZYcOGEZo7r5XI8co7H0QqM+WDSD7lg0g+5YNI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ZMXjY5/r1KnDFVdccdqfVSl/KkqJiIiIiIicobweTWebvLgtFkuZDRcym834+PjgU8i8ZFI4Pz+/s6p3ZWWQV6TV5+zsUrxZyUREREREREREREqRilIiIiIiIiIiIlLuVJQSEREREREREZFyp6KUiIiIiIiIiIiUOxWlRERERERERESk3KkoJSIiIiIiIiIi5U5FKRERERERERERKXcqSomIiIiIiIiISLlTUUpERERERERERMqdilIiIiIiIiIiIlLuVJQSEREREREREZFyVymKUgsWLKBPnz60a9eOIUOGsHHjxiLbf/vtt1x++eW0a9eOq666ilWrVpVTpCIiIiIiIiIiUhoqvCi1bNkypkyZwujRo1myZAktW7ZkxIgRJCYmFtp+3bp1PPLII1x//fV88cUX9O3bl9GjR7Njx45yjlxERERERERERE5XhRel5s6dy9ChQxk8eDBNmzZlwoQJ+Pr6snjx4kLbf/jhh/To0YO77rqLJk2a8OCDD9K6dWs++uijco5cREREREREREROV4UWpRwOB1u2bKFbt27edWazmW7durF+/fpC99mwYQNdu3YtsK579+5s2LChLEMVEREREREREZFSZK3IkycnJ+N2uwkLCyuwPiwsjN27dxe6T0JCAuHh4Se0T0hIKLS9w+HA4XB4X2dnZ3ufDcM4k/BLnWEYOBwOsrOzMZlMFR2OSIVSPojkUz6I5FM+iORTPojkqwr5kFe78Hg8FRxJ+anQolR5mDFjBu+88473dcOGDXnhhRc0B5WIiIiIiIiIVDoul6uiQyg3FVqUCg0NxWKxnDCpeWJi4gm9ofKEh4ef0CuqqPb33nsvw4cP9752uVwYhoGfnx9mc4VPqSUiIiIiIiIigsfjweVy4evrW9GhlJsKLUrZ7XbatGnDmjVr6NevH5Dzj7BmzRpuueWWQvfp2LEja9eu5Y477vCu+/333+nYseNJz2G320s7dBEREREREREROQMV3lVo+PDhLFq0iCVLlhAVFcVzzz1HZmYmgwYNAmDcuHFMnTrV2/62225j9erVvP/++0RFRfH222+zefPmkxaxRERERERERESk8qnwOaUGDBhAUlISb731FvHx8bRq1YrZs2d7h+PFxsYWGGbXuXNnXn31Vd544w1ee+01GjZsyLRp02jevHlFXYKIiIiIiIiIiJSQyahst6ATEREREREREZEqr8KH74mIiIiIiIiIyLlHRSkRERERERERESl3KkqJiIiIiIiIiEi5U1FKRERERERERETKnYpSlcSCBQvo06cP7dq1Y8iQIWzcuLGiQxIpczNmzGDw4MF06tSJrl27MmrUKHbv3l2gTXZ2NhMmTKBLly506tSJsWPHkpCQUEERi5SfmTNn0qJFC55//nnvOuWDnEvi4uJ49NFH6dKlC+3bt+eqq65i06ZN3u2GYfDmm2/SvXt32rdvzx133MHevXsrLmCRMuJ2u3njjTfo06cP7du3p1+/fkybNo1j71elfJCq7K+//uK+++6je/futGjRghUrVhTYXpzP/5EjR3jkkUfo3Lkz559/Pk888QTp6enleBVyMipKVQLLli1jypQpjB49miVLltCyZUtGjBhBYmJiRYcmUqb+/PNPhg0bxqJFi5g7dy4ul4sRI0aQkZHhbfPCCy+wcuVK3njjDebPn8/hw4cZM2ZMBUYtUvY2btzIwoULadGiRYH1ygc5Vxw9epSbbroJm83GrFmzWLp0KePHjyc4ONjbZtasWcyfP5/nnnuORYsW4efnx4gRI8jOzq7AyEVK36xZs/jkk0945plnWLZsGY8++iizZ89m/vz5BdooH6SqysjIoEWLFjz77LOFbi/O5//RRx9l165dzJ07l+nTp/P333/zzDPPlNclSFEMqXDXX3+9MWHCBO9rt9ttdO/e3ZgxY0YFRiVS/hITE43mzZsbf/75p2EYhpGSkmK0adPG+Pbbb71tdu3aZTRv3txYv359BUUpUrbS0tKMSy+91Pjtt9+MW265xZg8ebJhGMoHObe88sorxk033XTS7R6Px7j44ouN2bNne9elpKQYbdu2Nb755pvyCFGk3Nxzzz3G448/XmDdmDFjjEceecQwDOWDnFuaN29u/PDDD97Xxfn85/2+tHHjRm+bVatWGS1atDAOHTpUfsFLodRTqoI5HA62bNlCt27dvOvMZjPdunVj/fr1FRiZSPlLTU0F8P5P+ObNm3E6nQXyo0mTJtStW5cNGzZURIgiZW7ixIn06tWrwOcelA9ybvnpp59o27Yt999/P127duXaa69l0aJF3u379+8nPj6+QD4EBQXRoUMH/f4kVU6nTp1Yu3Yte/bsAeC///7jn3/+oWfPnoDyQc5txfn8r1+/nmrVqtGuXTtvm27dumE2mzVtTiVgregAznXJycm43W7CwsIKrA8LCzthbh2Rqszj8fDCCy/QuXNnmjdvDkBCQgI2m41q1aoVaBsWFkZ8fHxFhClSppYuXcrWrVv57LPPTtimfJBzSUxMDJ988gnDhw/nvvvuY9OmTUyePBmbzcZ1113n/cwX9vuT5lmTquaee+4hLS2NK664AovFgtvt5qGHHuLqq68GUD7IOa04n/+EhASqV69eYLvVaiU4OFi/Q1UCKkqJSKUwYcIEdu7cyccff1zRoYhUiNjYWJ5//nnef/99fHx8KjockQplGAZt27bl4YcfBqB169bs3LmThQsXct1111VwdCLl69tvv+Xrr79m6tSpNG3alG3btjFlyhRq1qypfBCRs56G71Ww0NBQLBbLCZOaJyYmEh4eXkFRiZSviRMn8vPPPzNv3jxq167tXR8eHo7T6SQlJaVA+8TERGrUqFHeYYqUqS1btpCYmMigQYNo3bo1rVu35s8//2T+/Pm0bt1a+SDnlBo1atCkSZMC6xo3bszBgwe92wH9/iTnhJdffpl77rmHgQMH0qJFC6699lpuv/12ZsyYASgf5NxWnM9/eHg4SUlJBba7XC6OHj2q36EqARWlKpjdbqdNmzasWbPGu87j8bBmzRo6depUgZGJlD3DMJg4cSI//PAD8+bNo379+gW2t23bFpvNViA/du/ezcGDB+nYsWM5RytSti666CK+/vprvvjiC++jbdu2XHXVVd5l5YOcKzp37uydPyfP3r17qVevHgARERHUqFGjQD6kpaXx77//6vcnqXKysrIwmUwF1lksFgzDAJQPcm4rzue/U6dOpKSksHnzZm+btWvX4vF4aN++fbnHLAVp+F4lMHz4cMaPH0/btm1p37498+bNIzMzk0GDBlV0aCJlasKECXzzzTe8++67BAQEeMd0BwUF4evrS1BQEIMHD+bFF18kODiYwMBAJk+eTKdOnfRHuFQ5gYGB3vnU8vj7+xMSEuJdr3yQc8Xtt9/OTTfdxPTp07niiivYuHEjixYtYuLEiQCYTCZuu+023nvvPRo0aEBERARvvvkmNWvWpF+/fhUcvUjp6t27N9OnT6du3bre4Xtz585l8ODBgPJBqr709HT27dvnfb1//362bdtGcHAwdevWPeVyYsQAAAVqSURBVOXnv0mTJvTo0YOnn36aCRMm4HQ6mTRpEgMHDqRWrVoVdVmSy2TkldilQn300UfMmTOH+Ph4WrVqxVNPPUWHDh0qOiyRMtWiRYtC10+ZMsVblM3OzubFF19k6dKlOBwOunfvzrPPPquutnJOuPXWW2nZsiVPPvkkoHyQc8vKlSt57bXX2Lt3LxEREQwfPpyhQ4d6txuGwVtvvcWiRYtISUnhvPPO49lnn6VRo0YVGLVI6UtLS+PNN99kxYoVJCYmUrNmTQYOHMjo0aOx2+2A8kGqtj/++IPbbrvthPXXXXcdL774YrE+/0eOHGHSpEn89NNPmM1mLr30Up566ikCAgLK81KkECpKiYiIiIiIiIhIudOcUiIiIiIiIiIiUu5UlBIRERERERERkXKnopSIiIiIiIiIiJQ7FaVERERERERERKTcqSglIiIiIiIiIiLlTkUpEREREREREREpdypKiYiIiIiIiIhIuVNRSkREREREREREyp2KUiIiIiLlrEWLFqxYsaKiwxARERGpUNaKDkBERESkPD322GMsWbLkhPXdu3dnzpw5FRCRiIiIyLlJRSkRERE55/To0YMpU6YUWGe32ysoGhEREZFzk4bviYiIyDnHbrdTo0aNAo/g4GAgZ2jdxx9/zF133UX79u3p27cv3333XYH9t2/fzm233Ub79u3p0qULTz/9NOnp6QXafPbZZwwcOJC2bdvSvXt3Jk6cWGB7cnIyo0ePpkOHDlx66aX8+OOPZXvRIiIiIpWMilIiIiIix3nzzTe57LLL+PLLL7nqqqt4+OGHiYqKAiAjI4MRI0YQHBzMZ599xhtvvMHvv//OpEmTvPt//PHHTJw4kaFDh/L111/z7rvvEhkZWeAc77zzDldccQVfffUVPXv25NFHH+XIkSPleZkiIiIiFUpFKRERETnn/Pzzz3Tq1KnAY/r06d7tl19+OUOGDKFRo0Y8+OCDtG3blvnz5wPwzTff4HA4eOmll2jevDldu3blmf9v545dsV3jOIB/H4XIYGAy6Il6NmGRMkoGelNGhT/AYjK9kSzKomQSmS0W2Q1MQkmUmJFRMXAGHZ3nDKfTqff2Oj6fuuu+ruvu6nfd47f7d//8md3d3Tw8PCRJ1tfXMz09ncnJyZTL5XR1dWVqaqqqhrGxsYyMjKS9vT2zs7N5enrK2dlZYe8AAOCz+acUAPDt9PX1ZX5+vmruz/a9JOnp6ala6+7uzsXFRZLk+vo6lUoljY2NH+u9vb15fX3Nzc1NSqVS7u7u0t/f/481VCqVj/vGxsY0NTXl8fHxvx4JAODLEUoBAN9OQ0ND2tvbf8ne9fX1/+q52traqnGpVMrr6+uvKAkA4LekfQ8A4G9OTk6qxqenp+no6EiSdHR05PLyMk9PTx/rx8fHqampSblcTlNTU9ra2nJ4eFhkyQAAX45QCgD4dl5eXnJ/f191/bV1bn9/Pzs7O7m5ucnq6mrOzs4yMTGRJBkdHU1dXV3m5uZydXWVo6OjLC4u5sePH2lpaUmSzMzMZHNzM9vb27m9vc35+fnHP6kAAHinfQ8A+HYODg4yMDBQNVcul7O/v5/kPVTa29vLwsJCWltbs7Kyks7OziTvrX8bGxtZWlrK+Ph4GhoaMjQ0lLm5uY+9xsbG8vz8nK2trSwvL6e5uTnDw8PFHRAA4Asovb29vX12EQAAv4tKpZK1tbUMDg5+dikAAP9r2vcAAAAAKJxQCgAAAIDCad8DAAAAoHC+lAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcEIpAAAAAAonlAIAAACgcH8AS38V4TTxQXYAAAAASUVORK5CYII=\n"
- },
- "metadata": {}
- }
- ],
- "source": [
- "for model_name, artifact in model_artifacts.items():\n",
- " hist = artifact[\"history\"]\n",
- " epochs = np.arange(1, len(hist[\"loss\"]) + 1)\n",
- "\n",
- " fig, ax1 = plt.subplots(figsize=(12, 5))\n",
- " ax1.plot(epochs, hist[\"accuracy\"], color=\"#1f77b4\", linewidth=2, label=\"Train Accuracy\")\n",
- " ax1.plot(epochs, hist[\"val_accuracy\"], color=\"#2ca02c\", linewidth=2, linestyle=\"--\", label=\"Val Accuracy\")\n",
- " ax1.set_xlabel(\"Epoch\")\n",
- " ax1.set_ylabel(\"Accuracy\")\n",
- " ax1.set_ylim(0, 1.0)\n",
- " ax1.grid(True, alpha=0.25)\n",
- "\n",
- " ax2 = ax1.twinx()\n",
- " ax2.plot(epochs, hist[\"loss\"], color=\"#111111\", linewidth=1.8, label=\"Train Loss\")\n",
- " ax2.plot(epochs, hist[\"val_loss\"], color=\"#d62728\", linewidth=1.8, linestyle=\"--\", label=\"Val Loss\")\n",
- " ax2.set_ylabel(\"Loss\")\n",
- "\n",
- " lines = ax1.get_lines() + ax2.get_lines()\n",
- " labels = [ln.get_label() for ln in lines]\n",
- " ax1.legend(lines, labels, loc=\"upper right\", frameon=True)\n",
- " plt.title(f\"{model_name}: Accuracy / Loss vs Epoch\")\n",
- " plt.tight_layout()\n",
- "\n",
- " curve_path = PLOT_DIR / f\"{model_name}_training_curves.png\"\n",
- " plt.savefig(curve_path, dpi=200, bbox_inches=\"tight\")\n",
- " plt.show()"
- ],
- "id": "ipqk_AKsHlSJ"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "nsxoyzYUHlSK"
- },
- "source": [
- "## 7.3 \u2014 Cross-model comparison bar charts"
- ],
- "id": "nsxoyzYUHlSK"
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 940
- },
- "id": "X8rcEy1LHlSK",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779849696779,
- "user_tz": -330,
- "elapsed": 731,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- },
- "outputId": "3c28d9a8-8b39-4fc3-e696-92b32a2d4cfc"
- },
- "outputs": [
- {
- "output_type": "display_data",
- "data": {
- "text/plain": [
- ""
- ],
- "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAObCAYAAAC8Rsg6AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA6pNJREFUeJzs3Xd8zef///Fnpq2V2PuDJpQg9ggh9gpi1CyqS60abemwVT9tUUGLqk3xEUGIUVWjpXaF1qgdqaq9gqzz+8Mv5+v05E1OJDmOPO63W24353qv1/vExZVnrnO9nUwmk0kAAAAAAAAAAMCKs70LAAAAAAAAAADgWUWIDgAAAAAAAACAAUJ0AAAAAAAAAAAMEKIDAAAAAAAAAGCAEB0AAAAAAAAAAAOE6AAAAAAAAAAAGCBEBwAAAAAAAADAACE6AAAAAAAAAAAGCNEBAAAAAAAAADBAiA4AAJBOunfvLm9v73S/7rBhw+Tt7a0LFy6k+7WfZY78vuzevVve3t6aOnXqU50nICBAAQEBqVQV/i21vk8AAACwL1d7FwAAAOCooqOjtWDBAm3cuFFnz55VbGysPDw8VLhwYVWuXFkdOnRQ0aJF7V1muvD29tZ//vMfbdiwIcntFy5cUIMGDeTn56fvvvsunatLHYm/AHFzc9OOHTuUK1cuq31u3rypOnXq6MGDB5Kk48ePp2uN6eXIkSNasmSJ9u3bp3/++UcJCQnKmzevfH191aZNG9WuXdveJQIAAACphhAdAAAgBe7cuaMuXbro+PHjKlasmFq1aqVcuXLp+vXrioiI0KxZs1S0aFGLEP2///2v7t27Z8eq8bRcXV0VGxursLAwvfrqq1bbw8LC9ODBA7m6uiouLs4OFaathIQE/fe//9W8efPk6uqqGjVqKCAgQK6uroqMjNS2bdu0Zs0aDRgwQH379rV3uXZXvnx5hYeHJ/kLFwAAADgOQnQAAIAUmD9/vo4fP64OHTpo7NixcnJystgeGRmpmJgYi7aCBQumZ4lIA0WKFJHJZNLKlSuTDNFDQkL0n//8R5J05syZ9C4vzX311VeaN2+eypQpo+DgYKtPWty/f1+LFi3SjRs37FPgMyZLliwqWbKkvcsAAADAU2JNdAAAgBT47bffJEldu3a1CtClh2Hrv8OzpNZEX7lypby9vbVy5Ur9/PPP6tSpkypUqKDq1avrgw8+0PXr15O8/tKlS9WiRQv5+PjI399fn3/+uR48eCBvb29179492fexd+9evf3226pevbrKlSunxo0ba/Lkyek6Yz4mJkZz585V27ZtVbFiRfn6+qpLly768ccfrfY9c+aMPv/8c7Vt21bVq1eXj4+PmjRpoi+//FJ3795N8vx//vmn3nrrLfn6+qpy5cp64403dOLEiRTX265dOx09elS///67RfuxY8f0xx9/KCgoyPDYuLg4zZ07V4GBgSpfvrwqV66s7t27a8uWLUnuf//+fX355Zfy9/eXj4+PWrZsqeXLlz+2vsjISH300UeqV6+eypUrJz8/Pw0bNkxRUVG23+wjzp07p9mzZ+vFF1/U7Nmzk1yqKHPmzHr99dc1YMAAi/Zr165p/PjxCggIULly5VSzZk0NHDgwye9D4lr1kZGR+u6779SkSROVL19ezZs317p16yQ9/DszefJkBQQEyMfHR61atdK2bduszpXY5x48eKAvv/xS9erVk4+Pj5o1a6aFCxfKZDJZ7H/79m3NmjVL3bp1k5+fn/n9e//993X+/Hmr80+dOlXe3t7avXu3Vq5cqbZt26pChQrmPmi0JvrZs2c1fPhw8/tRrVo1BQYGavz48VY1RUVF6cMPP1SdOnVUrlw51a1bVx9++KH++usvw/uNjY3V1KlTzedv0qSJFi9ebLU/AAAAkoeZ6AAAACnw4osvSnoY6pYpU+apz7dlyxZt3bpVAQEB8vX11d69e7Vq1SqdP39e33//vcW+U6ZM0ddff63cuXOrY8eOcnV11YYNG3T69GmbrrlkyRKNGTNGOXPmVP369eXh4aEjR45oxowZ2r17txYsWCB3d/envrfHiYmJUe/evbVnzx6VKVNG7du3V2xsrLZt26Z33nlHn3zyibp162be/4cfflBISIiqV6+uatWqKSEhQYcOHdK3336rvXv3atGiRXJzczPvf+LECXXu3FnR0dFq1KiRihcvroiICHXu3FmlS5dOUc1t2rTRV199pZUrV6ps2bLm9hUrVsjFxUVt2rTRypUrrY4zmUwaMGCAfvzxRxUvXlxdu3ZVdHS01q9frz59+mj48OHq2bOnef+EhAT16dNHO3fulJeXl1q2bKkbN25owoQJql69epK1HTp0SL1799a9e/dUr149FStWTFFRUQoLC9P27du1bNkyFSlSJEX3vXLlSsXHx6tTp07KnTv3Y/d99O/NtWvX9Morr+j8+fOqVq2aWrRooQsXLmjjxo3atm2bZs+erSpVqlidY8KECYqIiFD9+vXl7Oys8PBwDRkyRDlz5tSiRYt08uRJ+fv768GDB1q7dq369u2r8PDwJMP9gQMH6ujRo2rcuLEkadOmTRo3bpyioqI0bNgw836nTp1ScHCwqlevrkaNGilLliw6ffq01q5dq23btmnlypUqVKiQ1fm/++477d69Ww0aNFDt2rXl4uJi+N5cunRJHTp00L179+Tv76/mzZvr3r17Onv2rL7//nt98MEHcnV9+GPamTNn1KVLF127dk3169fXSy+9pD///FMhISH66aeftGTJEvMnHx41ZMgQRUREqG7dunJ2dtb69es1ZswYubm5qWPHjo/5zgEAACAphOgAAAAp0LRpU61Zs0Yff/yxDh8+rNq1a6ts2bIpXvv4p59+0oIFC1S5cmVJUnx8vHr27Kk9e/bot99+U8WKFSU9DNVmzpypfPnyKTQ0VJ6enpKk/v3765VXXkn29U6ePKnx48fL29tb8+bNs6h71qxZmjhxohYtWqTXXnst2ee8fv261YzbRLdu3Uqyffr06dqzZ4/eeecdDRgwwDyr/86dO+rRo4c+++wzNWrUSPny5ZMktW7dWj179rQK96dNm6apU6dq/fr1CgwMNLePHTtWd+7c0RdffGHRPmnSJM2cOTPZ9/aovHnzqm7dulq7dq0++OADubu7KyYmRmFhYapbt67y5s2b5HGrV6/Wjz/+qGrVqum7774z38Nbb72loKAgffHFF2rQoIE55F61apV27typOnXqaObMmeZg9tVXX1W7du2szh8bG6tBgwYpISFB//vf//Tyyy+bt+3bt0+vvvqqxo8frxkzZqTovg8cOCBJqlGjhk3HffHFFzp//rzeeustDR482Ny+bds2vfnmm/rwww+1YcMGOTtbfkj21KlTWrNmjTw8PCQ9/ARAhw4dNHjwYL300ksKCwtT1qxZJUl+fn4aNGiQFixYoI8//tiqhrNnz2rt2rXKkSOHJGnAgAHq0KGD5s2bZ/5EhySVLFlSP//8s/mXZIl+/fVX9erVS998843GjRtndf69e/dq+fLlVp80ScqmTZt069Ytffjhh+rRo4fFths3bpgDdEkaOXKkrl27pjFjxlj078WL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7fW///1PkrRs2TJJUnBwsFxcXFShQgU1btxYK1asMM8MT4lOnTpZtT26juODBw907do1VahQQZL0+++/S3rYvzdv3qz69evLx8fH6hyJNTVr1kyZMmVSWFiYedvPP/+s69evKzAwMMV1A496dIbm2rVrtW/fPs2YMcNqv8QZmmXLltXOnTs1f/58LV682Pz3M3GGZmBgoPbu3atJkyZp7NixVp/oSEhI0CeffCJfX990uT8AGRtjdsBYs2bN9ODBA/3000+6c+eOtm7dariUi2Q5zr1586Zu376typUr67fffjOPJV599VWZTCblzp1bzs6W8U1CQoJ5LFGgQAHlz59fO3futBhLhIeHq1ChQjpw4IB5LHH06FG98sorioqK0quvvqodO3bowIEDmjZtmqZMmWI11qhQoYLmzp1r8dWmTZvUe+MAO0ivpckk6ZNPPlGTJk1UunTpJJcXheMgRMczITo6WtL/BYiSlDNnTknS3bt3Lfb9z3/+o0KFCmnKlCmKiYnRn3/+qZCQEN25c0eSVLFiRd27d0+LFi1SbGys9u/frx9++MG8/VH79u3ThQsXGAQgzZ07d063b99WzZo1rb6io6N19epVSVK1atXUpEkTTZs2TTVq1FCfPn0UEhKimJiYp7p+aGioJCl//vw6d+6czp07p9q1a0uSxX/y58+fV6FChazC8Ed/qL18+bKcnZ314osvJrn9UWPGjNErr7yibdu2PbHGwoULW7XduHFD48aNU61atVS+fHnVrFnTvOxK4g/r165d0507d/TSSy899vw5c+ZU/fr1LdY+DwsLU758+VSjRo0n1gckR0hIiPr06WP+ZdXbb7+tkJAQq/3OnDmjM2fOWP2yavny5ZKkgwcPyt3dXZ07d7b6ZdWjFixYoBIlSqhatWrpcn8AMjbG7IAxDw8P1axZU2vXrtUPP/yg+Ph4NWnSxHD/n376SR07dpSPj4+qVaummjVr6vvvv9eDBw/MY4lr167JyckpybH0o2MJJycnFS9e3GoskZCQoCpVqliNJUqUKCHp4XrmiQ9CdXJykpOTk86dO2dxnVy5cqlWrVoWX0WKFEmttw2wi/Sc+FK6dGmNGjVK5cuXT7f7Q9ogRMczIWvWrJJkMWhODMiyZctmsa+bm5u+/vprHT16VHXq1NHQoUMVFBRkDvRy5cqlb775RmvXrpWf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8fFR7dq1NXz4cF2/ft2mewQAAIBj6969u1q2bKkjR46oa9f/196dx0VZ9f8ffw8gKqKooORuLqCmKK5JmLmkpWmKW+4LrrllmblvuJaaS+YermmGYlpod2Z1W2qGoWipueRufgEXRFSWmd8f/pi7CUbBgGF5PR8PHjrnOtd1PtcMhznzmXOdq7tq1qypBQsWSJL27t2rgQMHytfXV9WrV1fz5s21dOlSJSYmWhzjn2uip+eY+nFSWhPd09NT06dP1+7du9WqVSt5eXmpS5cuOn36tCRpy5Ytevnll1WjRg317NlTV65cSXbcY8eOyd/fX3Xq1FHNmjXVo0cPHTlyJFUxffvtt3r++edlMBgsyo8fPy5/f381aNBAXl5eatq0qcaNG2dRx2g0au3atWrdurVq1KghHx8fTZ48WXfu3EnWzg8//KAePXrI29tbtWvXVocOHbRr1y6LOj4+PoqNjdWBAwdSFTsApFXW+hoTuVp8fLxmz56tXbt2yWAwqE2bNho3blyK37ZfunRJ06dP17Fjx5QvXz716tVLAwYMMG8/ceKEZs6cqdOnT6tIkSIaPny42rVrJ+lRMu/vdaVHsw969OihiRMnZug5Inf47rvvVKZMGdWuXTtV9SdOnKjg4GC1bNlSffv2VXh4uFasWKFz585p6dKlFnUvXryokSNHqmPHjmrfvr22bdumsWPH6rnnnlPlypUl/e/3+caNG3rjjTdUokQJhYWFacGCBYqIiNCECRMsjvnll1/q3r176tKliwwGg1avXq3hw4dr7969qZppk5iYqLffflvffPONJk+erDfeeCNZnT179ujBgwfq2rWrChcurPDwcG3cuFF//fWXFi9enOx4/fv3V82aNfXuu+9q//79WrJkiRITE5PdMGjHjh26d++eunXrpocPH2rDhg3q3bu3du3aJTc3N0nSgQMHdPnyZfn5+alYsWI6c+aMtm7dqrNnz2rr1q3JBv0AAADIuW7fvq0BAwaodevWatu2rVxdXSVJwcHBcnJyUt++feXk5KRDhw5p8eLFiomJ0XvvvffE4/7bMfXTCg0N1b59+9StWzdJ0sqVKzV48GD1799fn376qbp166Y7d+5o9erVGj9+vNavX2/e9+DBgxowYICqV6+uYcOGyWAwaPv27erdu7c+/fRTeXl5WW33xo0bunbtmqpVq2ZRHhUV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OIvBTp06dbRlyxb9/PPP+vTTTxUZGWmxXXqUsN+zZ49FUg9ID/3795eTk5MmTpyoyMjIZNsvXbqkdevWSXqU1JZkfpwkMDDQYntavPrqqwoLC9P+/fvNZUlfVP3111/mmedJSfF/Xs6aJ08eSY8S+Y0aNdLo0aPl5+enwoULS/rfF1VJ65Pv2rVLfn5+Kl68uFasWKHY2Fj169dPN27ckL29vXn9xe+//97chslk0vr1662ew6ZNmyzqbtq0SXny5El2yefevXt148YN8+Pw8HAdO3ZML774oiTrM3D++XwD6eFJV1X93d+vqoqLi9OZM2esXlUVHx+vI0eO6Jtvvkl2eTkAAPj3ku7x8/cvsOPi4vTpp5/aKqQMV716dZUtW1affPJJiktRJi3xaI27u7tKlCihEydOWJTfuXMn2USApAkGSZN3Xn31VSUmJqZ4NV1CQoJ5druvr68KFCigFStW6OHDhxb1/tnG2bNn9fDhwydOYgKAp8VMdGQZfn5+Wr58ufkGnytWrLCa4D516pTKli0rBwcHff/999q2bZvFTdV+//13VapUSUajUTt37tThw4cVHBxscYwvv/xShQsXlq+vb4adE3KnsmXLat68eRo1apRatWql119/XR4eHoqLi1NYWJj27NljvplRlSpV1L59e3322WeKjo5WvXr1dPz4cQUHB6t58+Z6/vnn09y+v7+/9u3bp8GDB6t9+/Z67rnndP/+feXLl09dunTRDz/8oKJFi+rs2bOSlOwmPUlef/11DR8+XJL0wQcfJPuiavLkyerVq5dGjhypPXv2qF69evL29taSJUs0ePBg9e3bV5s2bVKFChXk7OysH374QcuXL5ezs7O+/vprq+tD5s2bV/v379d7770nLy8v7d+/X99//70GDx6c7KqRsmXLqmvXruratavi4uK0fv16FS5c2LyUjbOzs+rVq6fVq1crPj5e7u7u+umnn3L0rCLYjq2uqgIAAP+Ot7e3XFxcNHbsWPXs2VMGg0FffPFFjl76z87OTjNmzNCAAQP02muvyc/PT+7u7rpx44Z+/vlnOTs7a/ny5Y89RrNmzfTNN99YrEUeHByszZs3q3nz5ipbtqzu3bunrVu3ytnZ2TzRpX79+urSpYtWrFihkydP6oUXXlCePHl04cIF7dmzRxMmTNArr7wiZ2dnjRs3ThMnTlTH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5kx9/vnnkh4l5nv06KH27dvrpZde0s8//5wubQAAAACwLs0z0StWrKjly5fr8OHDqlWrliTp2LFj+vXXX9W3b1+tX7/eXLdXr16PPVbfvn313nvvqXr16vLy8tK6det0//59+fn5SZLGjBkjd3d3vfPOO5Kkrl27auPGjZo5c6Z69OihixcvasWKFerZs2daTwMAAADIFr7++mu1bdtWkvTdd9/p8uXL2r17t7744gt9+OGH2rJli40jBAAAAHK2NCfRg4KCVKhQIZ09e1Znz541lxcsWFBBQUHmxwaD4YlJ9FatWunmzZtavHixIiIiVLVqVa1evdq8nMv169dlZ/e/yfIlSpTQmjVrNHv2bLVt21bu7u7q1auXBgwYkNbTAAAAALKFW7duqVixYpKkH374Qa+++qqeffZZdejQwWICCwAAAICMkeYk+r59+9I1gB49eiS7SWmSDRs2JCvz9vbW1q1b0zUGAAAAIKtyc3PT2bNnVaxYMe3fv19Tp06VJD148IB7/AAAAACZIM1J9L8zmUySxPqoAAAAQAbx8/PTW2+9pWLFislgMMjHx0fSoyUVK1SoYOPoAAAAgJzvqZLon3/+udatW6cLFy5IksqXL6/evXurU6dO6RkbAAAAkOsNHz5clStX1l9//aVXXnlFjo6OkiR7e3uWNQQAAAAyQZqT6IsWLdLatWvVo0cP841Fjx49qlmzZunatWsaOXJkescIAAAA5GqvvPJKsrL27dvbIBIAAAAg90lzEn3z5s0KCAjQa6+9Zi5r1qyZPD09FRAQQBIdAAAA+Je++uortW7dOlV1r1+/rmvXrqlOnToZHBUAAACQO9mldYeEhARVr149Wflzzz2nxMTEdAkKAAAAyM02b96sV199VatWrdK5c+eSbb97965++OEHvfPOO2rfvr1u376d+UECAAAAuUSaZ6K//vrr2rx5s8aNG2dRvnXrVrVp0ybdAgMAAAByq40bN+rbb7/Vxo0btWDBAuXPn19ubm7Kmzev7ty5o8jISBUpUkTt27fXl19+KTc3N1uHDAAAAORYT3Vj0aCgIP3000+qWbOmJCk8PFzXrl1Tu3btNHv2bHO9fybaAQAAAKROs2bN1KxZM928eVO//vqrrl69qocPH6pIkSKqWrWqqlWrJju7NF9YCgAAACCN0pxE/+OPP1StWjVJ0qVLlyRJ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YQBZ3s8//yxPT09FR0fbOhQAAJDLMGYHUocxO7IKkuiwqYiICM2YMUMvv/yyatSoIR8fH73xxhv69NNPdf/+fUlS06ZN5enpafHz4osvmo+RtP3o0aMWx545c6Z69uyZ6liuXLkiT09PnTx5Ml3ODcgIgwcPlr+/f4rbQkND5enpqZdffllr166VlHL/+fvP2LFjH9ve4/pFz549NXPmTPNj+iKyqrCwMFWtWlUDBw7M8LZ69uwpT09PffXVVxbla9euVdOmTdN0LE9PT+3duzdN+8TFxWnVqlVq27atatasqQYNGuiNN97Qtm3bFB8fL0kaO3asPD09tXLlSot99+7dK09PT/PjpA8srVu3VmJiokXdunXravv27WmKDUD2xZgdSBvG7EDaMWZnzJ7VOdg6AORely9fVteuXVWwYEGNGjVKnp6ecnR01OnTp7V161a5u7urWbNmkqQRI0aoc+fO5n3t7e0tjpU3b17NmzdPGzduzNRzADJbx44dNXz4cP3111965plnLLZt27ZN1atXV5UqVcxlQUFB5jfSsLAwDR8+XHv27JGzs7MkKV++fOkaH30RWVFQUJB69OihoKAg3bhxQ+7u7hnaXt68ebVw4UK1aNFCefLkydC2/i4uLk7+/v46ffq0Ro4cqdq1a8vZ2VlHjx7VJ598omrVqqlq1armGFetWqUuXbrIxcXlsce9fPmyduzYoQ4dOmTGaQDIYhizA2nHmB1IO8bsjNmzOmaiw2amTp0qe3t7bdu2Ta1atVLFihVVpkwZNW/eXCtXrrT49q9AgQIqVqyY+ado0aIWx+rcubOOHj2qH3744bFtfv7553r11VdVo0YNvfLKK9q0aZN5W9Lgv127dvL09EzTt/BAZnnppZdUtGjRZN8m37t3T3v27FHHjh0tLg0tWrSoud8kvem6urqaywoWLJiu8dEXkdXcu3dPISEh6tq1q1566SUFBwc/tn5oaKi6desmLy8vNW7cWDNmzFBsbKwkaceOHfL29taFCxfM9adOnapXXnnFPBNTklq3bq3o6Ght3br1sW3t3btX7du3V40aNdSsWTN99NFHSkhIkCTze+DQoUPl6emZqhkx69atU2hoqNauXavu3buratWqKlOmjNq0aaOtW7eqXLly5ro+Pj5yc3PTihUrnnjcHj16aMmSJYqLi3tiXQA5D2N2IO0Y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\n"
- },
- "metadata": {}
- }
- ],
- "source": [
- "plot_df = summary_df[[\n",
- " \"model\", \"test_accuracy\", \"macro_f1\", \"kappa\", \"train_time_sec\",\n",
- " \"test_nll\", \"test_brier\", \"test_ece_15bin\",\n",
- "]].copy()\n",
- "\n",
- "fig, axes = plt.subplots(2, 2, figsize=(15, 9))\n",
- "axes = axes.flatten()\n",
- "palette = [\"#4c72b0\", \"#55a868\", \"#c44e52\"]\n",
- "\n",
- "metric_specs = [\n",
- " (\"test_accuracy\", \"Test Accuracy\", (0.0, 1.0), \"{:.3f}\"),\n",
- " (\"macro_f1\", \"Macro F1\", (0.0, 1.0), \"{:.3f}\"),\n",
- " (\"kappa\", \"Cohen Kappa\", (0.0, 1.0), \"{:.3f}\"),\n",
- " (\"train_time_sec\", \"Train Time (sec)\", None, \"{:.1f}\"),\n",
- "]\n",
- "\n",
- "for ax, (col, title, ylim, fmt) in zip(axes, metric_specs):\n",
- " local = plot_df[[\"model\", col]].copy()\n",
- " bars = ax.bar(local[\"model\"], local[col], color=palette[:len(local)])\n",
- " ax.set_title(title)\n",
- " ax.set_xlabel(\"Model\")\n",
- " ax.set_ylabel(title)\n",
- " if ylim is not None:\n",
- " ax.set_ylim(*ylim)\n",
- " ax.grid(axis=\"y\", alpha=0.25)\n",
- " for patch in bars:\n",
- " height = patch.get_height()\n",
- " xpos = patch.get_x() + patch.get_width() / 2\n",
- " offset = (ylim[1] - ylim[0]) * 0.02 if ylim else max(local[col].max() * 0.02, 0.05)\n",
- " ax.text(xpos, height + offset, fmt.format(height), ha=\"center\", va=\"bottom\", fontsize=9)\n",
- "\n",
- "plt.suptitle(\"Single-Head Model Comparison\", y=1.02, fontsize=14)\n",
- "plt.tight_layout()\n",
- "comparison_path = PLOT_DIR / \"model_comparison_metrics.png\"\n",
- "plt.savefig(comparison_path, dpi=200, bbox_inches=\"tight\")\n",
- "plt.show()"
- ],
- "id": "X8rcEy1LHlSK"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "Fnurhv48HlSK"
- },
- "source": [
- "## 7.4 \u2014 Calibration proxy metrics and confusion matrices"
- ],
- "id": "Fnurhv48HlSK"
- },
- {
- "cell_type": "code",
- "execution_count": 20,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 934
- },
- "id": "phhOi46JHlSL",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779849698634,
- "user_tz": -330,
- "elapsed": 1853,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- },
- "outputId": "f7a38d49-6191-4d9b-bb91-7ae3af87dffe"
- },
- "outputs": [
- {
- "output_type": "display_data",
- "data": {
- "text/plain": [
- ""
- ],
- "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAHqCAYAAADVi/1VAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAauFJREFUeJzt3Xl8Tdf+//F3TiQyIZGgVyhFMxFiaH2R1KyCVJuQVs2iejWKi6tx3bZiuFrVKkFpjUG1iqghtKWtawhqLjW0Yqw5tEoQSc7vD7+c29MECck+JK/n45HHI9l77b0++2RbiXfWXsfObDabBQAAAAAAABjIZOsCAAAAAAAAUPQQSgEAAAAAAMBwhFIAAAAAAAAwHKEUAAAAAAAADEcoBQAAAAAAAMMRSgEAAAAAAMBwhFIAAAAAAAAwHKEUAAAAAAAADEcoBQAAAAAAAMMRSgEAUER17dpVXbt2tXUZMJivr6/i4uIM7TMxMVFPP/20rl27Zmi/tsK/rZwtXLhQTZo0UVpamq1LAQA8JAilAABFTlxcnHx9fXXp0qUc97dr1+6h/w/lzp07FRcXpytXrtik/xUrVmjOnDn5fl5fX1/Lh5+fn4KDg9WrVy9t3bo13/sqaFnXMXz48Bz3T5gwwdLmTvfi3dj6HsitjIwMxcXFqUuXLnJ1dbVsb9asmV599VUbVvbwO3XqlNW/CV9fX9WpU0ft27fX/PnzlZGRcV/nXb9+fY7B5PXr1xUXF1dg/97Cw8N169YtffbZZwVyfgDAo4dQCgCAR9CuXbs0efLkBwokZs6cqZkzZ97XsStXrlR8fPx99303jRo10rhx4/TOO+/opZde0qFDh9S9e3etX7++QPorSMWLF9fXX3+d48yQlStXqnjx4vd97vu9B/bu3au+ffved7959d133+no0aN68cUXDevT1h7k31ZO2rVrp3HjxmncuHEaPHiwypUrp1GjRmn8+PH3db7169dr8uTJ2bZfv35dkydP1rZt2x605BwVL15czz//vObMmSOz2VwgfQAAHi2EUgAAPEJSU1Pz7VyOjo5ydHTMt/Pll8qVK6t9+/Z6/vnn1a9fP82aNUtms/muIdjNmzeVmZlpYJW5ExISoqtXr+q///2v1fadO3fq1KlTatKkiSF1ZGZm6ubNm5JuBwPFihUzpF9JWrJkierUqaNy5coZ1mdB+/PrmZP8/rcVEBCg9u3bq3379urcubOmT5+uwMBArVy5Mt/6KEh/HrdCQ0P166+/asuWLTasCADwsCCUAgDgHrZu3SpfX18lJibqo48+0jPPPKPAwEB1795dx48fz9Z+z549euWVV/TUU08pKChIYWFhmjt3rlWbI0eOqH///nr66acVGBio8PBwrVu3zqrN0qVL5evrq23btmnEiBFq0KCBGjdurLi4OI0bN06S1Lx5c8tjPadOnZJ0OwTo1q2bGjRooBo1aqhNmzb69NNPs9X513VvcnudXbt21ffff69ff/3V0nezZs107do1BQUFafTo0dn6Onv2rPz9/TV9+vQ8vPK3+fr6ysPDw3J9WXWuWrVKEyZMUEhIiGrVqqWrV69KklavXq3w8HDVrFlT9evX15AhQ3Tu3DnL+SZNmiQ/Pz8lJSVZ9fPmm2+qRo0aOnjwYL5dS7ly5VSvXr1s4cGKFSvk4+OjJ598Msfj9uzZo6ioKNWtW1e1atVSly5dtGPHDsv+e90Dvr6+GjlypJYvX662bdsqMDBQGzZssOz766Nb586d07/+9S8FBwerRo0aatasmd5++23LDK9bt25p8uTJatWqlQIDA1W/fn116tRJmzZtuuv137x5Uxs2bFDDhg3v+VrlJD09XVOmTFGLFi0sdX3wwQdWM8/Gjh2r+vXrW828GTVqlHx9fa2CzIsXL8rX19fq30JaWpomTZqkli1bqkaNGmrcuLHGjRuXbWbb3V7PnOS0ptS8efPUtm1b1apVS0899ZTCw8O1YsWK+3pd7Ozs5OXllWO4uH79er388ssKCgpS7dq11adPH/3888+W/TExMVqwYIHluv587zRo0ECSNHnyZMv2P98rDzJuZalRo4bc3d2zHQcAKJqM+zMZAACPuE8++UR2dnbq1auXrl69qhkzZmjIkCH64osvLG02bdqkV199VWXLllW3bt3k5eWlI0eO6Pvvv1f37t0lST///LM6deqkcuXK6ZVXXpGLi4tWr16t6OhoxcXFqWXLllb9xsbGqnTp0oqOjlZqaqqeeeYZHTt2TCtXrtSwYcPk4eEhSSpdurSk24sJP/nkk2rWrJmKFSum7777TrGxsTKbzercufMDX+ff//53/fHHHzp79qyGDRsmSXJ1dZWrq6tatGih1atXa9iwYbK3t7ecc+XKlTKbzQoLC8vz6/7777/rypUrqlSpktX2qVOnysHBQVFRUUpLS5ODg4OWLl2qYcOGKTAwUIMGDVJKSori4+O1c+dOLVu2TCVLllTfvn313Xffafjw4Vq+fLnc3Ny0YcMGLVq0SAMGDJCfn58k5du1hIWFacyYMbp27ZpcXV2Vnp6uNWvWqGfPnjnOtklKStIrr7yiGjVqqF+/frKzs9PSpUvVvXt3ffrpp6pZs6Zatmx513tAkrZs2aLVq1erc+fO8vDwkLe3d471nTt3Th06dNAff/yhyMhIValSRefOndNXX32lGzduyNHRUZMnT9b06dPVsWNH1axZU1evXtW+ffu0f/9+NWrU6I7Xvm/fPt26dUsBAQG5eq3+6t///rcSEhL07LPPqmfPntq7d6+mT5+uI0eOaMqUKZKkevXqac6cOfr555/l4+MjSdq+fbtMJpO2b9+ubt26WbZJ0lNPPSXp9mynvn37aseOHYqMjFTVqlV1+PBhzZ07V8eOHdPUqVOtasnt65mTRYsWafTo0Xr22WfVrVs33bx5U4cOHdKePXtydR9dv37dsu7YtWvX9N///lcbNmxQnz59rNotW7ZMMTExCg4O1pAhQ3T9+nUtXLhQL7/8shISElShQgW9+OKLOn/+vDZt2mQJNqXb986IESM0YsQItWzZ0jIO+fr6SnrwcevPAgICtHPnzly/fgCAQswMAEARM2nSJLOPj485JSUlx/1t27Y1d+nSxfL1li1bzD4+PubQ0FDzzZs3Ldvnzp1r9vHxMR86dMhsNpvN6enp5mbNmpmbNm1q/v33363OmZmZafm8e/fu5nbt2lmdKzMz0/ziiy+aW7VqZdm2ZMkSs4+Pj7lTp07m9PR0q/PNmDHD7OPjYz558mS2+q9fv55tW69evczNmze32talS5f7uk6z2Wzu06ePuWnTptn62bBhg9nHx8e8fv16q+1hYWFWfd2Jj4+P+V//+pc5JSXFnJKSYt6zZ4+5e/fuZh8fH/OsWbOs6mzevLnVtaalpZkbNGhgbteunfnGjRuW7d99953Zx8fHPHHiRMu2Q4cOmatXr24ePny4+ffffzeHhISYw8PDzbdu3crXa4mNjTX/9ttv5urVq5uXLVtmNpvN5u+//97s6+trPnXqVLZ7MTMz09yqVStzr169rO6Z69evm5s1a2bu2bOnZdvd7gEfHx+zn5+f+eeff85x36RJkyxfDx061Ozn52feu3dvtrZZNTz33HPmPn363POa/2rRokXZ7p0sTZs2ves5Dxw4YPbx8TEPHz7cavs777xj9vHxMSclJZnNZrM5JSXF7OPjY16wYIHZbDabr1y5Yvbz8zP379/f3LBhQ8txo0aNMj/99NOWa1q2bJnZz8/P/MMPP1idf+HChWYfHx/zjh07LNvu9nrm5K//tvr27Wtu27Ztro79s5MnT5p9fHxy/Hj77bet7pGrV6+a69WrZ/73v/9tdY4LFy6Y69ata7U9NjbW7OPjk62/rNfyz/dHlvwYt7K8+eab5po1a+b+hQAAFFo8vgcAQC6Fh4dbrRNTr149SdLJkyclST/99JNOnTqlbt26qWTJklbH2tnZSZJ+++03bdmyRaGhobp69aouXbqkS5cu6fLlywoODtaxY8esHjWTpMjISKuZOvfi5ORk+fyPP/7QpUuX9PTTT+vkyZP6448/Hvg676Zhw4YqW7as1WNJhw8f1qFDh/Tcc8/lqv7FixerQYMGatCggTp27KidO3eqZ8+elplmWZ5//nmra923b59SUlLUqVMnqwXEmzRpoipVquj777+3bPPx8VH//v31xRdfKCoqSpcvX9a7775r9ThUflyLJJUqVUohISFatWqVpNuP7tWuXTvHmTYHDhzQsWPHFBYWpsuXL1vuj9TUVDVo0EA//PBDrtfOeuqpp1StWrW7tsnMzNTatWvVtGlTBQYGZtufdd+WLFlSP//8s44dO5arvrP89ttvkm6/BnmVtbB9z549rbb36tXLan/p0qVVpUoVy0yonTt3yt7eXlFRUbp48aKl5h07dqhOnTqWa1qzZo2qVq2qKlWqWF7nS5cu6f/+7/8kKds70OXm9byTkiVL6uzZs9q7d+99Hf/iiy9q9uzZmj17tuLi4tS5c2d9/vnnGjt2rKXN5s2bdeXKFbVt29bqekwmk2rVqvVA76iX3+NWyZIldePGDV2/fv2+awIAFA48vgcAQC6VL1/e6uus4Cnr3c+yQpusR4hycuLECZnNZk2cOFETJ07MsU1KSorVotAVKlTIU507duxQXFycdu/ene0/fX/88YdKlChx1+PvdZ13YzKZFBYWpoULF+r69etydnbWihUrVLx4cbVu3TpX9Tdv3lxdunSRnZ2dXF1dVa1aNbm4uGRr99fX5fTp05KkJ554IlvbKlWqWK3JJElRUVFatWqV9u7dq0GDBmULHPLjWrKEhYVp6NChOn36tNatW6chQ4bk2C4rQHnjjTfueK4//vgjVyFPbu6bS5cu6erVq3dc2ypL//799dprr+nZZ5+Vj4+PgoOD1b59e8ujjvdivo93Wvv1119lMpn0+OOPW20vU6aMSpYsqV9//dWyrV69epaQavv27apRo4YCAwPl7u6u7du3y8vLSwcPHlS7du0sxxw/flxHjhyxrKP0VykpKVZf5/Xf4Z+98sor2rx5szp27KhKlSqpUaNGateunerWrZur4ytVqmS1LlerVq1kZ2enuXPnKiIiQr6+vpZ756/hbRY3N7f7rj+/x62s+yErIAQAFF2EUgCAIidrFs2d3j3r+vXreuyxx7JtN5lynmCcl/9wZ81y6dWrl0JCQnJs89f/hP951s+9nDhxQj169FCVKlUUExOjv/3tb3JwcND69es1Z86cXM2yedDrfP755zVz5kytXbtW7dq108qVK9WkSZN7hmFZHnvssVwtjP3nWVL34+TJk5YF3A8fPpxjmwe9lizNmjWTg4OD3njjDaWlpSk0NDTHdlmv8dChQ+Xv759jm5wCupw86OvzZ0899ZS++eYbrVu3Tps2bdLixYs1d+5cxcbGqmPHjnc8zt3dXdLtdcFy+jeVG7kJLurWratFixbp5MmT2r59u+rWrSs7OzvVqVNHO3bsUNmyZZWZmWmZ9Sfd/rfo4+NjWRftr/5a74O8nlWrVtWaNWv0/fffa8OGDfr666/16aefKjo6Wv3797+vczZo0EDz58/X9u3b5evra7l3xo0bpzJlymRrn5fZln+V3+PWlStX5OzsnK/3KADg0UQoBQAocrJmAh09elR/+9vfrPZdv35dZ8+evevizXdSsWJFSbcDjjuFKlltHBwc7vsdyaQ7/0f922+/VVpamj766COrGU8P8uhOXvqXbs8UCwgI0IoVK/TYY4/p9OnT+ve//52v/efkz9/Xv85+OXr0qNXrkZmZqZiYGLm5ual79+6aNm2ann32WbVq1apArsXJyUktWrTQ8uXL9cwzz1gtSP5nWfeHm5vbPe+P/JhlUrp0abm5uVm9O9uduLu7KyIiQhEREbp27Zq6dOmiuLi4u4ZSVapUkSSdOnXKsmB2bnl7eyszM1PHjx9X1apVLdsvXryoK1eu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P53v/WQtiJ7TX6+vXLlyxyCJ8R5AYbd48WKlp6crJCTEss1sNsvR0VFvvfVWtvapqal66aWXclwn729/+5vl8x9++EH29va6cOGCUlNTLePwXz333HOaOXOmPvroI3l7e2fr6/XXX1erVq2yHVe8ePFcX+OfVa5cOdv/De7lqaeeUnBwsN5//32rP2D/VbFixTRw4EANGzZMnTt3vq/6gNzitw3gEeDh4aFGjRpp/vz5d3xW/X64urrqtdde07Rp03Tt2jXLdi8vL5UtW1YnT55UpUqVrD6ygrCsdxf561vGAkBRFBoaKjs7O61cudLyrkV5Wesvt9zd3eXh4aH9+/dbbb969apOnDihypUr53gc4z2Awiw9PV1ffvmlYmJitGzZMsvHl19+qbJly2rlypXZjgkICNAvv/ySbeyrVKmSHB0dJUk7d+7UjBkz9NFHH8nFxcWy3lROTCaTBg8erIULF+rXX3/N1tfRo0dz7CvrDwAODg55GmfbtWunzZs366effsq279atW3f8P8PgwYP13XffadeuXXc9f2hoqKpVq2aZeQYUFEIp4BHx9ttvKyMjQxEREUpMTNSRI0eUnJysL7/8UsnJybK3t7+v80ZGRqpEiRLZflj3799fH3/8seLj43X06FEdOnRIS5YssTwr7+npKScnJ23YsEEXL17kmXMARZqrq6vatGmjDz74QBcuXNALL7xQYH317NlT06ZN0/Lly3XixAnt3btXQ4YMkYeHR45/hc/CeA+gsPr+++/1+++/q0OHDvLx8bH6aNWqVY4Lh7/yyivatWuXRo4cqQMHDujYsWNau3atRo4cKel22D906FB17dpVjRs31vjx45WYmKg1a9bcsY4mTZqoVq1aljX5skRHR+vLL7/U5MmT9fPPP+vIkSNatWqVJkyYYGnj7e2tpKQkXbhwQb///vs9r7lHjx6qU6eOevTooQULFujgwYM6efKkEhMT9eKLL+r48eM5Hufr66uwsLBcLWQ+ePBgLVmyxOrdBoH8RigFPCIef/xxJSQkqGHDhnr//ffVvn17RUREaP78+erVq5cGDBhwX+d1cHDQgAEDLAs6ZunYsaNGjx6tpUuXKiwsTF27dlVCQoIqVKgg6fa03n//+9/6/PPPFRISotdee+2BrxEAHmUdOnTQ77//ruDgYJUrV67A+undu7f69eunTz75RM8995xef/11OTs7Kz4+Ptvj3H/GeA+gsFq8eLEaNmyY4yPMzz77rPbt26dDhw5Zbffz89O8efN07Ngxvfzyy3rhhRc0adIklS1bVpI0ZswYOTs7W9ZU8vX11aBBg/T222/r3Llzd6xlyJAh2cbZkJAQTZs2TRs3blSHDh0UGRmpOXPmWD3m98Ybb2jz5s1q0qRJrv6w4ejoqNmzZ6t379767LPPFBkZqQ4dOmjevHnq2rWrnnzyyTse279//zu+I+ufNWjQQP/3f/+n9PT0e7YF7ped+X5WSAMAAAAAAAAeADOlAAAAAAAAYDjefQ8AAOAhMW3aNE2fPj3HfXXr1tWMGTMMrggAYAtt27bV6dOnc9wXGxur5557zuCKgILB43sAAAAPid9+++2OC9w6OTkV6FpVAICHx6+//nrHtZw8PT3l5uZmcEVAwSCUAgAAAAAAgOFYUwoAAAAAAACGI5QCAAAAAACA4QilAAAAAAAAYDhCKQAAAAAAABiOUAoAAKAQ6dq1q8aMGZPr9kuXLlW9evUKsCIAAICcEUoBAAAAAADAcIRSAAAAAAAAMByhFAAAgAG6du2qUaNGacyYMXrqqafUsGFDLVq0SKmpqRo2bJhq166tli1bav369ZZjtm3bpg4dOqhGjRoKDg7W+PHjlZ6ebtmfmpqqoUOHqnbt2goODtasWbOy9ZuWlqZ3331XISEhCgoKUseOHbV161ZDrhkAAOBuCKUAAAAMkpCQIA8PD33xxRfq0qWLRowYoQEDBqh27dpKSEhQo0aNNHToUF2/fl3nzp1Tnz59FBgYqC+//FIjRozQ4sWL9dFHH1nON27cOP3www+aOnWqZs6cqW3btmn//v1WfY4cOVK7du3ShAkTtHz5crVu3Vq9e/fWsWPHDL56AAAAa4RSAAAABvHz89Nrr72mypUr69VXX1Xx4sXl4eGhyMhIVa5cWdHR0frtt9906NAhffrpp3rsscf01ltvqWrVqmrRooVef/11zZo1S5mZmbp27ZoWL16soUOHqkGDBvL19dU777yjjIwMS3+nT5/W0qVLNXHiRNWrV0+PP/64oqKiVLduXS1dutSGrwQAAIBUzNYFAAAAFBW+vr6Wz+3t7eXu7i4fHx/LNi8vL0lSSkqKjhw5otq1a8vOzs6yv27dukpNTdXZs2d15coV3bp1S7Vq1bLsd3d31xNPPGH5+vDhw8rIyFDr1q2t6khLS5O7u3t+Xx4AAECeEEoBAAAYpFgx61+97OzsrLZlBVBmszlf+ktNTZW9vb2WLFkie3t7q30uLi750gcAAMD9IpQCAAB4CFWtWlVfffWVzGazJazasWOHXF1d9dhjj6lUqVJycHDQnj17VL58eUnS77//rmPHjumpp56SJPn7+ysjI0OXLl1SvXr1bHYtAAAAOWFNKQAAgIfQyy+/rLNnz2rUqFE6cuSI1q5dq7i4OPXs2VMmk0murq6KiIjQe++9p6SkJB0+fFgxMTFWj/s98cQTCgsL09ChQ/X111/r5MmT2rt3r6ZPn67vv//edhcHAAAgZkoBAAA8lMqVK6ePP/5Y48aN06JFi+Tu7q4OHTqob9++ljZDhw5Vamqq+vbtK1dXV/Xs2VNXr161Os/YsWP10Ucf6Z133tH58+fl7u6uoKAgNWnSxOArAgAAsGZnzq9FCwAAAAAAAIBc4vE9AAAAAAAAGI5QCgAAAAAAAIYjlAIAAAAAAIDhCKUAAAAAAABgOEIpAAAAAAAAGI5QCgAAAAAAAIYjlAIAAAAAAIDhCKUAAAAAAABgOEIpAAAAAAAAGI5QCgAAAAAAAIYjlAIAAAAAAIDhCKUAAAAAAABguP8HbPzGjPAz2AoAAAAASUVORK5CYII=\n"
- },
- "metadata": {}
- },
- {
- "output_type": "display_data",
- "data": {
- "text/plain": [
- ""
- ],
- "image/png": "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t27dlCdPnsd6/EqVKql69er6/PPPk3RK2ePHj1tzUbly5dS2bVtt2bLFevuaNWvUv39/SVK3bt2sueP+TPagmTNnysXFRVOmTLEZUogT9zxxwsPDNXHiROslIho1aqQFCxbIYrHY3C8gIEBjxozRjz/+qObNm1vfS2zfvt26zpAhQ6yfHOvfv79Njk/surFDhgyJdxri9evXq23btqpYsaIqVaqkFi1aaMmSJdbbE8qmkv3yclI0b95cGzZsUGxsrHXZ1q1bre+nHnT+/HmNGjVKjRo1stb31ltv2eTuR/284y6t95///Mf6OlesWGG9LS6PWiwWde3aVdWrV1doaKj18aOiotSiRQs1aNBA4eHhSX6tAAAg9Xl6eur555/Xrl27bP5+xwkODpa3t7c1NyV2DM+Rknu89FHHqXfv3q127dpJkoYOHWrNRg+7XHBc3h83blyCeb9QoUJ6+eWXrd9HR0dr1qxZatCggfXSwR9//LGioqJs7heXw/bs2aN27dqpXLlyeu6557R27VrrOjNmzNCzzz4r6d4H6e6/3EZCmTfuPg9eRmPHjh3q1KmTKleurIoVK6pRo0b6+OOPrbefO3cuwT7s3LlTL730kipUqKDKlSurV69eOn78eILPd/r0aQ0ZMkSVK1fW008/raFDhyZ4aefENG/eXNu3b9fNmzety/bt26dTp07Fu4yydO//FiZNmqQWLVpYM/7rr79uc9m9R/284y7RfODAAXXu3Fnly5e39uXB9xqDBw9WuXLl4r3+7t27q0qVKql+yWUA9zCoADipoKAgNWzYUB4eHmrevLlOnTqlffv2PfJ+ISEhat++vXbu3KnOnTtr2LBhKliwoIYNG2Y9y4Cnp6cmTZqkM2fOaNq0adb7jhkzRrdu3dKECROs07pxnn766SQfkB0xYoQ++ugjVapUScOGDVPbtm0VFBSk7t276+7du5Kk999/X7lz51bRokU1efJkTZ48Ocmnpt2+fbuio6Ot08VJlT9//mQPHvTq1UsxMTGPdeaDuAPQSZ1qXrNmjd5++225urpq4MCBat++vTZv3qxOnTrZBEJJiomJUffu3fXUU0/pvffeU9WqVbVw4UKtXLlSklSsWDFNnjxZWbNmValSpaw9ftQnBO8XFRWl7t27688//1SXLl00YsQItW/fXmfPno1Xz/1CQkLUsWNH/fLLL+rUqZMGDBigO3fuqFevXtq8eXO89efPn6/NmzfrtddeU48ePfTXX39p0KBBSa4zX758qlChgtavX29dtn37dt26dSvexG+cL774QqVKldJbb72lgQMHys3NTf3797cZppg8ebI8PDxUuXJla/86dOhg8zj9+/dXRESEBgwYkOhpj1944QU9++yzmjhxoi5evChJ+vvvvzVz5ky1a9dOdevWTfJrBQAAj/bTTz+pUKFCCV6y4VFu3Lihq1evWr/uH7S9X79+/ZI0xHv06FF16NBBx48f1xtvvKEhQ4bIy8tLffr0seaiKlWqWA+49ezZ05o7ihUrluBjRkREaNeuXapcubLy5s37yNdksVjUq1cvLV68WM8884yGDh2qIkWKaPLkyZowYUK89X///XeNGjVKTZs21bvvvqs7d+7orbfesl4nuUOHDtbc3rVr12Tl+Dg7duzQwIED5evrq0GDBumdd95R1apV9ccffzz0fvbMy0nRvHlzXblyxWZYIjg4WNWrV5efn1+89ffv36+9e/eqWbNmGj58uDp27Khdu3apW7du1oPCSfl5nzx5Uu+8845q1aqlYcOGJXhKXBcXF40fP1537tzRyJEjrctnzJiho0ePasKECfEuYwIAAByvRYsWio6O1vfff2+z/Pr16/rll1/UsGHDJ+Jstg+T1OOlSTlOXaxYMb311luS7uXMuGxUpUqVRB/3p59+UoECBVSpUqUk1Tt8+HBNnz5dpUuX1tChQ1WlShXNnTs33gfIJOn06dPq37+/atWqpSFDhihLliwaMmSI9WxlDRs21NChQyXdy4qTJ0/W+++/n6Q64hw9elQ9evRQVFSU3nrrLQ0ePFj169d/ZBb+73//q9dff12hoaHq27evXnnlFe3du1edOnVKcJjl7bffVlhYmAYOHKgmTZpozZo1mjlzZpLrbNiwoVxcXPTDDz9YlwUHB6to0aIqXbp0vPXPnj2rH3/8UfXq1dOQIUPUvXt3/fPPP+rSpYv1WHxSft7Xr1/XG2+8oVKlSun9999XtWrVEqxv2LBhypYtmwYPHmwdRl6xYoV++eUXDR8+3G6XJgHwcJxbGnBCBw4c0IkTJ/TBBx9IujckkDt3bgUFBcW7PuqDpk2bppiYGAUFBSlr1qySpE6dOmngwIGaOXOmOnbsKE9PT5UvX16vv/665s+fr4YNGyokJETr16/X+++/ryJFiiT42H379lWXLl20YsWKBM9kIEl79uzR119/rSlTpth8mr1atWp6/fXXtXHjRusnfD755BPr9daSI25K8sFJ1KTo1auXvvvuuySfnqxAgQJq2bKl9ZIRCU3pJubEiRPy8fFJ0qf17t69qylTpqhEiRL66quvrKf2evrpp9WjRw8tXrzYGuKke6ecbdKkifr06SPp3s+4TZs2+uabb/TSSy8pe/bsatWqlT799FPlypXrsU4Bd/z4cZ07d06ffvqpzSfGHnUJknnz5ikkJERfffWV9UwSL774olq2bKkJEyboueeesznV8p07d7R27Vrr6bt8fX01btw4/fPPPypRokSSam3RooWmTp2qyMhIeXp6KigoSFWqVEk0kG7atMnmTV/nzp3Vtm1bLVq0SPXq1ZN0b8DkUafQK1mypKZOnfrI+j788EM1b95cw4YN05w5czRkyBDlyJHD+sYGAADYx+3bt3X58mU1aNAg3m03b95UdHS09XsvL694B4Ef/JR8vnz5tHXr1niPVblyZVWrVk0LFixQp06dEj2YPG7cOOXJk0erV6+2Zp2XXnpJnTp10pQpU9SwYUMVKFBAlStX1tKlS1WzZs1ED8TFOX36tO7evZvknLRlyxbt2rVLb7/9tnr16iXpXvZ566239MUXX6hLly4qWLCgdf3jx49rw4YN1mXVqlVTq1attH79enXp0kUVK1ZUVFSU5syZo8qVKyd4ZoFH2bZtmzJnzqwFCxbEG5BOjL3zclIULlxYZcuWVXBwsGrUqKGbN2/q559/1tixYxNcv169evH68eyzz6pDhw7atGmTWrdunaSf9+nTp/X555/rmWeeeWh9BQoU0JAhQzRixAitW7dOhQoV0oIFC9StW7eHHtwHAACOU716deXIkUPBwcHWs1RJ0saNG3X37t1Ezw76JEnq8dKkHKfOnj276tSpo+nTp6tChQqPPIZ5+/ZtXbp0Sc8991ySaj1y5Ii+/fZbvfjii9YM17lzZ2XLlk0LFy7Url27VL16dev6J0+etDmm2aRJE9WtW1dr1qzR4MGDVbJkSWXOnFkTJkxQ6dKlH+uY644dO3T37l3Nnz8/WR8qmzx5srJkyaKVK1fqqaeekiQ1aNBAbdq00YwZMzRp0iSb9UuVKqXx48dbv79+/bq++eYbvfvuu0l6vsyZM6te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rWvy3FWXX5p/2XbzHLDPN3L1LyZm4cJWdGWRopwry5F1ObIuR9blyLocWVfj77tt7//utn/+0zN5843X075d+xy47zey+w5b5Zjvj8oL//VcxdOyuPL3W46sy5F1ObIuR9bUulq/btux6gHastnvzM6iRYvSo0ePJo/36NEj06a9UNFUtUnW5ci6HFmXI2tq1f2/uzejTzwm77//fnqssGLOm3Bxlltu+cbnh++1b+r6rJdlunXLU48/losmnJ9Zb72VI446trqhWWw5V5Yj63JkXY6sy5F1ObIu64Hf3ZvRJ33Ubc/96UfdduYrM5Ikky65MIcdeWx69uyVa6+6PP86av9cdcNtWbZbtwonZ3Hk77ccWZcj63JkXY6sqVVt5bptpXdUOO200/Loo49WOQIAQJu1/oYbZeLVN+RnE6/MxptunlNOODqz3/7o+/v2/ta3M3jDjfKlL9dl92/slcN/cHRuuPbqzJ8/v8KpF1+6LQBAdQZvuFEuu+qGXHjZldlo081zyokfddv6+g+/+Xbk/gdnq22+nrr1+uX4H5+etGuX3979myrHXmzptgAA1Wkr120rXVS46qqrMnLkyGy//fa5+OKL8+abb1Y5TnHLL7d8OnTokFmzZjV5fNasWVlhhRUqmqo2ybocWZcj63JkTa1aaqkuWW31NdJvwKAc/+PT0qFDh9z6qxs/9fV9+w/MokUL89qrrxScsvXQbZ0rS5F1ObIuR9blyLocWZfVpNv+6MNue9t/d9seK6yYJFlrnd6Nr+/cuXN6rbpa3nhtZiXzLu50W3+/pci6HFmXI+tyZE2taivXbStdVEiSiRMnZsstt8zEiROz9dZb55BDDslvf/vb1NfXVz1ai+vUuXPW69svD/3ng42P1dfX56GHHszAQYMrnKz2yLocWZcj63JkTVtRX1+fBf/L1u1zf3427du3z/LduxecqnXRbZ0rS5B1ObIuR9blyLocWVerob4+8xd82G3r+vRN586dM/2laY3PL1y4IK/NfCUrr9KrqhEXe7qtv98SZF2OrMuRdTmypq2o1eu2HaseYN11182mm26aY489NnfeeWduuOGGHHbYYenRo0f22GOP7LHHHllzzTWrHrPFjPz2/vnRicelX7/+6T9gYK684vLMmzcvuw/bo+rRao6sy5F1ObIuR9blzJ0zJ9OnT2/8+ZWXX86z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zZ8/PzfffHOGDx+edu3aVT0O8DnptmXotmXotmXotmXottXQbaF1023L0G3L0G3L0G3L0G2rUevd1h0VaHPq6+tzxhlnZP3118+6665b9Tg16U9/+lP23nvvfPDBB+nSpUsmTJiQL33pS1WPVZNuu+22PP300/nlL39Z9Sg1beDAgRk3blzWXnvtvPnmm5kwYUL23Xff3HLLLenatWvV49WUGTNmZPLkydl///0zatSoPPnkkzn99NPTqVOnDBs2rOrxatZdd92V9957T8bQCum2LU+3LUe3LUO3LUe3rYZuC62XbtvydNtydNsydNtydNtq1Hq3tahAmzN69Og899xzufrqq6sepWatvfbauemmm/Lee+/lN7/5TY477rhceeWVSm8zmzlzZsaOHZuJEydmiSWWqHqcmvb3t3rs06dPBg0alK233jq333579txzzwonqz0NDQ3p379/jjrqqCRJ375989xzz+Waa66p2TK2OLjhhhuy5ZZbZuWVV656FOBz0m1bnm5bhm5bjm5bjm5bDd0WWi/dtuXptmXotuXotuXottWo9W7rqx9oU8aMGZN77703l19+eVZZZZWqx6lZnTt3zpprrpn+/fvnhz/8Yfr06ZNf/OIXVY9Vc6ZOnZpZs2Zljz32SN++fdO3b988/PDDueKKK9K3b98sWrSo6hFr1rLLLpu11lor06dPr3qUmrPiiiumd+/eTR5bZ5113LKtBb3yyit54IEH8o1vfKPqUYDPSbctQ7ctQ7etjm7bcnTb8nRbaL102zJ02zJ02+roti1Hty2vLXRbd1SgTWhoaMhpp52WO++8M1dccUVWX331qkdqU+rr6zN//vyqx6g5m2yySW655ZYmj51wwglZZ5118t3vfjcdOnSoaLLaN2fOnMyYMSMrrrhi1aPUnPXXXz/Tpk1r8tiLL76YVVddtaKJat+NN96YHj16ZKuttqp6FOAz0m2rpdu2DN22Orpty9Fty9NtofXRbaul27YM3bY6um3L0W3Lawvd1qJCxebMmdNks+vll1/OM888k27duqVXr14VTlZbRo8enVtvvTUXXnhhll566bz55ptJkmWWWSZLLrlkxdPVlnPPPTdbbrllevbsmTlz5uTWW2/Nww8/nMsuu6zq0WpO165dP/Z9fV26dMlyyy3ne/ya2VlnnZWtt946vXr1yhtvvJHx48enffv22XnnnasereZ8+9vfzogRI/Lzn/88O+64Y5544olcd911GTNmTNWj1aT6+vrceOON2X333dOxo1rIF6fblqHblqPblqPblqPblqPblqXb0tx02zJ023J023J023J023J027LaSret3U/WSjz11FPZb7/9Gn8eN25ckmTYsGE588wzqxqr5kyePDlJMnLkyCaPjxs3LnvssUcVI9WsWbNm5bjjjssbb7yRZZZZJnV1dbnsssuy+eabVz0a/NNee+21HHXUUXnnnXfSvXv3bLDBBrnuuuvSvXv3qkerOQMHDsxPf/rTnHfeeZkwYUJWW221nHjiidl1112rHq0mPfDAA3n11VczfPjwqkehRui2Zei25ei21CLdthzdtizdluam25ah25aj21KLdNtydNuy2kq3bdfQ0NBQ9RAAAAAAAAAAQNvQvuoBAAAAAAAAAIC2w6ICAAAAAAAAAFCMRQUAAAAAAAAAoBiLCgAAAAAAAABAMRYVAAAAAAAAAIBiLCoAAAAAAAAAAMVYVAAAAAAAAAAAirGoAAAAAAAAAAAUY1EBoJU5/vjjc+ihhzb+PHLkyIwdO7b4HA899FDq6ury7rvvFv/dAADUBt0WAIBaodsCfD4dqx4AoFYcf/zxmTJlSpKkU6dO6dmzZ3bbbbeMGjUqHTu23Ol2/Pjxn/n9H3rooey333555JFHsuyyy7bYTAAAtG66LQAAtUK3BVg8WVQAaEZf/epXM27cuMyfPz/33XdfxowZk06dOuV73/tek9fNnz8/nTt3bpbfudxyyzXL+wAAwN/TbQEAqBW6LcDix6ICQDPq3LlzVlxxxSTJPvvsk7vuuiv33HNPpk2blnfffTcDBgzIVVddlc6dO+eee+7JzJkzc+aZZ+b+++9P+/bts8EGG+Skk07KaqutliRZtGhRzj777Nxwww3p0KFDhg8fnoaGhia/c+TIkenTp09OOumkJB+W6fPPPz+33nprZs2alZ49e+bggw/Opptumv322y9JMmTIkCTJsGHDcuaZZ6a+vj6XXHJJrr322rz11ltZa621cuihh2aHHXZo/D333XdfzjjjjMycOTODBg3KsGHDWjxPAACqo9sCAFArdFuAxY9FBYAWtMQSS+Sdd95Jkjz44IPp2rVrJk2alCRZsGBBDjzwwHzlK1/JVVddlY4dO+bCCy/MQQcdlJtvvjmdO3fOxIkTM2XKlJxxxhnp3bt3Jk6cmDvvvDObbLLJp/7OY489No899lhOPvnk9OnTJy+//HJmz56dnj17Zvz48TniiCNyxx13pGvXrllyySWTJBdddFFuvvnmjB49OmuttVYeeeSRHHPMMenevXs22mijzJw5M4cffnj23XfffPOb38xTTz2Vs846q8XzAwBg8aHbAgBQK3RbgOpZVABoAQ0NDXnwwQfz+9//Pt/61rcye/bsdOnSJaeffnrjrcN+9atfpb6+PmPHjk27du2SJOPGjcuQIUPy8MMPZ4sttsjll1+egw8+ONttt12SZPTo0fn973//qb932rRpuf322zNp0qRsttlmSZLVV1+98flu3bolSXr06NH4XWfz58/PRRddlEmTJmXw4MGN/88f/vCHXHvttdloo40yefLkrLHGGjn++OOTJOuss07+/Oc/55JLLmnO2AAAWAzptgAA1ArdFmDxYVEBoBnde++9GTx4cBYsWJCGhobsvPPOOeKIIzJmzJisu+66Tb7f7Nlnn8306dOz/vrrN3mPDz74INOnT897772XN998M4MGDWp8rmPHjunfv//HbiP2N88880w6dOjQeIuwz+Kll17KvHnzcsABBzR5fMGCBVlvvfWSJM8//3wGDhzY5PmvfOUrn/l3AADQ+ui2AADUCt0WYPFjUQGgGW288cY59dRT06lTp6y00krp2PGj0+xSSy3V5LVz585Nv379cs4553zsfbp37/5P/f6/3RLs85g7d26SD28jtvLKKzd57u8LOgAAbYtuCwBArdBtARY/FhUAmtFSSy2VNddc8zO9tl+/frn99tvTo0ePdO3a9RNfs+KKK+bxxx9v3LRduHBhpk6dmr59+37i69ddd93U19fnkUceabyF2N/r1KlTkmTRokWNj/Xu3TudO3fOq6++mo022ugT37d379655557mjz2+OOP/+MPCQBAq6XbAgBQK3RbgMVP+6oHAGirdtlllyy//PI55JBD8uijj2bGjBl56KGHcvrpp+e1115Lkuy333655JJLctddd+X555/P6NGj8+67737qe6622moZNmxYTjzxxNx1112N7/nrX/86SbLqqqumXbt2uffee/P2229nzpw56dq1aw444ICMGzcuU6ZMyfTp0zN16tRcccUVmTJlSpJk7733zosvvpizzjorL7zwQm655ZbG5wAAQLcFAKBW6LYAZVhUAKjIUkstlSuvvDK9evXK4Ycfnp122iknnXRSPvjgg8ZN3QMOOCC77rprjjvuuOy9995Zeuml8/Wvf/1/fd9TTz0122+/fU499dTsuOOO+dGPfpR58+YlSVZeeeUcccQROffcc7PZZpvltNNOS5L84Ac/yKGHHpqLLrooO+20Uw466KDce++9WW211ZIkvXr1yvjx43P33Xdnt912yzXXXJMjjzyyBdMBAKA10W0BAKgVui1AGe0aGhoaqh4CAAAAAAAAAGgb3FEBAAAAAAAAACjGogIAAAAAAAAAUIxFBQAAAAAAAACgGIsKAAAAAAAAAEAxFhUAAAAAAAAAgGIsKgAAAAAAAAAAxVhUAAAAAAAAAACKsagAAAAAAAAAABRjUQEAAAAAAAAAKMaiAgAAAAAAAABQjEUFAAAAAAAAAKAYiwoAAAAAAAAAQDH/H0mlEN4RqPp+AAAAAElFTkSuQmCC\n"
- },
- "metadata": {}
- },
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "Saved confusion matrix figure: /content/drive/My Drive/Classification/baseline/results/training_plots/confusion_matrices_side_by_side.png\n",
- "All training plots saved to: /content/drive/My Drive/Classification/baseline/results/training_plots\n"
- ]
- }
- ],
- "source": [
- "# Calibration proxy chart (lower is better for all three metrics)\n",
- "fig, ax = plt.subplots(figsize=(12, 5))\n",
- "calib_cols = [\"test_nll\", \"test_brier\", \"test_ece_15bin\"]\n",
- "calib_df = plot_df[[\"model\"] + calib_cols].set_index(\"model\")\n",
- "calib_df.plot(kind=\"bar\", ax=ax, rot=0)\n",
- "ax.set_title(\"Uncertainty Proxy Metrics (Lower is Better)\")\n",
- "ax.set_ylabel(\"Metric Value\")\n",
- "ax.grid(axis=\"y\", alpha=0.25)\n",
- "plt.tight_layout()\n",
- "calib_path = PLOT_DIR / \"uncertainty_proxy_metrics.png\"\n",
- "plt.savefig(calib_path, dpi=200, bbox_inches=\"tight\")\n",
- "plt.show()\n",
- "\n",
- "# Side-by-side confusion matrices\n",
- "class_ticks = [str(i + 1) for i in range(num_classes)]\n",
- "fig, axes = plt.subplots(1, len(model_artifacts), figsize=(7 * len(model_artifacts), 5.5))\n",
- "if len(model_artifacts) == 1:\n",
- " axes = [axes]\n",
- "\n",
- "for ax, (model_name, artifact) in zip(axes, model_artifacts.items()):\n",
- " sns.heatmap(\n",
- " artifact[\"confusion_matrix\"],\n",
- " annot=True, fmt=\"d\", cmap=\"Blues\",\n",
- " xticklabels=class_ticks, yticklabels=class_ticks,\n",
- " cbar=False, ax=ax,\n",
- " )\n",
- " ax.set_title(f\"{model_name} Confusion Matrix\")\n",
- " ax.set_xlabel(\"Predicted\")\n",
- " ax.set_ylabel(\"True\")\n",
- "\n",
- "plt.tight_layout()\n",
- "cm_path = PLOT_DIR / \"confusion_matrices_side_by_side.png\"\n",
- "plt.savefig(cm_path, dpi=220, bbox_inches=\"tight\")\n",
- "plt.show()\n",
- "print(\"Saved confusion matrix figure:\", cm_path)\n",
- "print(\"All training plots saved to:\", PLOT_DIR)"
- ],
- "id": "phhOi46JHlSL"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "ex6QMOFUHlSL"
- },
- "source": [
- "# 8.0 \u2014 Scene Visualisation\n",
- "Load the saved best models, run dense patch-by-patch inference over the entire scene, and save classified maps as PNGs and an Excel workbook."
- ],
- "id": "ex6QMOFUHlSL"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "9BodaFwjHlSL"
- },
- "source": [
- "## 8.1 \u2014 Visualisation helpers"
- ],
- "id": "9BodaFwjHlSL"
- },
- {
- "cell_type": "code",
- "execution_count": 21,
- "metadata": {
- "id": "TwWPFX2tHlSL",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779849698644,
- "user_tz": -330,
- "elapsed": 7,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- }
- },
- "outputs": [],
- "source": [
- "CUSTOM_OBJECTS = {\n",
- " \"PatchExtractor\": PatchExtractor,\n",
- " \"PatchPositionEncoder\": PatchPositionEncoder,\n",
- " \"GlobalFilterLayer\": GlobalFilterLayer,\n",
- " \"PatchEncoderWithCLS\": PatchEncoderWithCLS,\n",
- "}\n",
- "\n",
- "\n",
- "def get_scene_rgb(x_img, bands):\n",
- " \"\"\"Select three bands as an approximate RGB composite; clip to [0, 1].\"\"\"\n",
- " if bands >= 6:\n",
- " rgb_idx = [bands // 2 - 1, bands // 2, bands // 2 + 1]\n",
- " elif bands >= 3:\n",
- " rgb_idx = [0, 1, 2]\n",
- " else:\n",
- " raise ValueError(f\"Need at least 3 bands to form RGB, got {bands}.\")\n",
- " return np.clip(x_img[:, :, rgb_idx], 0.0, 1.0)\n",
- "\n",
- "\n",
- "def get_display_cmap(num_classes):\n",
- " \"\"\"Build a ListedColormap: index 0 = background black, 1..K = class colours.\"\"\"\n",
- " return ListedColormap([BACKGROUND_COLOR] + get_class_colors(num_classes))\n",
- "\n",
- "\n",
- "def predict_full_scene_labels(model, x_img, patch_size=9, batch_size=256):\n",
- " \"\"\"Run dense sliding-window inference row-by-row; returns a (H, W) label map.\"\"\"\n",
- " pad = patch_size // 2\n",
- " x_pad = np.pad(x_img, ((pad, pad), (pad, pad), (0, 0)), mode=\"edge\")\n",
- " preds = np.zeros((x_img.shape[0], x_img.shape[1]), dtype=np.int32)\n",
- "\n",
- " for r in range(x_img.shape[0]):\n",
- " row_patches = np.empty(\n",
- " (x_img.shape[1], patch_size, patch_size, x_img.shape[-1]),\n",
- " dtype=np.float32,\n",
- " )\n",
- " for c in range(x_img.shape[1]):\n",
- " row_patches[c] = x_pad[r:r + patch_size, c:c + patch_size, :]\n",
- "\n",
- " row_prob = model.predict(row_patches, batch_size=batch_size, verbose=0)\n",
- " preds[r] = np.argmax(row_prob, axis=1) + 1 # back to 1..K\n",
- "\n",
- " return preds\n",
- "\n",
- "\n",
- "def load_saved_models_for_visualization(model_dir, custom_objects):\n",
- " \"\"\"Attempt to load all three best models; return dicts of loaded and missing.\"\"\"\n",
- " model_files = {\n",
- " \"AlexNet_CNN\": model_dir / \"AlexNet_CNN_best.keras\",\n",
- " \"GFNet\": model_dir / \"GFNet_best.keras\",\n",
- " \"ViT_UNet\": model_dir / \"ViT_UNet_best.keras\",\n",
- " }\n",
- " loaded, missing = {}, {}\n",
- " for model_key, model_path in model_files.items():\n",
- " if not model_path.exists():\n",
- " missing[model_key] = f\"Missing file: {model_path}\"\n",
- " continue\n",
- " try:\n",
- " loaded[model_key] = keras.models.load_model(\n",
- " model_path, custom_objects=custom_objects,\n",
- " compile=False, safe_mode=False,\n",
- " )\n",
- " except Exception as exc:\n",
- " missing[model_key] = f\"Load failed: {exc}\"\n",
- " return loaded, missing\n",
- "\n",
- "\n",
- "def save_single_panel(image, title, save_path, cmap=None, vmin=None, vmax=None):\n",
- " \"\"\"Save a single image panel as a high-DPI PNG.\"\"\"\n",
- " fig, ax = plt.subplots(figsize=(8, 6))\n",
- " if cmap is None:\n",
- " ax.imshow(image)\n",
- " else:\n",
- " ax.imshow(image, cmap=cmap, vmin=vmin, vmax=vmax)\n",
- " ax.set_title(title, fontsize=14)\n",
- " ax.axis(\"off\")\n",
- " fig.tight_layout()\n",
- " fig.savefig(save_path, dpi=220, bbox_inches=\"tight\")\n",
- " plt.show()\n",
- " plt.close(fig)\n",
- " print(\"Saved:\", save_path)\n",
- "\n",
- "\n",
- "def save_combined_overview(rgb_image, y_true, pred_maps, missing_info, num_classes, save_path):\n",
- " \"\"\"Save a five-panel side-by-side overview: RGB, GT, and one panel per model.\"\"\"\n",
- " cmap = get_display_cmap(num_classes)\n",
- " panels = [\n",
- " (\"Approximate RGB\", rgb_image, \"rgb\"),\n",
- " (\"True Label Map\", y_true, \"label\"),\n",
- " (\"AlexNet Initial Classification\", pred_maps.get(\"AlexNet_CNN\"), \"label\"),\n",
- " (\"GFNet Initial Classification\", pred_maps.get(\"GFNet\"), \"label\"),\n",
- " (\"ViT Initial Classification\", pred_maps.get(\"ViT_UNet\"), \"label\"),\n",
- " ]\n",
- "\n",
- " fig, axes = plt.subplots(1, len(panels), figsize=(30, 7), sharex=True, sharey=True)\n",
- " for ax, (title, img, kind) in zip(axes, panels):\n",
- " ax.set_title(title, fontsize=13)\n",
- " if kind == \"rgb\":\n",
- " ax.imshow(img)\n",
- " elif img is None:\n",
- " ax.imshow(np.zeros_like(y_true), cmap=cmap, vmin=0, vmax=num_classes)\n",
- " key = {\"AlexNet\": \"AlexNet_CNN\", \"GFNet\": \"GFNet\", \"ViT\": \"ViT_UNet\"}.get(\n",
- " next((k for k in (\"AlexNet\", \"GFNet\", \"ViT\") if k in title), None)\n",
- " )\n",
- " ax.text(0.5, 0.5, missing_info.get(key, \"Unavailable\"),\n",
- " ha=\"center\", va=\"center\", fontsize=10, wrap=True, transform=ax.transAxes)\n",
- " else:\n",
- " ax.imshow(img, cmap=cmap, vmin=0, vmax=num_classes)\n",
- " ax.axis(\"off\")\n",
- "\n",
- " handles = [plt.Rectangle((0, 0), 1, 1, color=BACKGROUND_COLOR, label=\"Background\")]\n",
- " class_colors = get_class_colors(num_classes)\n",
- " for i in range(num_classes):\n",
- " handles.append(plt.Rectangle((0, 0), 1, 1, color=class_colors[i], label=f\"Class {i+1}\"))\n",
- " fig.legend(handles=handles, loc=\"lower center\", ncol=min(num_classes + 1, 8),\n",
- " bbox_to_anchor=(0.5, -0.02), frameon=True)\n",
- " fig.tight_layout(rect=[0, 0.05, 1, 1])\n",
- " fig.savefig(save_path, dpi=220, bbox_inches=\"tight\")\n",
- " plt.show()\n",
- " plt.close(fig)\n",
- " print(\"Saved:\", save_path)\n",
- "\n",
- "\n",
- "def save_images_to_excel(excel_path, image_paths, sheet_name=\"Initial_Classification_Maps\"):\n",
- " \"\"\"Embed PNG images into an Excel workbook at fixed anchor positions.\"\"\"\n",
- " if excel_path.exists():\n",
- " wb = load_workbook(excel_path)\n",
- " if sheet_name in wb.sheetnames:\n",
- " del wb[sheet_name]\n",
- " ws = wb.create_sheet(title=sheet_name)\n",
- " else:\n",
- " wb = Workbook()\n",
- " ws = wb.active\n",
- " ws.title = sheet_name\n",
- "\n",
- " anchors = [\"A1\", \"J1\", \"A25\", \"J25\", \"A49\", \"J49\"]\n",
- " for path, anchor in zip(image_paths, anchors):\n",
- " if path.exists():\n",
- " img = XLImage(str(path))\n",
- " img.anchor = anchor\n",
- " ws.add_image(img)\n",
- "\n",
- " wb.save(excel_path)\n",
- " print(\"Saved Excel workbook:\", excel_path)"
- ],
- "id": "TwWPFX2tHlSL"
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "CVcpPHFDHlSL"
- },
- "source": [
- "## 8.2 \u2014 Generate and save all scene maps"
- ],
- "id": "CVcpPHFDHlSL"
- },
- {
- "cell_type": "code",
- "execution_count": 22,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 1000,
- "output_embedded_package_id": "1DJHNEIlDpDWzbKv2iV9BZtejaBOEpeqS"
- },
- "id": "UgIq3PXEHlSL",
- "executionInfo": {
- "status": "ok",
- "timestamp": 1779849860619,
- "user_tz": -330,
- "elapsed": 161973,
- "user": {
- "displayName": "Big Story",
- "userId": "07276682490797804347"
- }
- },
- "outputId": "6f74aaae-9c43-41eb-e2bc-99948829fa7e"
- },
- "outputs": [
- {
- "output_type": "display_data",
- "data": {
- "text/plain": "Output hidden; open in https://colab.research.google.com to view."
- },
- "metadata": {}
- }
- ],
- "source": [
- "scene_rgb = get_scene_rgb(x_img, B)\n",
- "display_cmap = get_display_cmap(num_classes)\n",
- "\n",
- "loaded_models, missing_models = load_saved_models_for_visualization(MODEL_DIR, CUSTOM_OBJECTS)\n",
- "prediction_maps = {}\n",
- "\n",
- "for model_key, loaded_model in loaded_models.items():\n",
- " print(f\"Generating full-scene classified image for {model_key}...\")\n",
- " prediction_maps[model_key] = predict_full_scene_labels(\n",
- " loaded_model, x_img, patch_size=PATCH_SIZE, batch_size=BATCH_SIZE,\n",
- " )\n",
- " print(f\"{model_key} map shape:\", prediction_maps[model_key].shape)\n",
- "\n",
- "if missing_models:\n",
- " print(\"Some models could not be loaded:\")\n",
- " for model_key, reason in missing_models.items():\n",
- " print(f\" - {model_key}: {reason}\")\n",
- "\n",
- "# Individual PNG paths\n",
- "rgb_png = VIS_DIR / \"scene_rgb.png\"\n",
- "gt_png = VIS_DIR / \"ground_truth_label_map.png\"\n",
- "alex_png = VIS_DIR / \"AlexNet_CNN_initial_classification.png\"\n",
- "gfnet_png = VIS_DIR / \"GFNet_initial_classification.png\"\n",
- "vit_png = VIS_DIR / \"ViT_UNet_initial_classification.png\"\n",
- "overview_png = VIS_DIR / \"combined_initial_classification_overview.png\"\n",
- "\n",
- "save_single_panel(scene_rgb, \"Approximate RGB\", rgb_png)\n",
- "save_single_panel(y_img, \"Ground Truth Label Map\", gt_png, cmap=display_cmap, vmin=0, vmax=num_classes)\n",
- "\n",
- "if prediction_maps.get(\"AlexNet_CNN\") is not None:\n",
- " save_single_panel(prediction_maps[\"AlexNet_CNN\"], \"AlexNet Initial Classification\",\n",
- " alex_png, cmap=display_cmap, vmin=0, vmax=num_classes)\n",
- "\n",
- "if prediction_maps.get(\"GFNet\") is not None:\n",
- " save_single_panel(prediction_maps[\"GFNet\"], \"GFNet Initial Classification\",\n",
- " gfnet_png, cmap=display_cmap, vmin=0, vmax=num_classes)\n",
- "\n",
- "if prediction_maps.get(\"ViT_UNet\") is not None:\n",
- " save_single_panel(prediction_maps[\"ViT_UNet\"], \"ViT Initial Classification\",\n",
- " vit_png, cmap=display_cmap, vmin=0, vmax=num_classes)\n",
- "\n",
- "save_combined_overview(\n",
- " rgb_image=scene_rgb, y_true=y_img, pred_maps=prediction_maps,\n",
- " missing_info=missing_models, num_classes=num_classes, save_path=overview_png,\n",
- ")\n",
- "\n",
- "image_paths_for_excel = [rgb_png, gt_png, alex_png, gfnet_png, vit_png, overview_png]\n",
- "save_images_to_excel(VIS_EXCEL_PATH, image_paths_for_excel, sheet_name=\"Initial_Classification_Maps\")\n",
- "\n",
- "print(\"All visualisation outputs saved to:\", VIS_DIR)"
- ],
- "id": "UgIq3PXEHlSL"
- }
- ]
-}
\ No newline at end of file