1462 lines
111 KiB
Plaintext
1462 lines
111 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Hypertower Repro Pipeline\n",
|
||
"\n",
|
||
"This notebook documents the full run sequence used to reproduce current results."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 0) Environment + Paths\n",
|
||
"\n",
|
||
"- Activate `fundus_imaging` environment\n",
|
||
"- Run from repo root\n",
|
||
"- Confirm data paths:\n",
|
||
" - `Papila/FundusImages`\n",
|
||
" - `Papila/ClinicalData`\n",
|
||
" - `Papila/ExpertsSegmentations`"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "mzehoci23f",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Working directory: /home/rpotter/hypertower\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import os\n",
|
||
"from pathlib import Path\n",
|
||
"\n",
|
||
"# Walk up from cwd until we find the repo root (identified by presence of classes/v2/)\n",
|
||
"def find_repo_root(marker=\"classes/v2\"):\n",
|
||
" p = Path.cwd()\n",
|
||
" for candidate in [p, *p.parents]:\n",
|
||
" if (candidate / marker).exists():\n",
|
||
" return candidate\n",
|
||
" raise RuntimeError(f\"Could not find repo root (looked for '{marker}' starting from {p})\")\n",
|
||
"\n",
|
||
"os.chdir(find_repo_root())\n",
|
||
"print(\"Working directory:\", Path.cwd())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Papila/FundusImages: OK\n",
|
||
"Papila/ClinicalData: OK\n",
|
||
"Papila/ExpertsSegmentations: OK\n",
|
||
"REFUGE: OK\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from pathlib import Path\n",
|
||
"\n",
|
||
"required = [\n",
|
||
" Path(\"Papila/FundusImages\"),\n",
|
||
" Path(\"Papila/ClinicalData\"),\n",
|
||
" Path(\"Papila/ExpertsSegmentations\"),\n",
|
||
" Path(\"REFUGE\"),\n",
|
||
"]\n",
|
||
"for p in required:\n",
|
||
" print(f\"{p}:\", \"OK\" if p.exists() else \"MISSING\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 1) Build UNet Manifest"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Manifest saved to manifest.csv with 2088 entries\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"!python3 scripts/main/refuge/build_manifest.py --output manifest.csv"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 2) Train UNet Segmenter (per-image normalization)\n",
|
||
"\n",
|
||
"Current tuned baseline:\n",
|
||
"- `--device cuda`\n",
|
||
"- `--batch-size 8`\n",
|
||
"- `--loader-workers 14`\n",
|
||
"- `--in-memory-cache`\n",
|
||
"- `--cache-workers 4`"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[UNet] device=cuda (cuda_available=True, workers=14)\n",
|
||
"[UNet] gpu=AMD Radeon RX 7800 XT\n",
|
||
"[UNet] in_memory_cache=enabled (note: memory use scales with loader workers)\n",
|
||
"[UNetSegmenter] prebuilding in-memory cache for 1600 samples (cache_workers=4)\n",
|
||
"Warm cache: 2%|▌ | 39/1600 [00:01<00:51, 30.28sample/s]\n",
|
||
"^C\n",
|
||
"Traceback (most recent call last):\n",
|
||
" File \"/home/rpotter/hypertower/classes/unet_segmenter.py\", line 219, in prebuild_in_memory_cache\n",
|
||
" for fut in tqdm(as_completed(futures), total=len(futures), desc=\"Warm cache\", unit=\"sample\"):\n",
|
||
" File \"/home/rpotter/miniconda3/envs/fundus_imaging/lib/python3.12/site-packages/tqdm/std.py\", line 1181, in __iter__\n",
|
||
" for obj in iterable:\n",
|
||
" File \"/home/rpotter/miniconda3/envs/fundus_imaging/lib/python3.12/concurrent/futures/_base.py\", line 243, in as_completed\n",
|
||
" waiter.event.wait(wait_timeout)\n",
|
||
" File \"/home/rpotter/miniconda3/envs/fundus_imaging/lib/python3.12/threading.py\", line 655, in wait\n",
|
||
" signaled = self._cond.wait(timeout)\n",
|
||
" ^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
||
" File \"/home/rpotter/miniconda3/envs/fundus_imaging/lib/python3.12/threading.py\", line 355, in wait\n",
|
||
" waiter.acquire()\n",
|
||
"KeyboardInterrupt\n",
|
||
"\n",
|
||
"During handling of the above exception, another exception occurred:\n",
|
||
"\n",
|
||
"Traceback (most recent call last):\n",
|
||
" File \"/home/rpotter/hypertower/scripts/main/refuge/run_unet_segmenter.py\", line 156, in <module>\n",
|
||
" main()\n",
|
||
" File \"/home/rpotter/hypertower/scripts/main/refuge/run_unet_segmenter.py\", line 116, in main\n",
|
||
" segmenter.prebuild_in_memory_cache(\n",
|
||
" File \"/home/rpotter/hypertower/classes/unet_segmenter.py\", line 217, in prebuild_in_memory_cache\n",
|
||
" with ThreadPoolExecutor(max_workers=workers) as ex:\n",
|
||
" File \"/home/rpotter/miniconda3/envs/fundus_imaging/lib/python3.12/concurrent/futures/_base.py\", line 647, in __exit__\n",
|
||
" self.shutdown(wait=True)\n",
|
||
" File \"/home/rpotter/miniconda3/envs/fundus_imaging/lib/python3.12/concurrent/futures/thread.py\", line 238, in shutdown\n",
|
||
" t.join()\n",
|
||
" File \"/home/rpotter/miniconda3/envs/fundus_imaging/lib/python3.12/threading.py\", line 1147, in join\n",
|
||
" self._wait_for_tstate_lock()\n",
|
||
" File \"/home/rpotter/miniconda3/envs/fundus_imaging/lib/python3.12/threading.py\", line 1167, in _wait_for_tstate_lock\n",
|
||
" if lock.acquire(block, timeout):\n",
|
||
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
||
"KeyboardInterrupt\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"!python3 scripts/main/refuge/run_unet_segmenter.py \\\n",
|
||
" --manifest manifest.csv \\\n",
|
||
" --train --evaluate \\\n",
|
||
" --normalize per_image \\\n",
|
||
" --train-datasets refuge --val-datasets refuge --holdout-datasets refuge \\\n",
|
||
" --epochs 40 --batch-size 8 \\\n",
|
||
" --device cuda --loader-workers 14 \\\n",
|
||
" --in-memory-cache --cache-workers 4 \\\n",
|
||
" --checkpoint-dir models/v2/refuge/segmentation/per_image \\\n",
|
||
" --eval-output analysis_data/segmenter_eval/v2_refuge_per_image \\\n",
|
||
" --eval-metrics-path analysis_data/segmenter_eval/v2_refuge_per_image/metrics.csv"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "l015x7js5e",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 3) Image-Only Baseline\n",
|
||
"\n",
|
||
"Single-eye CNN with no metadata input (`--bridge-mode image_only`) across three crop strategies. \n",
|
||
"Isolates the image tower's standalone contribution. \n",
|
||
"Outputs under `analysis_data/pipeline_imgonly_{nocrop,gt,unet}/`."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "rxe51x7s1y",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[imgonly] pipeline_imgonly_nocrop/binary already complete — skipping.\n",
|
||
"[imgonly] pipeline_imgonly_nocrop/multiclass already complete — skipping.\n",
|
||
"[imgonly] pipeline_imgonly_gt/binary already complete — skipping.\n",
|
||
"[imgonly] pipeline_imgonly_gt/multiclass already complete — skipping.\n",
|
||
"[imgonly] pipeline_imgonly_unet/binary already complete — skipping.\n",
|
||
"[imgonly] pipeline_imgonly_unet/multiclass already complete — skipping.\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import subprocess\n",
|
||
"from pathlib import Path\n",
|
||
"\n",
|
||
"COMMON = [\n",
|
||
" \"--tower-mode\", \"single\",\n",
|
||
" \"--epochs\", \"40\",\n",
|
||
" \"--n-splits\", \"5\",\n",
|
||
" \"--backbone\", \"refugelike\",\n",
|
||
" \"--bridge-mode\", \"image_only\",\n",
|
||
" \"--single-warmup-tower-epochs\", \"4\",\n",
|
||
" \"--single-warmup-fused-epochs\", \"0\",\n",
|
||
" \"--img-crop-manifest\", \"manifest.csv\",\n",
|
||
"]\n",
|
||
"RUNS = [\n",
|
||
" (\"pipeline_imgonly_nocrop\", \"binary\", []),\n",
|
||
" (\"pipeline_imgonly_nocrop\", \"multiclass\", []),\n",
|
||
" (\"pipeline_imgonly_gt\", \"binary\", [\"--img-crop-gt\"]),\n",
|
||
" (\"pipeline_imgonly_gt\", \"multiclass\", [\"--img-crop-gt\"]),\n",
|
||
" (\"pipeline_imgonly_unet\", \"binary\", [\"--img-crop-weights\",\n",
|
||
" \"models/v2/refuge/segmentation/per_image/best.pt\"]),\n",
|
||
" (\"pipeline_imgonly_unet\", \"multiclass\", [\"--img-crop-weights\",\n",
|
||
" \"models/v2/refuge/segmentation/per_image/best.pt\"]),\n",
|
||
"]\n",
|
||
"\n",
|
||
"for run_name, eval_mode, extra in RUNS:\n",
|
||
" tm_dir = Path(\"analysis_data\") / run_name / eval_mode / \"single\"\n",
|
||
" if (tm_dir / \"summary.json\").exists():\n",
|
||
" print(f\"[imgonly] {run_name}/{eval_mode} already complete — skipping.\")\n",
|
||
" continue\n",
|
||
" print(f\"[imgonly] Running {run_name}/{eval_mode} ...\")\n",
|
||
" subprocess.run([\n",
|
||
" \"python\", \"scripts/main/v2/run_multifold_v2.py\",\n",
|
||
" \"--run-name\", run_name,\n",
|
||
" \"--eval-mode\", eval_mode,\n",
|
||
" *COMMON, *extra,\n",
|
||
" ], check=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "fdlshq9xgd4",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 4) MD-Only Baseline\n",
|
||
"\n",
|
||
"Metadata-only MLP for 50, 200, and 500 epochs (binary + multiclass). \n",
|
||
"Establishes the ceiling of what clinical features alone can achieve. \n",
|
||
"Outputs under `analysis_data/pipeline_mdonly_{50,200,500}ep/`."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "iszo0mnqsci",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[mdonly] Running pipeline_mdonly_50ep/binary (50 epochs) ...\n",
|
||
"Device: cuda\n",
|
||
"Loading PAPILA data...\n",
|
||
"Loaded: 488 rows feature_dim=25\n",
|
||
"[binary] rows=420\n",
|
||
"\n",
|
||
"[fold 1/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=54\n",
|
||
" ep 1/54 [tower_warmup:0/50] loss=0.5988 acc=0.7656 val_auc=0.2370 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/54 [main:6/50] loss=0.4603 acc=0.8094 val_auc=0.6775 val_acc=0.8250 best_auc=0.6775\n",
|
||
" ep 20/54 [main:16/50] loss=0.4198 acc=0.8219 val_auc=0.7662 val_acc=0.8250 best_auc=0.7662\n",
|
||
" ep 30/54 [main:26/50] loss=0.3825 acc=0.8469 val_auc=0.7587 val_acc=0.8500 best_auc=0.7695\n",
|
||
" ep 40/54 [main:36/50] loss=0.3610 acc=0.8469 val_auc=0.7413 val_acc=0.8500 best_auc=0.7695\n",
|
||
" ep 50/54 [main:46/50] loss=0.3039 acc=0.8812 val_auc=0.7381 val_acc=0.8375 best_auc=0.7695\n",
|
||
" ep 54/54 [main:50/50] loss=0.3169 acc=0.8750 val_auc=0.7435 val_acc=0.8375 best_auc=0.7695\n",
|
||
" [fold 1] best_epoch=25 best_auc=0.7695 val_auc=0.7695 val_acc=0.8375 hld_auc=0.5800 hld_acc=0.5000\n",
|
||
"\n",
|
||
"[fold 2/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=54\n",
|
||
" ep 1/54 [tower_warmup:0/50] loss=0.5964 acc=0.8063 val_auc=0.4177 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/54 [main:6/50] loss=0.4601 acc=0.8063 val_auc=0.5920 val_acc=0.8250 best_auc=0.5920\n",
|
||
" ep 20/54 [main:16/50] loss=0.4066 acc=0.8250 val_auc=0.6461 val_acc=0.8375 best_auc=0.6461\n",
|
||
" ep 30/54 [main:26/50] loss=0.3487 acc=0.8469 val_auc=0.6537 val_acc=0.8625 best_auc=0.6580\n",
|
||
" ep 40/54 [main:36/50] loss=0.3416 acc=0.8656 val_auc=0.6634 val_acc=0.8625 best_auc=0.6634\n",
|
||
" ep 50/54 [main:46/50] loss=0.3135 acc=0.8719 val_auc=0.6656 val_acc=0.8625 best_auc=0.6667\n",
|
||
" ep 54/54 [main:50/50] loss=0.3103 acc=0.8562 val_auc=0.6656 val_acc=0.8625 best_auc=0.6667\n",
|
||
" [fold 2] best_epoch=47 best_auc=0.6667 val_auc=0.6667 val_acc=0.8625 hld_auc=0.5000 hld_acc=0.5000\n",
|
||
"\n",
|
||
"[fold 3/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=54\n",
|
||
" ep 1/54 [tower_warmup:0/50] loss=0.5475 acc=0.8031 val_auc=0.4762 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/54 [main:6/50] loss=0.4553 acc=0.8031 val_auc=0.6623 val_acc=0.8250 best_auc=0.6623\n",
|
||
" ep 20/54 [main:16/50] loss=0.4149 acc=0.8187 val_auc=0.7294 val_acc=0.8500 best_auc=0.7294\n",
|
||
" ep 30/54 [main:26/50] loss=0.3846 acc=0.8500 val_auc=0.7933 val_acc=0.8625 best_auc=0.7933\n",
|
||
" ep 40/54 [main:36/50] loss=0.3680 acc=0.8531 val_auc=0.8052 val_acc=0.8750 best_auc=0.8084\n",
|
||
" ep 50/54 [main:46/50] loss=0.3459 acc=0.8531 val_auc=0.7911 val_acc=0.9125 best_auc=0.8084\n",
|
||
" ep 54/54 [main:50/50] loss=0.3489 acc=0.8406 val_auc=0.7846 val_acc=0.9125 best_auc=0.8084\n",
|
||
" [fold 3] best_epoch=37 best_auc=0.8084 val_auc=0.8084 val_acc=0.8625 hld_auc=0.7100 hld_acc=0.4500\n",
|
||
"\n",
|
||
"[fold 4/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=54\n",
|
||
" ep 1/54 [tower_warmup:0/50] loss=0.5713 acc=0.8063 val_auc=0.4903 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/54 [main:6/50] loss=0.4369 acc=0.8063 val_auc=0.3777 val_acc=0.8250 best_auc=0.4113\n",
|
||
" ep 20/54 [main:16/50] loss=0.3740 acc=0.8375 val_auc=0.3853 val_acc=0.7875 best_auc=0.4113\n",
|
||
" ep 30/54 [main:26/50] loss=0.3242 acc=0.8688 val_auc=0.4113 val_acc=0.7750 best_auc=0.4113\n",
|
||
" ep 40/54 [main:36/50] loss=0.2934 acc=0.8719 val_auc=0.4491 val_acc=0.7750 best_auc=0.4491\n",
|
||
" ep 50/54 [main:46/50] loss=0.2671 acc=0.8906 val_auc=0.4740 val_acc=0.7750 best_auc=0.4740\n",
|
||
" ep 54/54 [main:50/50] loss=0.2551 acc=0.9031 val_auc=0.4784 val_acc=0.7750 best_auc=0.4784\n",
|
||
" [fold 4] best_epoch=54 best_auc=0.4784 val_auc=0.4784 val_acc=0.7750 hld_auc=0.8000 hld_acc=0.5000\n",
|
||
"\n",
|
||
"[fold 5/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=54\n",
|
||
" ep 1/54 [tower_warmup:0/50] loss=0.5481 acc=0.8125 val_auc=0.6017 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/54 [main:6/50] loss=0.4490 acc=0.8125 val_auc=0.7197 val_acc=0.8250 best_auc=0.7197\n",
|
||
" ep 20/54 [main:16/50] loss=0.3940 acc=0.8375 val_auc=0.7792 val_acc=0.8250 best_auc=0.7792\n",
|
||
" ep 30/54 [main:26/50] loss=0.3663 acc=0.8688 val_auc=0.7944 val_acc=0.8125 best_auc=0.7955\n",
|
||
" ep 40/54 [main:36/50] loss=0.3286 acc=0.8656 val_auc=0.7922 val_acc=0.7875 best_auc=0.7955\n",
|
||
" ep 50/54 [main:46/50] loss=0.3239 acc=0.8594 val_auc=0.8030 val_acc=0.8000 best_auc=0.8030\n",
|
||
" ep 54/54 [main:50/50] loss=0.3115 acc=0.8656 val_auc=0.7998 val_acc=0.8000 best_auc=0.8041\n",
|
||
" [fold 5] best_epoch=52 best_auc=0.8041 val_auc=0.8041 val_acc=0.8000 hld_auc=0.5600 hld_acc=0.4500\n",
|
||
"\n",
|
||
"Mean val AUC: 0.7054 ± 0.1245\n",
|
||
"Mean hld AUC: 0.6300 ± 0.1092\n",
|
||
"\n",
|
||
"Outputs written to: analysis_data/pipeline_mdonly_50ep/binary/single\n",
|
||
"[mdonly] Running pipeline_mdonly_50ep/multiclass (50 epochs) ...\n",
|
||
"Device: cuda\n",
|
||
"Loading PAPILA data...\n",
|
||
"Loaded: 488 rows feature_dim=25\n",
|
||
"[multiclass] rows=488\n",
|
||
"\n",
|
||
"[fold 1/5] eye_train_n=366 bilat_val_n=46 holdout_n=15 warmup=2+2 total=54\n",
|
||
" ep 1/54 [tower_warmup:0/50] loss=0.9215 acc=0.7049 val_auc=0.6492 val_acc=0.7174 best_auc=-1.0000\n",
|
||
" ep 10/54 [main:6/50] loss=0.7160 acc=0.7104 val_auc=0.7519 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 20/54 [main:16/50] loss=0.6363 acc=0.7377 val_auc=0.7535 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 30/54 [main:26/50] loss=0.5719 acc=0.7842 val_auc=0.7438 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 40/54 [main:36/50] loss=0.5291 acc=0.8087 val_auc=0.7310 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 50/54 [main:46/50] loss=0.4794 acc=0.8306 val_auc=0.7027 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 54/54 [main:50/50] loss=0.4775 acc=0.8361 val_auc=0.6934 val_acc=0.7391 best_auc=0.7612\n",
|
||
" [fold 1] best_epoch=5 best_auc=0.7612 val_auc=0.7612 val_acc=0.7174 hld_auc=0.4217 hld_acc=0.3333\n",
|
||
"\n",
|
||
"[fold 2/5] eye_train_n=366 bilat_val_n=46 holdout_n=15 warmup=2+2 total=54\n",
|
||
" ep 1/54 [tower_warmup:0/50] loss=0.9416 acc=0.6967 val_auc=0.4703 val_acc=0.7174 best_auc=-1.0000\n",
|
||
" ep 10/54 [main:6/50] loss=0.7288 acc=0.7049 val_auc=0.6768 val_acc=0.7174 best_auc=0.6768\n",
|
||
" ep 20/54 [main:16/50] loss=0.6289 acc=0.7459 val_auc=0.7148 val_acc=0.7065 best_auc=0.7148\n",
|
||
" ep 30/54 [main:26/50] loss=0.5674 acc=0.7896 val_auc=0.7391 val_acc=0.7500 best_auc=0.7403\n",
|
||
" ep 40/54 [main:36/50] loss=0.5347 acc=0.8033 val_auc=0.7321 val_acc=0.7609 best_auc=0.7403\n",
|
||
" ep 50/54 [main:46/50] loss=0.5023 acc=0.8060 val_auc=0.7281 val_acc=0.7609 best_auc=0.7403\n",
|
||
" ep 54/54 [main:50/50] loss=0.4806 acc=0.8142 val_auc=0.7234 val_acc=0.7500 best_auc=0.7403\n",
|
||
" [fold 2] best_epoch=29 best_auc=0.7403 val_auc=0.7403 val_acc=0.7609 hld_auc=0.5500 hld_acc=0.3333\n",
|
||
"\n",
|
||
"[fold 3/5] eye_train_n=366 bilat_val_n=46 holdout_n=15 warmup=2+2 total=54\n",
|
||
" ep 1/54 [tower_warmup:0/50] loss=0.9288 acc=0.6940 val_auc=0.6277 val_acc=0.7174 best_auc=-1.0000\n",
|
||
" ep 10/54 [main:6/50] loss=0.7393 acc=0.7077 val_auc=0.7557 val_acc=0.7174 best_auc=0.7557\n",
|
||
" ep 20/54 [main:16/50] loss=0.6692 acc=0.7240 val_auc=0.7913 val_acc=0.7609 best_auc=0.7913\n",
|
||
" ep 30/54 [main:26/50] loss=0.6241 acc=0.7514 val_auc=0.8358 val_acc=0.7609 best_auc=0.8358\n",
|
||
" ep 40/54 [main:36/50] loss=0.5925 acc=0.7678 val_auc=0.8517 val_acc=0.8152 best_auc=0.8527\n",
|
||
" ep 50/54 [main:46/50] loss=0.5600 acc=0.7923 val_auc=0.8450 val_acc=0.8043 best_auc=0.8540\n",
|
||
" ep 54/54 [main:50/50] loss=0.5472 acc=0.7814 val_auc=0.8433 val_acc=0.8043 best_auc=0.8540\n",
|
||
" [fold 3] best_epoch=42 best_auc=0.8540 val_auc=0.8540 val_acc=0.8043 hld_auc=0.5350 hld_acc=0.3000\n",
|
||
"\n",
|
||
"[fold 4/5] eye_train_n=366 bilat_val_n=46 holdout_n=15 warmup=2+2 total=54\n",
|
||
" ep 1/54 [tower_warmup:0/50] loss=1.0350 acc=0.5328 val_auc=0.5300 val_acc=0.7174 best_auc=-1.0000\n",
|
||
" ep 10/54 [main:6/50] loss=0.7149 acc=0.7104 val_auc=0.5712 val_acc=0.7174 best_auc=0.5712\n",
|
||
" ep 20/54 [main:16/50] loss=0.6127 acc=0.7596 val_auc=0.6179 val_acc=0.7174 best_auc=0.6179\n",
|
||
" ep 30/54 [main:26/50] loss=0.5604 acc=0.7842 val_auc=0.6142 val_acc=0.7283 best_auc=0.6217\n",
|
||
" ep 40/54 [main:36/50] loss=0.5136 acc=0.8005 val_auc=0.6187 val_acc=0.7500 best_auc=0.6217\n",
|
||
" ep 50/54 [main:46/50] loss=0.4896 acc=0.7978 val_auc=0.6158 val_acc=0.7391 best_auc=0.6217\n",
|
||
" ep 54/54 [main:50/50] loss=0.4676 acc=0.8361 val_auc=0.6133 val_acc=0.7391 best_auc=0.6217\n",
|
||
" [fold 4] best_epoch=24 best_auc=0.6217 val_auc=0.6217 val_acc=0.7174 hld_auc=0.6583 hld_acc=0.3000\n",
|
||
"\n",
|
||
"[fold 5/5] eye_train_n=368 bilat_val_n=45 holdout_n=15 warmup=2+2 total=54\n",
|
||
" ep 1/54 [tower_warmup:0/50] loss=1.0644 acc=0.4647 val_auc=0.6210 val_acc=0.7333 best_auc=-1.0000\n",
|
||
" ep 10/54 [main:6/50] loss=0.7349 acc=0.7011 val_auc=0.7760 val_acc=0.7333 best_auc=0.7760\n",
|
||
" ep 20/54 [main:16/50] loss=0.6384 acc=0.7391 val_auc=0.7797 val_acc=0.7444 best_auc=0.7871\n",
|
||
" ep 30/54 [main:26/50] loss=0.5760 acc=0.7935 val_auc=0.7702 val_acc=0.7444 best_auc=0.7871\n",
|
||
" ep 40/54 [main:36/50] loss=0.5421 acc=0.7962 val_auc=0.7748 val_acc=0.7222 best_auc=0.7871\n",
|
||
" ep 50/54 [main:46/50] loss=0.4985 acc=0.8288 val_auc=0.7850 val_acc=0.7222 best_auc=0.7871\n",
|
||
" ep 54/54 [main:50/50] loss=0.5027 acc=0.8152 val_auc=0.7872 val_acc=0.7333 best_auc=0.7892\n",
|
||
" [fold 5] best_epoch=51 best_auc=0.7892 val_auc=0.7892 val_acc=0.7556 hld_auc=0.5783 hld_acc=0.3000\n",
|
||
"\n",
|
||
"Mean val AUC: 0.7533 ± 0.0762\n",
|
||
"Mean hld AUC: 0.5487 ± 0.0765\n",
|
||
"\n",
|
||
"Outputs written to: analysis_data/pipeline_mdonly_50ep/multiclass/single\n",
|
||
"[mdonly] Running pipeline_mdonly_200ep/binary (200 epochs) ...\n",
|
||
"Device: cuda\n",
|
||
"Loading PAPILA data...\n",
|
||
"Loaded: 488 rows feature_dim=25\n",
|
||
"[binary] rows=420\n",
|
||
"\n",
|
||
"[fold 1/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=204\n",
|
||
" ep 1/204 [tower_warmup:0/200] loss=0.5988 acc=0.7656 val_auc=0.2370 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/204 [main:6/200] loss=0.4603 acc=0.8094 val_auc=0.6775 val_acc=0.8250 best_auc=0.6775\n",
|
||
" ep 20/204 [main:16/200] loss=0.4198 acc=0.8219 val_auc=0.7662 val_acc=0.8250 best_auc=0.7662\n",
|
||
" ep 30/204 [main:26/200] loss=0.3825 acc=0.8469 val_auc=0.7587 val_acc=0.8500 best_auc=0.7695\n",
|
||
" ep 40/204 [main:36/200] loss=0.3610 acc=0.8469 val_auc=0.7413 val_acc=0.8500 best_auc=0.7695\n",
|
||
" ep 50/204 [main:46/200] loss=0.3039 acc=0.8812 val_auc=0.7381 val_acc=0.8375 best_auc=0.7695\n",
|
||
" ep 60/204 [main:56/200] loss=0.3054 acc=0.8750 val_auc=0.7294 val_acc=0.8375 best_auc=0.7695\n",
|
||
" ep 70/204 [main:66/200] loss=0.2816 acc=0.8844 val_auc=0.7078 val_acc=0.8250 best_auc=0.7695\n",
|
||
" ep 80/204 [main:76/200] loss=0.2879 acc=0.8781 val_auc=0.7024 val_acc=0.8250 best_auc=0.7695\n",
|
||
" ep 90/204 [main:86/200] loss=0.2758 acc=0.8969 val_auc=0.7002 val_acc=0.8375 best_auc=0.7695\n",
|
||
" ep 100/204 [main:96/200] loss=0.2590 acc=0.8812 val_auc=0.6926 val_acc=0.8250 best_auc=0.7695\n",
|
||
" ep 110/204 [main:106/200] loss=0.2618 acc=0.8719 val_auc=0.6786 val_acc=0.8000 best_auc=0.7695\n",
|
||
" ep 120/204 [main:116/200] loss=0.2554 acc=0.8844 val_auc=0.6634 val_acc=0.8000 best_auc=0.7695\n",
|
||
" ep 130/204 [main:126/200] loss=0.2351 acc=0.9125 val_auc=0.6558 val_acc=0.8125 best_auc=0.7695\n",
|
||
" ep 140/204 [main:136/200] loss=0.2428 acc=0.9000 val_auc=0.6580 val_acc=0.8000 best_auc=0.7695\n",
|
||
" ep 150/204 [main:146/200] loss=0.2035 acc=0.9062 val_auc=0.6569 val_acc=0.8250 best_auc=0.7695\n",
|
||
" ep 160/204 [main:156/200] loss=0.2083 acc=0.9250 val_auc=0.6580 val_acc=0.8125 best_auc=0.7695\n",
|
||
" ep 170/204 [main:166/200] loss=0.2079 acc=0.9062 val_auc=0.6537 val_acc=0.7875 best_auc=0.7695\n",
|
||
" ep 180/204 [main:176/200] loss=0.2097 acc=0.9062 val_auc=0.6667 val_acc=0.8125 best_auc=0.7695\n",
|
||
" ep 190/204 [main:186/200] loss=0.2072 acc=0.9062 val_auc=0.6472 val_acc=0.8125 best_auc=0.7695\n",
|
||
" ep 200/204 [main:196/200] loss=0.1776 acc=0.9281 val_auc=0.6580 val_acc=0.8000 best_auc=0.7695\n",
|
||
" ep 204/204 [main:200/200] loss=0.1611 acc=0.9437 val_auc=0.6418 val_acc=0.7750 best_auc=0.7695\n",
|
||
" [fold 1] best_epoch=25 best_auc=0.7695 val_auc=0.7695 val_acc=0.8375 hld_auc=0.5800 hld_acc=0.5000\n",
|
||
"\n",
|
||
"[fold 2/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=204\n",
|
||
" ep 1/204 [tower_warmup:0/200] loss=0.5739 acc=0.7969 val_auc=0.4870 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/204 [main:6/200] loss=0.4430 acc=0.8063 val_auc=0.6126 val_acc=0.8250 best_auc=0.6126\n",
|
||
" ep 20/204 [main:16/200] loss=0.3938 acc=0.8438 val_auc=0.6558 val_acc=0.8625 best_auc=0.6558\n",
|
||
" ep 30/204 [main:26/200] loss=0.3437 acc=0.8469 val_auc=0.6526 val_acc=0.8500 best_auc=0.6613\n",
|
||
" ep 40/204 [main:36/200] loss=0.3410 acc=0.8688 val_auc=0.6613 val_acc=0.8500 best_auc=0.6613\n",
|
||
" ep 50/204 [main:46/200] loss=0.3195 acc=0.8750 val_auc=0.6548 val_acc=0.8500 best_auc=0.6623\n",
|
||
" ep 60/204 [main:56/200] loss=0.2857 acc=0.8875 val_auc=0.6591 val_acc=0.8625 best_auc=0.6623\n",
|
||
" ep 70/204 [main:66/200] loss=0.2833 acc=0.8719 val_auc=0.6504 val_acc=0.8375 best_auc=0.6623\n",
|
||
" ep 80/204 [main:76/200] loss=0.2802 acc=0.8812 val_auc=0.6580 val_acc=0.8500 best_auc=0.6623\n",
|
||
" ep 90/204 [main:86/200] loss=0.2743 acc=0.8844 val_auc=0.6515 val_acc=0.8375 best_auc=0.6623\n",
|
||
" ep 100/204 [main:96/200] loss=0.2643 acc=0.8844 val_auc=0.6569 val_acc=0.8375 best_auc=0.6623\n",
|
||
" ep 110/204 [main:106/200] loss=0.2620 acc=0.8875 val_auc=0.6537 val_acc=0.8500 best_auc=0.6623\n",
|
||
" ep 120/204 [main:116/200] loss=0.2534 acc=0.8844 val_auc=0.6515 val_acc=0.8375 best_auc=0.6623\n",
|
||
" ep 130/204 [main:126/200] loss=0.2491 acc=0.8906 val_auc=0.6526 val_acc=0.8500 best_auc=0.6623\n",
|
||
" ep 140/204 [main:136/200] loss=0.2354 acc=0.9000 val_auc=0.6494 val_acc=0.8500 best_auc=0.6623\n",
|
||
" ep 150/204 [main:146/200] loss=0.2436 acc=0.8938 val_auc=0.6439 val_acc=0.8500 best_auc=0.6623\n",
|
||
" ep 160/204 [main:156/200] loss=0.2197 acc=0.9187 val_auc=0.6461 val_acc=0.8625 best_auc=0.6623\n",
|
||
" ep 170/204 [main:166/200] loss=0.2178 acc=0.9062 val_auc=0.6472 val_acc=0.8375 best_auc=0.6623\n",
|
||
" ep 180/204 [main:176/200] loss=0.2071 acc=0.9187 val_auc=0.6396 val_acc=0.8500 best_auc=0.6623\n",
|
||
" ep 190/204 [main:186/200] loss=0.2003 acc=0.9156 val_auc=0.6429 val_acc=0.8500 best_auc=0.6623\n",
|
||
" ep 200/204 [main:196/200] loss=0.1955 acc=0.9125 val_auc=0.6396 val_acc=0.8625 best_auc=0.6623\n",
|
||
" ep 204/204 [main:200/200] loss=0.1903 acc=0.9250 val_auc=0.6450 val_acc=0.8375 best_auc=0.6623\n",
|
||
" [fold 2] best_epoch=44 best_auc=0.6623 val_auc=0.6623 val_acc=0.8500 hld_auc=0.5000 hld_acc=0.4500\n",
|
||
"\n",
|
||
"[fold 3/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=204\n",
|
||
" ep 1/204 [tower_warmup:0/200] loss=0.5745 acc=0.7875 val_auc=0.5920 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/204 [main:6/200] loss=0.4615 acc=0.8031 val_auc=0.6396 val_acc=0.8250 best_auc=0.6396\n",
|
||
" ep 20/204 [main:16/200] loss=0.4185 acc=0.8187 val_auc=0.6905 val_acc=0.8500 best_auc=0.6905\n",
|
||
" ep 30/204 [main:26/200] loss=0.3964 acc=0.8313 val_auc=0.7489 val_acc=0.8625 best_auc=0.7489\n",
|
||
" ep 40/204 [main:36/200] loss=0.3714 acc=0.8500 val_auc=0.7835 val_acc=0.8750 best_auc=0.7846\n",
|
||
" ep 50/204 [main:46/200] loss=0.3616 acc=0.8375 val_auc=0.7944 val_acc=0.8875 best_auc=0.7965\n",
|
||
" ep 60/204 [main:56/200] loss=0.3451 acc=0.8438 val_auc=0.8009 val_acc=0.8875 best_auc=0.8009\n",
|
||
" ep 70/204 [main:66/200] loss=0.3415 acc=0.8469 val_auc=0.7976 val_acc=0.9125 best_auc=0.8019\n",
|
||
" ep 80/204 [main:76/200] loss=0.3140 acc=0.8562 val_auc=0.7922 val_acc=0.9125 best_auc=0.8019\n",
|
||
" ep 90/204 [main:86/200] loss=0.3013 acc=0.8656 val_auc=0.7706 val_acc=0.9250 best_auc=0.8019\n",
|
||
" ep 100/204 [main:96/200] loss=0.2948 acc=0.8625 val_auc=0.7597 val_acc=0.9000 best_auc=0.8019\n",
|
||
" ep 110/204 [main:106/200] loss=0.2834 acc=0.8656 val_auc=0.7532 val_acc=0.9000 best_auc=0.8019\n",
|
||
" ep 120/204 [main:116/200] loss=0.2738 acc=0.8750 val_auc=0.7489 val_acc=0.8875 best_auc=0.8019\n",
|
||
" ep 130/204 [main:126/200] loss=0.2498 acc=0.8906 val_auc=0.7468 val_acc=0.8625 best_auc=0.8019\n",
|
||
" ep 140/204 [main:136/200] loss=0.2613 acc=0.8719 val_auc=0.7338 val_acc=0.8875 best_auc=0.8019\n",
|
||
" ep 150/204 [main:146/200] loss=0.2461 acc=0.8938 val_auc=0.7294 val_acc=0.8625 best_auc=0.8019\n",
|
||
" ep 160/204 [main:156/200] loss=0.2333 acc=0.9031 val_auc=0.7165 val_acc=0.8375 best_auc=0.8019\n",
|
||
" ep 170/204 [main:166/200] loss=0.2222 acc=0.9062 val_auc=0.7154 val_acc=0.8375 best_auc=0.8019\n",
|
||
" ep 180/204 [main:176/200] loss=0.2088 acc=0.9094 val_auc=0.7121 val_acc=0.8375 best_auc=0.8019\n",
|
||
" ep 190/204 [main:186/200] loss=0.2116 acc=0.9094 val_auc=0.7056 val_acc=0.8125 best_auc=0.8019\n",
|
||
" ep 200/204 [main:196/200] loss=0.2075 acc=0.9156 val_auc=0.7013 val_acc=0.8250 best_auc=0.8019\n",
|
||
" ep 204/204 [main:200/200] loss=0.1858 acc=0.9187 val_auc=0.7045 val_acc=0.8250 best_auc=0.8019\n",
|
||
" [fold 3] best_epoch=64 best_auc=0.8019 val_auc=0.8019 val_acc=0.8875 hld_auc=0.6400 hld_acc=0.4500\n",
|
||
"\n",
|
||
"[fold 4/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=204\n",
|
||
" ep 1/204 [tower_warmup:0/200] loss=0.5552 acc=0.8063 val_auc=0.3690 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/204 [main:6/200] loss=0.4138 acc=0.8094 val_auc=0.3810 val_acc=0.8250 best_auc=0.3810\n",
|
||
" ep 20/204 [main:16/200] loss=0.3401 acc=0.8562 val_auc=0.4037 val_acc=0.7750 best_auc=0.4037\n",
|
||
" ep 30/204 [main:26/200] loss=0.3126 acc=0.8844 val_auc=0.4535 val_acc=0.7750 best_auc=0.4535\n",
|
||
" ep 40/204 [main:36/200] loss=0.3020 acc=0.8812 val_auc=0.4827 val_acc=0.7750 best_auc=0.4827\n",
|
||
" ep 50/204 [main:46/200] loss=0.2794 acc=0.8844 val_auc=0.5032 val_acc=0.7750 best_auc=0.5032\n",
|
||
" ep 60/204 [main:56/200] loss=0.2739 acc=0.8844 val_auc=0.5141 val_acc=0.7625 best_auc=0.5141\n",
|
||
" ep 70/204 [main:66/200] loss=0.2665 acc=0.8875 val_auc=0.5130 val_acc=0.7625 best_auc=0.5271\n",
|
||
" ep 80/204 [main:76/200] loss=0.2386 acc=0.8969 val_auc=0.4989 val_acc=0.7625 best_auc=0.5271\n",
|
||
" ep 90/204 [main:86/200] loss=0.2348 acc=0.9031 val_auc=0.5054 val_acc=0.7500 best_auc=0.5271\n",
|
||
" ep 100/204 [main:96/200] loss=0.2346 acc=0.9031 val_auc=0.5087 val_acc=0.7625 best_auc=0.5271\n",
|
||
" ep 110/204 [main:106/200] loss=0.2206 acc=0.9031 val_auc=0.5130 val_acc=0.7375 best_auc=0.5271\n",
|
||
" ep 120/204 [main:116/200] loss=0.2059 acc=0.9187 val_auc=0.5130 val_acc=0.7375 best_auc=0.5271\n",
|
||
" ep 130/204 [main:126/200] loss=0.1999 acc=0.8969 val_auc=0.5097 val_acc=0.7250 best_auc=0.5271\n",
|
||
" ep 140/204 [main:136/200] loss=0.1935 acc=0.9031 val_auc=0.5119 val_acc=0.7250 best_auc=0.5271\n",
|
||
" ep 150/204 [main:146/200] loss=0.1954 acc=0.9156 val_auc=0.5195 val_acc=0.7375 best_auc=0.5271\n",
|
||
" ep 160/204 [main:156/200] loss=0.1749 acc=0.9219 val_auc=0.5162 val_acc=0.7375 best_auc=0.5271\n",
|
||
" ep 170/204 [main:166/200] loss=0.1705 acc=0.9281 val_auc=0.5152 val_acc=0.7500 best_auc=0.5271\n",
|
||
" ep 180/204 [main:176/200] loss=0.1592 acc=0.9250 val_auc=0.5292 val_acc=0.7250 best_auc=0.5292\n",
|
||
" ep 190/204 [main:186/200] loss=0.1692 acc=0.9219 val_auc=0.5227 val_acc=0.7250 best_auc=0.5292\n",
|
||
" ep 200/204 [main:196/200] loss=0.1409 acc=0.9313 val_auc=0.5303 val_acc=0.7375 best_auc=0.5303\n",
|
||
" ep 204/204 [main:200/200] loss=0.1557 acc=0.9313 val_auc=0.5249 val_acc=0.7250 best_auc=0.5303\n",
|
||
" [fold 4] best_epoch=200 best_auc=0.5303 val_auc=0.5303 val_acc=0.7375 hld_auc=0.7200 hld_acc=0.5500\n",
|
||
"\n",
|
||
"[fold 5/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=204\n",
|
||
" ep 1/204 [tower_warmup:0/200] loss=0.5489 acc=0.8063 val_auc=0.4091 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/204 [main:6/200] loss=0.4378 acc=0.8125 val_auc=0.7392 val_acc=0.8250 best_auc=0.7392\n",
|
||
" ep 20/204 [main:16/200] loss=0.3780 acc=0.8562 val_auc=0.8084 val_acc=0.8250 best_auc=0.8084\n",
|
||
" ep 30/204 [main:26/200] loss=0.3426 acc=0.8656 val_auc=0.8041 val_acc=0.8000 best_auc=0.8106\n",
|
||
" ep 40/204 [main:36/200] loss=0.3201 acc=0.8656 val_auc=0.8074 val_acc=0.8000 best_auc=0.8106\n",
|
||
" ep 50/204 [main:46/200] loss=0.3025 acc=0.8719 val_auc=0.8095 val_acc=0.7875 best_auc=0.8106\n",
|
||
" ep 60/204 [main:56/200] loss=0.2993 acc=0.8750 val_auc=0.8019 val_acc=0.7875 best_auc=0.8117\n",
|
||
" ep 70/204 [main:66/200] loss=0.2893 acc=0.8719 val_auc=0.7976 val_acc=0.8000 best_auc=0.8117\n",
|
||
" ep 80/204 [main:76/200] loss=0.2879 acc=0.8781 val_auc=0.7976 val_acc=0.8000 best_auc=0.8117\n",
|
||
" ep 90/204 [main:86/200] loss=0.2763 acc=0.8812 val_auc=0.7998 val_acc=0.8000 best_auc=0.8117\n",
|
||
" ep 100/204 [main:96/200] loss=0.2782 acc=0.8875 val_auc=0.8009 val_acc=0.8000 best_auc=0.8117\n",
|
||
" ep 110/204 [main:106/200] loss=0.2583 acc=0.8875 val_auc=0.8030 val_acc=0.7875 best_auc=0.8117\n",
|
||
" ep 120/204 [main:116/200] loss=0.2577 acc=0.8781 val_auc=0.7998 val_acc=0.8125 best_auc=0.8117\n",
|
||
" ep 130/204 [main:126/200] loss=0.2399 acc=0.8844 val_auc=0.7976 val_acc=0.8000 best_auc=0.8117\n",
|
||
" ep 140/204 [main:136/200] loss=0.2393 acc=0.9000 val_auc=0.8041 val_acc=0.8125 best_auc=0.8117\n",
|
||
" ep 150/204 [main:146/200] loss=0.2309 acc=0.8938 val_auc=0.8052 val_acc=0.7875 best_auc=0.8117\n",
|
||
" ep 160/204 [main:156/200] loss=0.2332 acc=0.8906 val_auc=0.8052 val_acc=0.7875 best_auc=0.8117\n",
|
||
" ep 170/204 [main:166/200] loss=0.2049 acc=0.9000 val_auc=0.7998 val_acc=0.7750 best_auc=0.8117\n",
|
||
" ep 180/204 [main:176/200] loss=0.2203 acc=0.9094 val_auc=0.8019 val_acc=0.7750 best_auc=0.8117\n",
|
||
" ep 190/204 [main:186/200] loss=0.2085 acc=0.9031 val_auc=0.7965 val_acc=0.7750 best_auc=0.8117\n",
|
||
" ep 200/204 [main:196/200] loss=0.2196 acc=0.9125 val_auc=0.7922 val_acc=0.7750 best_auc=0.8117\n",
|
||
" ep 204/204 [main:200/200] loss=0.1911 acc=0.9094 val_auc=0.7998 val_acc=0.7750 best_auc=0.8117\n",
|
||
" [fold 5] best_epoch=51 best_auc=0.8117 val_auc=0.8117 val_acc=0.7875 hld_auc=0.5300 hld_acc=0.5000\n",
|
||
"\n",
|
||
"Mean val AUC: 0.7152 ± 0.1065\n",
|
||
"Mean hld AUC: 0.5940 ± 0.0789\n",
|
||
"\n",
|
||
"Outputs written to: analysis_data/pipeline_mdonly_200ep/binary/single\n",
|
||
"[mdonly] Running pipeline_mdonly_200ep/multiclass (200 epochs) ...\n",
|
||
"Device: cuda\n",
|
||
"Loading PAPILA data...\n",
|
||
"Loaded: 488 rows feature_dim=25\n",
|
||
"[multiclass] rows=488\n",
|
||
"\n",
|
||
"[fold 1/5] eye_train_n=366 bilat_val_n=46 holdout_n=15 warmup=2+2 total=204\n",
|
||
" ep 1/204 [tower_warmup:0/200] loss=0.9215 acc=0.7049 val_auc=0.6492 val_acc=0.7174 best_auc=-1.0000\n",
|
||
" ep 10/204 [main:6/200] loss=0.7160 acc=0.7104 val_auc=0.7519 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 20/204 [main:16/200] loss=0.6363 acc=0.7377 val_auc=0.7535 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 30/204 [main:26/200] loss=0.5719 acc=0.7842 val_auc=0.7438 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 40/204 [main:36/200] loss=0.5291 acc=0.8087 val_auc=0.7310 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 50/204 [main:46/200] loss=0.4794 acc=0.8306 val_auc=0.7027 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 60/204 [main:56/200] loss=0.4759 acc=0.8197 val_auc=0.6771 val_acc=0.7391 best_auc=0.7612\n",
|
||
" ep 70/204 [main:66/200] loss=0.4396 acc=0.8470 val_auc=0.6640 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 80/204 [main:76/200] loss=0.4274 acc=0.8525 val_auc=0.6494 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 90/204 [main:86/200] loss=0.4066 acc=0.8661 val_auc=0.6401 val_acc=0.7500 best_auc=0.7612\n",
|
||
" ep 100/204 [main:96/200] loss=0.4050 acc=0.8388 val_auc=0.6270 val_acc=0.7391 best_auc=0.7612\n",
|
||
" ep 110/204 [main:106/200] loss=0.3956 acc=0.8497 val_auc=0.6195 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 120/204 [main:116/200] loss=0.3786 acc=0.8634 val_auc=0.6193 val_acc=0.7391 best_auc=0.7612\n",
|
||
" ep 130/204 [main:126/200] loss=0.3701 acc=0.8579 val_auc=0.6133 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 140/204 [main:136/200] loss=0.3573 acc=0.8661 val_auc=0.6060 val_acc=0.7391 best_auc=0.7612\n",
|
||
" ep 150/204 [main:146/200] loss=0.3531 acc=0.8716 val_auc=0.6042 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 160/204 [main:156/200] loss=0.3431 acc=0.8743 val_auc=0.6029 val_acc=0.7391 best_auc=0.7612\n",
|
||
" ep 170/204 [main:166/200] loss=0.3346 acc=0.8852 val_auc=0.5953 val_acc=0.7391 best_auc=0.7612\n",
|
||
" ep 180/204 [main:176/200] loss=0.3195 acc=0.8852 val_auc=0.5861 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 190/204 [main:186/200] loss=0.3279 acc=0.8661 val_auc=0.5845 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 200/204 [main:196/200] loss=0.3326 acc=0.8661 val_auc=0.5792 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 204/204 [main:200/200] loss=0.3101 acc=0.8880 val_auc=0.5812 val_acc=0.7283 best_auc=0.7612\n",
|
||
" [fold 1] best_epoch=5 best_auc=0.7612 val_auc=0.7612 val_acc=0.7174 hld_auc=0.4217 hld_acc=0.3333\n",
|
||
"\n",
|
||
"[fold 2/5] eye_train_n=366 bilat_val_n=46 holdout_n=15 warmup=2+2 total=204\n",
|
||
" ep 1/204 [tower_warmup:0/200] loss=0.9533 acc=0.6503 val_auc=0.6492 val_acc=0.7174 best_auc=-1.0000\n",
|
||
" ep 10/204 [main:6/200] loss=0.7264 acc=0.7049 val_auc=0.7070 val_acc=0.7174 best_auc=0.7088\n",
|
||
" ep 20/204 [main:16/200] loss=0.6305 acc=0.7432 val_auc=0.7343 val_acc=0.7065 best_auc=0.7343\n",
|
||
" ep 30/204 [main:26/200] loss=0.5770 acc=0.7760 val_auc=0.7498 val_acc=0.7391 best_auc=0.7503\n",
|
||
" ep 40/204 [main:36/200] loss=0.5345 acc=0.7896 val_auc=0.7405 val_acc=0.7717 best_auc=0.7503\n",
|
||
" ep 50/204 [main:46/200] loss=0.5139 acc=0.8005 val_auc=0.7328 val_acc=0.7717 best_auc=0.7503\n",
|
||
" ep 60/204 [main:56/200] loss=0.4800 acc=0.8388 val_auc=0.7218 val_acc=0.7609 best_auc=0.7503\n",
|
||
" ep 70/204 [main:66/200] loss=0.4560 acc=0.8224 val_auc=0.7127 val_acc=0.7609 best_auc=0.7503\n",
|
||
" ep 80/204 [main:76/200] loss=0.4648 acc=0.8115 val_auc=0.7034 val_acc=0.7500 best_auc=0.7503\n",
|
||
" ep 90/204 [main:86/200] loss=0.4436 acc=0.8306 val_auc=0.7010 val_acc=0.7391 best_auc=0.7503\n",
|
||
" ep 100/204 [main:96/200] loss=0.4308 acc=0.8388 val_auc=0.6944 val_acc=0.7391 best_auc=0.7503\n",
|
||
" ep 110/204 [main:106/200] loss=0.4090 acc=0.8415 val_auc=0.6871 val_acc=0.7500 best_auc=0.7503\n",
|
||
" ep 120/204 [main:116/200] loss=0.3838 acc=0.8333 val_auc=0.6830 val_acc=0.7391 best_auc=0.7503\n",
|
||
" ep 130/204 [main:126/200] loss=0.3860 acc=0.8415 val_auc=0.6781 val_acc=0.7174 best_auc=0.7503\n",
|
||
" ep 140/204 [main:136/200] loss=0.3774 acc=0.8333 val_auc=0.6757 val_acc=0.7065 best_auc=0.7503\n",
|
||
" ep 150/204 [main:146/200] loss=0.3574 acc=0.8443 val_auc=0.6705 val_acc=0.6957 best_auc=0.7503\n",
|
||
" ep 160/204 [main:156/200] loss=0.3646 acc=0.8525 val_auc=0.6681 val_acc=0.7065 best_auc=0.7503\n",
|
||
" ep 170/204 [main:166/200] loss=0.3261 acc=0.8661 val_auc=0.6671 val_acc=0.7065 best_auc=0.7503\n",
|
||
" ep 180/204 [main:176/200] loss=0.3183 acc=0.8607 val_auc=0.6642 val_acc=0.7065 best_auc=0.7503\n",
|
||
" ep 190/204 [main:186/200] loss=0.2923 acc=0.8689 val_auc=0.6680 val_acc=0.7065 best_auc=0.7503\n",
|
||
" ep 200/204 [main:196/200] loss=0.2807 acc=0.8716 val_auc=0.6661 val_acc=0.6957 best_auc=0.7503\n",
|
||
" ep 204/204 [main:200/200] loss=0.2871 acc=0.8716 val_auc=0.6660 val_acc=0.6848 best_auc=0.7503\n",
|
||
" [fold 2] best_epoch=29 best_auc=0.7503 val_auc=0.7503 val_acc=0.7283 hld_auc=0.5367 hld_acc=0.3333\n",
|
||
"\n",
|
||
"[fold 3/5] eye_train_n=366 bilat_val_n=46 holdout_n=15 warmup=2+2 total=204\n",
|
||
" ep 1/204 [tower_warmup:0/200] loss=1.0630 acc=0.4836 val_auc=0.5730 val_acc=0.7174 best_auc=-1.0000\n",
|
||
" ep 10/204 [main:6/200] loss=0.7452 acc=0.7077 val_auc=0.7362 val_acc=0.7174 best_auc=0.7362\n",
|
||
" ep 20/204 [main:16/200] loss=0.6737 acc=0.7158 val_auc=0.7894 val_acc=0.7391 best_auc=0.7894\n",
|
||
" ep 30/204 [main:26/200] loss=0.6139 acc=0.7623 val_auc=0.8285 val_acc=0.7717 best_auc=0.8292\n",
|
||
" ep 40/204 [main:36/200] loss=0.5718 acc=0.7842 val_auc=0.8408 val_acc=0.7935 best_auc=0.8408\n",
|
||
" ep 50/204 [main:46/200] loss=0.5544 acc=0.7923 val_auc=0.8405 val_acc=0.8043 best_auc=0.8441\n",
|
||
" ep 60/204 [main:56/200] loss=0.5240 acc=0.7951 val_auc=0.8393 val_acc=0.8152 best_auc=0.8441\n",
|
||
" ep 70/204 [main:66/200] loss=0.5097 acc=0.8115 val_auc=0.8315 val_acc=0.8261 best_auc=0.8441\n",
|
||
" ep 80/204 [main:76/200] loss=0.4862 acc=0.8169 val_auc=0.8297 val_acc=0.8152 best_auc=0.8441\n",
|
||
" ep 90/204 [main:86/200] loss=0.4767 acc=0.8306 val_auc=0.8227 val_acc=0.8261 best_auc=0.8441\n",
|
||
" ep 100/204 [main:96/200] loss=0.4681 acc=0.8333 val_auc=0.8180 val_acc=0.8152 best_auc=0.8441\n",
|
||
" ep 110/204 [main:106/200] loss=0.4497 acc=0.8306 val_auc=0.8152 val_acc=0.8043 best_auc=0.8441\n",
|
||
" ep 120/204 [main:116/200] loss=0.4333 acc=0.8443 val_auc=0.8114 val_acc=0.7935 best_auc=0.8441\n",
|
||
" ep 130/204 [main:126/200] loss=0.4451 acc=0.8251 val_auc=0.8065 val_acc=0.7826 best_auc=0.8441\n",
|
||
" ep 140/204 [main:136/200] loss=0.4335 acc=0.8333 val_auc=0.7981 val_acc=0.8043 best_auc=0.8441\n",
|
||
" ep 150/204 [main:146/200] loss=0.4196 acc=0.8361 val_auc=0.7953 val_acc=0.7935 best_auc=0.8441\n",
|
||
" ep 160/204 [main:156/200] loss=0.3952 acc=0.8497 val_auc=0.7934 val_acc=0.7935 best_auc=0.8441\n",
|
||
" ep 170/204 [main:166/200] loss=0.3855 acc=0.8470 val_auc=0.7897 val_acc=0.7935 best_auc=0.8441\n",
|
||
" ep 180/204 [main:176/200] loss=0.3707 acc=0.8443 val_auc=0.7814 val_acc=0.8043 best_auc=0.8441\n",
|
||
" ep 190/204 [main:186/200] loss=0.3666 acc=0.8470 val_auc=0.7735 val_acc=0.7935 best_auc=0.8441\n",
|
||
" ep 200/204 [main:196/200] loss=0.3636 acc=0.8552 val_auc=0.7691 val_acc=0.7935 best_auc=0.8441\n",
|
||
" ep 204/204 [main:200/200] loss=0.3708 acc=0.8497 val_auc=0.7661 val_acc=0.7935 best_auc=0.8441\n",
|
||
" [fold 3] best_epoch=46 best_auc=0.8441 val_auc=0.8441 val_acc=0.8043 hld_auc=0.5217 hld_acc=0.3000\n",
|
||
"\n",
|
||
"[fold 4/5] eye_train_n=366 bilat_val_n=46 holdout_n=15 warmup=2+2 total=204\n",
|
||
" ep 1/204 [tower_warmup:0/200] loss=1.0757 acc=0.4617 val_auc=0.5569 val_acc=0.7174 best_auc=-1.0000\n",
|
||
" ep 10/204 [main:6/200] loss=0.7289 acc=0.7022 val_auc=0.5487 val_acc=0.7174 best_auc=0.5487\n",
|
||
" ep 20/204 [main:16/200] loss=0.6230 acc=0.7459 val_auc=0.6077 val_acc=0.7174 best_auc=0.6077\n",
|
||
" ep 30/204 [main:26/200] loss=0.5567 acc=0.7814 val_auc=0.6170 val_acc=0.7391 best_auc=0.6170\n",
|
||
" ep 40/204 [main:36/200] loss=0.5078 acc=0.8197 val_auc=0.6102 val_acc=0.7283 best_auc=0.6170\n",
|
||
" ep 50/204 [main:46/200] loss=0.4803 acc=0.8224 val_auc=0.6023 val_acc=0.7391 best_auc=0.6170\n",
|
||
" ep 60/204 [main:56/200] loss=0.4549 acc=0.8142 val_auc=0.6099 val_acc=0.7500 best_auc=0.6170\n",
|
||
" ep 70/204 [main:66/200] loss=0.4485 acc=0.8197 val_auc=0.6040 val_acc=0.7500 best_auc=0.6170\n",
|
||
" ep 80/204 [main:76/200] loss=0.4309 acc=0.8279 val_auc=0.5980 val_acc=0.7391 best_auc=0.6170\n",
|
||
" ep 90/204 [main:86/200] loss=0.4135 acc=0.8251 val_auc=0.5937 val_acc=0.7391 best_auc=0.6170\n",
|
||
" ep 100/204 [main:96/200] loss=0.4149 acc=0.8361 val_auc=0.5814 val_acc=0.7500 best_auc=0.6170\n",
|
||
" ep 110/204 [main:106/200] loss=0.3953 acc=0.8388 val_auc=0.5798 val_acc=0.7391 best_auc=0.6170\n",
|
||
" ep 120/204 [main:116/200] loss=0.3675 acc=0.8470 val_auc=0.5777 val_acc=0.7391 best_auc=0.6170\n",
|
||
" ep 130/204 [main:126/200] loss=0.3791 acc=0.8361 val_auc=0.5625 val_acc=0.7391 best_auc=0.6170\n",
|
||
" ep 140/204 [main:136/200] loss=0.3523 acc=0.8607 val_auc=0.5594 val_acc=0.7391 best_auc=0.6170\n",
|
||
" ep 150/204 [main:146/200] loss=0.3482 acc=0.8361 val_auc=0.5592 val_acc=0.7391 best_auc=0.6170\n",
|
||
" ep 160/204 [main:156/200] loss=0.3238 acc=0.8579 val_auc=0.5605 val_acc=0.7500 best_auc=0.6170\n",
|
||
" ep 170/204 [main:166/200] loss=0.3292 acc=0.8579 val_auc=0.5550 val_acc=0.7500 best_auc=0.6170\n",
|
||
" ep 180/204 [main:176/200] loss=0.3135 acc=0.8716 val_auc=0.5563 val_acc=0.7500 best_auc=0.6170\n",
|
||
" ep 190/204 [main:186/200] loss=0.2999 acc=0.8743 val_auc=0.5524 val_acc=0.7391 best_auc=0.6170\n",
|
||
" ep 200/204 [main:196/200] loss=0.2888 acc=0.8798 val_auc=0.5504 val_acc=0.7500 best_auc=0.6170\n",
|
||
" ep 204/204 [main:200/200] loss=0.2920 acc=0.8825 val_auc=0.5486 val_acc=0.7283 best_auc=0.6170\n",
|
||
" [fold 4] best_epoch=30 best_auc=0.6170 val_auc=0.6170 val_acc=0.7391 hld_auc=0.5950 hld_acc=0.3000\n",
|
||
"\n",
|
||
"[fold 5/5] eye_train_n=368 bilat_val_n=45 holdout_n=15 warmup=2+2 total=204\n",
|
||
" ep 1/204 [tower_warmup:0/200] loss=1.0050 acc=0.5924 val_auc=0.5696 val_acc=0.7333 best_auc=-1.0000\n",
|
||
" ep 10/204 [main:6/200] loss=0.7423 acc=0.7011 val_auc=0.7624 val_acc=0.7333 best_auc=0.7624\n",
|
||
" ep 20/204 [main:16/200] loss=0.6489 acc=0.7500 val_auc=0.7844 val_acc=0.7222 best_auc=0.7861\n",
|
||
" ep 30/204 [main:26/200] loss=0.5781 acc=0.7772 val_auc=0.7765 val_acc=0.7222 best_auc=0.7861\n",
|
||
" ep 40/204 [main:36/200] loss=0.5341 acc=0.8071 val_auc=0.7971 val_acc=0.6889 best_auc=0.8001\n",
|
||
" ep 50/204 [main:46/200] loss=0.4980 acc=0.8207 val_auc=0.8024 val_acc=0.7222 best_auc=0.8084\n",
|
||
" ep 60/204 [main:56/200] loss=0.4828 acc=0.8098 val_auc=0.8074 val_acc=0.7222 best_auc=0.8119\n",
|
||
" ep 70/204 [main:66/200] loss=0.4629 acc=0.8315 val_auc=0.8054 val_acc=0.7222 best_auc=0.8128\n",
|
||
" ep 80/204 [main:76/200] loss=0.4440 acc=0.8342 val_auc=0.8138 val_acc=0.7111 best_auc=0.8143\n",
|
||
" ep 90/204 [main:86/200] loss=0.4152 acc=0.8587 val_auc=0.8037 val_acc=0.7000 best_auc=0.8148\n",
|
||
" ep 100/204 [main:96/200] loss=0.4250 acc=0.8261 val_auc=0.8042 val_acc=0.7111 best_auc=0.8148\n",
|
||
" ep 110/204 [main:106/200] loss=0.3997 acc=0.8641 val_auc=0.7962 val_acc=0.6889 best_auc=0.8148\n",
|
||
" ep 120/204 [main:116/200] loss=0.3718 acc=0.8478 val_auc=0.7978 val_acc=0.7111 best_auc=0.8148\n",
|
||
" ep 130/204 [main:126/200] loss=0.3597 acc=0.8668 val_auc=0.7943 val_acc=0.7000 best_auc=0.8148\n",
|
||
" ep 140/204 [main:136/200] loss=0.3480 acc=0.8696 val_auc=0.7901 val_acc=0.7000 best_auc=0.8148\n",
|
||
" ep 150/204 [main:146/200] loss=0.3560 acc=0.8614 val_auc=0.7911 val_acc=0.7111 best_auc=0.8148\n",
|
||
" ep 160/204 [main:156/200] loss=0.3363 acc=0.8533 val_auc=0.7884 val_acc=0.7000 best_auc=0.8148\n",
|
||
" ep 170/204 [main:166/200] loss=0.3250 acc=0.8804 val_auc=0.7847 val_acc=0.7111 best_auc=0.8148\n",
|
||
" ep 180/204 [main:176/200] loss=0.3256 acc=0.8614 val_auc=0.7833 val_acc=0.7111 best_auc=0.8148\n",
|
||
" ep 190/204 [main:186/200] loss=0.3174 acc=0.8777 val_auc=0.7774 val_acc=0.7000 best_auc=0.8148\n",
|
||
" ep 200/204 [main:196/200] loss=0.2991 acc=0.8777 val_auc=0.7692 val_acc=0.7000 best_auc=0.8148\n",
|
||
" ep 204/204 [main:200/200] loss=0.2939 acc=0.8913 val_auc=0.7704 val_acc=0.7000 best_auc=0.8148\n",
|
||
" [fold 5] best_epoch=82 best_auc=0.8148 val_auc=0.8148 val_acc=0.7111 hld_auc=0.5933 hld_acc=0.3667\n",
|
||
"\n",
|
||
"Mean val AUC: 0.7575 ± 0.0782\n",
|
||
"Mean hld AUC: 0.5337 ± 0.0633\n",
|
||
"\n",
|
||
"Outputs written to: analysis_data/pipeline_mdonly_200ep/multiclass/single\n",
|
||
"[mdonly] Running pipeline_mdonly_500ep/binary (500 epochs) ...\n",
|
||
"Device: cuda\n",
|
||
"Loading PAPILA data...\n",
|
||
"Loaded: 488 rows feature_dim=25\n",
|
||
"[binary] rows=420\n",
|
||
"\n",
|
||
"[fold 1/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=504\n",
|
||
" ep 1/504 [tower_warmup:0/500] loss=0.5988 acc=0.7656 val_auc=0.2370 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/504 [main:6/500] loss=0.4603 acc=0.8094 val_auc=0.6775 val_acc=0.8250 best_auc=0.6775\n",
|
||
" ep 20/504 [main:16/500] loss=0.4198 acc=0.8219 val_auc=0.7662 val_acc=0.8250 best_auc=0.7662\n",
|
||
" ep 30/504 [main:26/500] loss=0.3825 acc=0.8469 val_auc=0.7587 val_acc=0.8500 best_auc=0.7695\n",
|
||
" ep 40/504 [main:36/500] loss=0.3610 acc=0.8469 val_auc=0.7413 val_acc=0.8500 best_auc=0.7695\n",
|
||
" ep 50/504 [main:46/500] loss=0.3039 acc=0.8812 val_auc=0.7381 val_acc=0.8375 best_auc=0.7695\n",
|
||
" ep 60/504 [main:56/500] loss=0.3054 acc=0.8750 val_auc=0.7294 val_acc=0.8375 best_auc=0.7695\n",
|
||
" ep 70/504 [main:66/500] loss=0.2816 acc=0.8844 val_auc=0.7078 val_acc=0.8250 best_auc=0.7695\n",
|
||
" ep 80/504 [main:76/500] loss=0.2879 acc=0.8781 val_auc=0.7024 val_acc=0.8250 best_auc=0.7695\n",
|
||
" ep 90/504 [main:86/500] loss=0.2758 acc=0.8969 val_auc=0.7002 val_acc=0.8375 best_auc=0.7695\n",
|
||
" ep 100/504 [main:96/500] loss=0.2590 acc=0.8812 val_auc=0.6926 val_acc=0.8250 best_auc=0.7695\n",
|
||
" ep 110/504 [main:106/500] loss=0.2618 acc=0.8719 val_auc=0.6786 val_acc=0.8000 best_auc=0.7695\n",
|
||
" ep 120/504 [main:116/500] loss=0.2554 acc=0.8844 val_auc=0.6634 val_acc=0.8000 best_auc=0.7695\n",
|
||
" ep 130/504 [main:126/500] loss=0.2351 acc=0.9125 val_auc=0.6558 val_acc=0.8125 best_auc=0.7695\n",
|
||
" ep 140/504 [main:136/500] loss=0.2428 acc=0.9000 val_auc=0.6580 val_acc=0.8000 best_auc=0.7695\n",
|
||
" ep 150/504 [main:146/500] loss=0.2035 acc=0.9062 val_auc=0.6569 val_acc=0.8250 best_auc=0.7695\n",
|
||
" ep 160/504 [main:156/500] loss=0.2083 acc=0.9250 val_auc=0.6580 val_acc=0.8125 best_auc=0.7695\n",
|
||
" ep 170/504 [main:166/500] loss=0.2079 acc=0.9062 val_auc=0.6537 val_acc=0.7875 best_auc=0.7695\n",
|
||
" ep 180/504 [main:176/500] loss=0.2097 acc=0.9062 val_auc=0.6667 val_acc=0.8125 best_auc=0.7695\n",
|
||
" ep 190/504 [main:186/500] loss=0.2072 acc=0.9062 val_auc=0.6472 val_acc=0.8125 best_auc=0.7695\n",
|
||
" ep 200/504 [main:196/500] loss=0.1776 acc=0.9281 val_auc=0.6580 val_acc=0.8000 best_auc=0.7695\n",
|
||
" ep 210/504 [main:206/500] loss=0.1911 acc=0.9219 val_auc=0.6580 val_acc=0.7750 best_auc=0.7695\n",
|
||
" ep 220/504 [main:216/500] loss=0.1770 acc=0.9313 val_auc=0.6634 val_acc=0.7750 best_auc=0.7695\n",
|
||
" ep 230/504 [main:226/500] loss=0.1707 acc=0.9344 val_auc=0.6634 val_acc=0.8000 best_auc=0.7695\n",
|
||
" ep 240/504 [main:236/500] loss=0.1632 acc=0.9375 val_auc=0.6461 val_acc=0.7875 best_auc=0.7695\n",
|
||
" ep 250/504 [main:246/500] loss=0.1595 acc=0.9344 val_auc=0.6677 val_acc=0.8000 best_auc=0.7695\n",
|
||
" ep 260/504 [main:256/500] loss=0.1478 acc=0.9375 val_auc=0.6602 val_acc=0.7875 best_auc=0.7695\n",
|
||
" ep 270/504 [main:266/500] loss=0.1361 acc=0.9437 val_auc=0.6483 val_acc=0.7750 best_auc=0.7695\n",
|
||
" ep 280/504 [main:276/500] loss=0.1370 acc=0.9531 val_auc=0.6418 val_acc=0.7500 best_auc=0.7695\n",
|
||
" ep 290/504 [main:286/500] loss=0.1358 acc=0.9500 val_auc=0.6439 val_acc=0.7750 best_auc=0.7695\n",
|
||
" ep 300/504 [main:296/500] loss=0.1243 acc=0.9563 val_auc=0.6353 val_acc=0.7750 best_auc=0.7695\n",
|
||
" ep 310/504 [main:306/500] loss=0.1302 acc=0.9563 val_auc=0.6385 val_acc=0.7875 best_auc=0.7695\n",
|
||
" ep 320/504 [main:316/500] loss=0.1251 acc=0.9469 val_auc=0.6310 val_acc=0.7375 best_auc=0.7695\n",
|
||
" ep 330/504 [main:326/500] loss=0.1119 acc=0.9563 val_auc=0.6364 val_acc=0.7750 best_auc=0.7695\n",
|
||
" ep 340/504 [main:336/500] loss=0.0943 acc=0.9688 val_auc=0.6212 val_acc=0.7750 best_auc=0.7695\n",
|
||
" ep 350/504 [main:346/500] loss=0.1104 acc=0.9594 val_auc=0.6418 val_acc=0.7375 best_auc=0.7695\n",
|
||
" ep 360/504 [main:356/500] loss=0.1088 acc=0.9563 val_auc=0.6201 val_acc=0.7000 best_auc=0.7695\n",
|
||
" ep 370/504 [main:366/500] loss=0.0877 acc=0.9719 val_auc=0.6180 val_acc=0.7625 best_auc=0.7695\n",
|
||
" ep 380/504 [main:376/500] loss=0.0964 acc=0.9688 val_auc=0.6223 val_acc=0.7375 best_auc=0.7695\n",
|
||
" ep 390/504 [main:386/500] loss=0.0972 acc=0.9625 val_auc=0.6190 val_acc=0.7375 best_auc=0.7695\n",
|
||
" ep 400/504 [main:396/500] loss=0.0975 acc=0.9563 val_auc=0.6299 val_acc=0.7500 best_auc=0.7695\n",
|
||
" ep 410/504 [main:406/500] loss=0.0902 acc=0.9625 val_auc=0.6115 val_acc=0.7125 best_auc=0.7695\n",
|
||
" ep 420/504 [main:416/500] loss=0.0731 acc=0.9688 val_auc=0.6126 val_acc=0.7125 best_auc=0.7695\n",
|
||
" ep 430/504 [main:426/500] loss=0.0791 acc=0.9750 val_auc=0.5996 val_acc=0.7750 best_auc=0.7695\n",
|
||
" ep 440/504 [main:436/500] loss=0.0731 acc=0.9781 val_auc=0.5996 val_acc=0.7500 best_auc=0.7695\n",
|
||
" ep 450/504 [main:446/500] loss=0.0753 acc=0.9812 val_auc=0.6180 val_acc=0.7375 best_auc=0.7695\n",
|
||
" ep 460/504 [main:456/500] loss=0.0847 acc=0.9656 val_auc=0.6126 val_acc=0.7500 best_auc=0.7695\n",
|
||
" ep 470/504 [main:466/500] loss=0.0618 acc=0.9750 val_auc=0.6147 val_acc=0.7375 best_auc=0.7695\n",
|
||
" ep 480/504 [main:476/500] loss=0.0658 acc=0.9781 val_auc=0.6028 val_acc=0.7125 best_auc=0.7695\n",
|
||
" ep 490/504 [main:486/500] loss=0.0494 acc=0.9875 val_auc=0.6061 val_acc=0.7250 best_auc=0.7695\n",
|
||
" ep 500/504 [main:496/500] loss=0.0715 acc=0.9750 val_auc=0.5963 val_acc=0.7500 best_auc=0.7695\n",
|
||
" ep 504/504 [main:500/500] loss=0.0692 acc=0.9812 val_auc=0.6061 val_acc=0.7625 best_auc=0.7695\n",
|
||
" [fold 1] best_epoch=25 best_auc=0.7695 val_auc=0.7695 val_acc=0.8375 hld_auc=0.5800 hld_acc=0.5000\n",
|
||
"\n",
|
||
"[fold 2/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=504\n",
|
||
" ep 1/504 [tower_warmup:0/500] loss=0.7256 acc=0.4313 val_auc=0.5357 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/504 [main:6/500] loss=0.4598 acc=0.8063 val_auc=0.6688 val_acc=0.8250 best_auc=0.6721\n",
|
||
" ep 20/504 [main:16/500] loss=0.4094 acc=0.8156 val_auc=0.6634 val_acc=0.8250 best_auc=0.6721\n",
|
||
" ep 30/504 [main:26/500] loss=0.3644 acc=0.8438 val_auc=0.6623 val_acc=0.8625 best_auc=0.6721\n",
|
||
" ep 40/504 [main:36/500] loss=0.3282 acc=0.8625 val_auc=0.6764 val_acc=0.8500 best_auc=0.6764\n",
|
||
" ep 50/504 [main:46/500] loss=0.3185 acc=0.8719 val_auc=0.6742 val_acc=0.8500 best_auc=0.6764\n",
|
||
" ep 60/504 [main:56/500] loss=0.3162 acc=0.8656 val_auc=0.6797 val_acc=0.8625 best_auc=0.6807\n",
|
||
" ep 70/504 [main:66/500] loss=0.3001 acc=0.8656 val_auc=0.6742 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 80/504 [main:76/500] loss=0.2770 acc=0.8781 val_auc=0.6677 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 90/504 [main:86/500] loss=0.2678 acc=0.8781 val_auc=0.6688 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 100/504 [main:96/500] loss=0.2680 acc=0.8844 val_auc=0.6710 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 110/504 [main:106/500] loss=0.2736 acc=0.8750 val_auc=0.6667 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 120/504 [main:116/500] loss=0.2497 acc=0.8969 val_auc=0.6634 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 130/504 [main:126/500] loss=0.2445 acc=0.8750 val_auc=0.6721 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 140/504 [main:136/500] loss=0.2386 acc=0.8875 val_auc=0.6721 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 150/504 [main:146/500] loss=0.2285 acc=0.9062 val_auc=0.6764 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 160/504 [main:156/500] loss=0.2232 acc=0.9000 val_auc=0.6775 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 170/504 [main:166/500] loss=0.2245 acc=0.8906 val_auc=0.6732 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 180/504 [main:176/500] loss=0.1975 acc=0.9187 val_auc=0.6753 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 190/504 [main:186/500] loss=0.2033 acc=0.9062 val_auc=0.6753 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 200/504 [main:196/500] loss=0.1839 acc=0.9313 val_auc=0.6710 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 210/504 [main:206/500] loss=0.1848 acc=0.9187 val_auc=0.6688 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 220/504 [main:216/500] loss=0.1744 acc=0.9187 val_auc=0.6645 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 230/504 [main:226/500] loss=0.1605 acc=0.9406 val_auc=0.6613 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 240/504 [main:236/500] loss=0.1716 acc=0.9250 val_auc=0.6602 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 250/504 [main:246/500] loss=0.1698 acc=0.9125 val_auc=0.6515 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 260/504 [main:256/500] loss=0.1620 acc=0.9375 val_auc=0.6569 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 270/504 [main:266/500] loss=0.1604 acc=0.9219 val_auc=0.6483 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 280/504 [main:276/500] loss=0.1346 acc=0.9406 val_auc=0.6504 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 290/504 [main:286/500] loss=0.1311 acc=0.9531 val_auc=0.6515 val_acc=0.8250 best_auc=0.6807\n",
|
||
" ep 300/504 [main:296/500] loss=0.1297 acc=0.9500 val_auc=0.6504 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 310/504 [main:306/500] loss=0.1410 acc=0.9375 val_auc=0.6429 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 320/504 [main:316/500] loss=0.1262 acc=0.9437 val_auc=0.6407 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 330/504 [main:326/500] loss=0.1304 acc=0.9500 val_auc=0.6353 val_acc=0.8625 best_auc=0.6807\n",
|
||
" ep 340/504 [main:336/500] loss=0.1197 acc=0.9469 val_auc=0.6439 val_acc=0.8625 best_auc=0.6807\n",
|
||
" ep 350/504 [main:346/500] loss=0.1168 acc=0.9563 val_auc=0.6429 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 360/504 [main:356/500] loss=0.1068 acc=0.9625 val_auc=0.6450 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 370/504 [main:366/500] loss=0.1347 acc=0.9500 val_auc=0.6439 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 380/504 [main:376/500] loss=0.1246 acc=0.9469 val_auc=0.6418 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 390/504 [main:386/500] loss=0.1123 acc=0.9563 val_auc=0.6472 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 400/504 [main:396/500] loss=0.1113 acc=0.9406 val_auc=0.6385 val_acc=0.8250 best_auc=0.6807\n",
|
||
" ep 410/504 [main:406/500] loss=0.1002 acc=0.9594 val_auc=0.6429 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 420/504 [main:416/500] loss=0.1043 acc=0.9563 val_auc=0.6342 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 430/504 [main:426/500] loss=0.0909 acc=0.9531 val_auc=0.6396 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 440/504 [main:436/500] loss=0.0894 acc=0.9719 val_auc=0.6418 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 450/504 [main:446/500] loss=0.0830 acc=0.9688 val_auc=0.6429 val_acc=0.8625 best_auc=0.6807\n",
|
||
" ep 460/504 [main:456/500] loss=0.0782 acc=0.9656 val_auc=0.6439 val_acc=0.8250 best_auc=0.6807\n",
|
||
" ep 470/504 [main:466/500] loss=0.0767 acc=0.9719 val_auc=0.6407 val_acc=0.8500 best_auc=0.6807\n",
|
||
" ep 480/504 [main:476/500] loss=0.0894 acc=0.9563 val_auc=0.6353 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 490/504 [main:486/500] loss=0.0889 acc=0.9625 val_auc=0.6396 val_acc=0.8375 best_auc=0.6807\n",
|
||
" ep 500/504 [main:496/500] loss=0.0913 acc=0.9594 val_auc=0.6245 val_acc=0.8250 best_auc=0.6807\n",
|
||
" ep 504/504 [main:500/500] loss=0.0664 acc=0.9719 val_auc=0.6288 val_acc=0.8625 best_auc=0.6807\n",
|
||
" [fold 2] best_epoch=56 best_auc=0.6807 val_auc=0.6807 val_acc=0.8500 hld_auc=0.6100 hld_acc=0.4500\n",
|
||
"\n",
|
||
"[fold 3/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=504\n",
|
||
" ep 1/504 [tower_warmup:0/500] loss=0.6534 acc=0.6250 val_auc=0.4286 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/504 [main:6/500] loss=0.4577 acc=0.8031 val_auc=0.6439 val_acc=0.8250 best_auc=0.6439\n",
|
||
" ep 20/504 [main:16/500] loss=0.4206 acc=0.8063 val_auc=0.7024 val_acc=0.8625 best_auc=0.7024\n",
|
||
" ep 30/504 [main:26/500] loss=0.3949 acc=0.8344 val_auc=0.7522 val_acc=0.8625 best_auc=0.7543\n",
|
||
" ep 40/504 [main:36/500] loss=0.3668 acc=0.8469 val_auc=0.7760 val_acc=0.8750 best_auc=0.7814\n",
|
||
" ep 50/504 [main:46/500] loss=0.3506 acc=0.8375 val_auc=0.7760 val_acc=0.8750 best_auc=0.7879\n",
|
||
" ep 60/504 [main:56/500] loss=0.3239 acc=0.8531 val_auc=0.7630 val_acc=0.8750 best_auc=0.7879\n",
|
||
" ep 70/504 [main:66/500] loss=0.3176 acc=0.8719 val_auc=0.7587 val_acc=0.8750 best_auc=0.7879\n",
|
||
" ep 80/504 [main:76/500] loss=0.3041 acc=0.8656 val_auc=0.7413 val_acc=0.9000 best_auc=0.7879\n",
|
||
" ep 90/504 [main:86/500] loss=0.2906 acc=0.8750 val_auc=0.7381 val_acc=0.8625 best_auc=0.7879\n",
|
||
" ep 100/504 [main:96/500] loss=0.2860 acc=0.8688 val_auc=0.7262 val_acc=0.8500 best_auc=0.7879\n",
|
||
" ep 110/504 [main:106/500] loss=0.2587 acc=0.8719 val_auc=0.7262 val_acc=0.8375 best_auc=0.7879\n",
|
||
" ep 120/504 [main:116/500] loss=0.2615 acc=0.8781 val_auc=0.7056 val_acc=0.8375 best_auc=0.7879\n",
|
||
" ep 130/504 [main:126/500] loss=0.2600 acc=0.8656 val_auc=0.7035 val_acc=0.8250 best_auc=0.7879\n",
|
||
" ep 140/504 [main:136/500] loss=0.2261 acc=0.8969 val_auc=0.6883 val_acc=0.8250 best_auc=0.7879\n",
|
||
" ep 150/504 [main:146/500] loss=0.2230 acc=0.9000 val_auc=0.6829 val_acc=0.7875 best_auc=0.7879\n",
|
||
" ep 160/504 [main:156/500] loss=0.2128 acc=0.9219 val_auc=0.6753 val_acc=0.8000 best_auc=0.7879\n",
|
||
" ep 170/504 [main:166/500] loss=0.2072 acc=0.9094 val_auc=0.6580 val_acc=0.7875 best_auc=0.7879\n",
|
||
" ep 180/504 [main:176/500] loss=0.1991 acc=0.9313 val_auc=0.6645 val_acc=0.7750 best_auc=0.7879\n",
|
||
" ep 190/504 [main:186/500] loss=0.1997 acc=0.9219 val_auc=0.6591 val_acc=0.7625 best_auc=0.7879\n",
|
||
" ep 200/504 [main:196/500] loss=0.1934 acc=0.9219 val_auc=0.6580 val_acc=0.7375 best_auc=0.7879\n",
|
||
" ep 210/504 [main:206/500] loss=0.1730 acc=0.9281 val_auc=0.6526 val_acc=0.7375 best_auc=0.7879\n",
|
||
" ep 220/504 [main:216/500] loss=0.1534 acc=0.9250 val_auc=0.6558 val_acc=0.7375 best_auc=0.7879\n",
|
||
" ep 230/504 [main:226/500] loss=0.1795 acc=0.9375 val_auc=0.6580 val_acc=0.7250 best_auc=0.7879\n",
|
||
" ep 240/504 [main:236/500] loss=0.1619 acc=0.9344 val_auc=0.6439 val_acc=0.7625 best_auc=0.7879\n",
|
||
" ep 250/504 [main:246/500] loss=0.1595 acc=0.9406 val_auc=0.6515 val_acc=0.7250 best_auc=0.7879\n",
|
||
" ep 260/504 [main:256/500] loss=0.1561 acc=0.9375 val_auc=0.6515 val_acc=0.7500 best_auc=0.7879\n",
|
||
" ep 270/504 [main:266/500] loss=0.1674 acc=0.9281 val_auc=0.6537 val_acc=0.7125 best_auc=0.7879\n",
|
||
" ep 280/504 [main:276/500] loss=0.1298 acc=0.9469 val_auc=0.6558 val_acc=0.7500 best_auc=0.7879\n",
|
||
" ep 290/504 [main:286/500] loss=0.1352 acc=0.9563 val_auc=0.6472 val_acc=0.7500 best_auc=0.7879\n",
|
||
" ep 300/504 [main:296/500] loss=0.1253 acc=0.9563 val_auc=0.6461 val_acc=0.7375 best_auc=0.7879\n",
|
||
" ep 310/504 [main:306/500] loss=0.1121 acc=0.9625 val_auc=0.6429 val_acc=0.7500 best_auc=0.7879\n",
|
||
" ep 320/504 [main:316/500] loss=0.1128 acc=0.9563 val_auc=0.6429 val_acc=0.7000 best_auc=0.7879\n",
|
||
" ep 330/504 [main:326/500] loss=0.1115 acc=0.9625 val_auc=0.6429 val_acc=0.7625 best_auc=0.7879\n",
|
||
" ep 340/504 [main:336/500] loss=0.1242 acc=0.9500 val_auc=0.6450 val_acc=0.7500 best_auc=0.7879\n",
|
||
" ep 350/504 [main:346/500] loss=0.1008 acc=0.9719 val_auc=0.6494 val_acc=0.7250 best_auc=0.7879\n",
|
||
" ep 360/504 [main:356/500] loss=0.1121 acc=0.9563 val_auc=0.6569 val_acc=0.7625 best_auc=0.7879\n",
|
||
" ep 370/504 [main:366/500] loss=0.1061 acc=0.9594 val_auc=0.6602 val_acc=0.7250 best_auc=0.7879\n",
|
||
" ep 380/504 [main:376/500] loss=0.1133 acc=0.9563 val_auc=0.6558 val_acc=0.7250 best_auc=0.7879\n",
|
||
" ep 390/504 [main:386/500] loss=0.0886 acc=0.9750 val_auc=0.6623 val_acc=0.7375 best_auc=0.7879\n",
|
||
" ep 400/504 [main:396/500] loss=0.0989 acc=0.9563 val_auc=0.6613 val_acc=0.7250 best_auc=0.7879\n",
|
||
" ep 410/504 [main:406/500] loss=0.1204 acc=0.9563 val_auc=0.6569 val_acc=0.7250 best_auc=0.7879\n",
|
||
" ep 420/504 [main:416/500] loss=0.1132 acc=0.9563 val_auc=0.6602 val_acc=0.7000 best_auc=0.7879\n",
|
||
" ep 430/504 [main:426/500] loss=0.0870 acc=0.9656 val_auc=0.6613 val_acc=0.7125 best_auc=0.7879\n",
|
||
" ep 440/504 [main:436/500] loss=0.0937 acc=0.9688 val_auc=0.6656 val_acc=0.7375 best_auc=0.7879\n",
|
||
" ep 450/504 [main:446/500] loss=0.0969 acc=0.9563 val_auc=0.6504 val_acc=0.7250 best_auc=0.7879\n",
|
||
" ep 460/504 [main:456/500] loss=0.0871 acc=0.9781 val_auc=0.6656 val_acc=0.7125 best_auc=0.7879\n",
|
||
" ep 470/504 [main:466/500] loss=0.0841 acc=0.9625 val_auc=0.6677 val_acc=0.7250 best_auc=0.7879\n",
|
||
" ep 480/504 [main:476/500] loss=0.0877 acc=0.9656 val_auc=0.6645 val_acc=0.7125 best_auc=0.7879\n",
|
||
" ep 490/504 [main:486/500] loss=0.0833 acc=0.9656 val_auc=0.6580 val_acc=0.7250 best_auc=0.7879\n",
|
||
" ep 500/504 [main:496/500] loss=0.0871 acc=0.9688 val_auc=0.6645 val_acc=0.7375 best_auc=0.7879\n",
|
||
" ep 504/504 [main:500/500] loss=0.0844 acc=0.9656 val_auc=0.6645 val_acc=0.7250 best_auc=0.7879\n",
|
||
" [fold 3] best_epoch=42 best_auc=0.7879 val_auc=0.7879 val_acc=0.8750 hld_auc=0.6700 hld_acc=0.4500\n",
|
||
"\n",
|
||
"[fold 4/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=504\n",
|
||
" ep 1/504 [tower_warmup:0/500] loss=0.5378 acc=0.8063 val_auc=0.3301 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/504 [main:6/500] loss=0.4214 acc=0.8063 val_auc=0.3658 val_acc=0.8250 best_auc=0.3658\n",
|
||
" ep 20/504 [main:16/500] loss=0.3523 acc=0.8594 val_auc=0.4232 val_acc=0.7625 best_auc=0.4232\n",
|
||
" ep 30/504 [main:26/500] loss=0.3032 acc=0.8750 val_auc=0.4946 val_acc=0.7625 best_auc=0.4946\n",
|
||
" ep 40/504 [main:36/500] loss=0.2875 acc=0.8906 val_auc=0.5152 val_acc=0.7500 best_auc=0.5152\n",
|
||
" ep 50/504 [main:46/500] loss=0.2790 acc=0.8812 val_auc=0.5227 val_acc=0.7750 best_auc=0.5303\n",
|
||
" ep 60/504 [main:56/500] loss=0.2722 acc=0.8844 val_auc=0.5260 val_acc=0.7500 best_auc=0.5314\n",
|
||
" ep 70/504 [main:66/500] loss=0.2452 acc=0.9125 val_auc=0.5173 val_acc=0.7625 best_auc=0.5314\n",
|
||
" ep 80/504 [main:76/500] loss=0.2439 acc=0.9156 val_auc=0.5162 val_acc=0.7625 best_auc=0.5314\n",
|
||
" ep 90/504 [main:86/500] loss=0.2424 acc=0.8938 val_auc=0.5195 val_acc=0.7625 best_auc=0.5314\n",
|
||
" ep 100/504 [main:96/500] loss=0.2347 acc=0.9031 val_auc=0.5162 val_acc=0.7750 best_auc=0.5314\n",
|
||
" ep 110/504 [main:106/500] loss=0.2403 acc=0.8906 val_auc=0.5119 val_acc=0.7625 best_auc=0.5314\n",
|
||
" ep 120/504 [main:116/500] loss=0.2184 acc=0.9125 val_auc=0.5087 val_acc=0.7625 best_auc=0.5314\n",
|
||
" ep 130/504 [main:126/500] loss=0.2160 acc=0.9031 val_auc=0.5206 val_acc=0.7750 best_auc=0.5314\n",
|
||
" ep 140/504 [main:136/500] loss=0.2003 acc=0.9094 val_auc=0.5011 val_acc=0.7625 best_auc=0.5314\n",
|
||
" ep 150/504 [main:146/500] loss=0.2094 acc=0.9000 val_auc=0.5108 val_acc=0.7625 best_auc=0.5314\n",
|
||
" ep 160/504 [main:156/500] loss=0.1967 acc=0.9062 val_auc=0.5032 val_acc=0.7750 best_auc=0.5314\n",
|
||
" ep 170/504 [main:166/500] loss=0.1905 acc=0.9062 val_auc=0.5097 val_acc=0.7750 best_auc=0.5314\n",
|
||
" ep 180/504 [main:176/500] loss=0.1785 acc=0.9281 val_auc=0.5043 val_acc=0.7250 best_auc=0.5314\n",
|
||
" ep 190/504 [main:186/500] loss=0.1782 acc=0.9094 val_auc=0.5108 val_acc=0.7750 best_auc=0.5314\n",
|
||
" ep 200/504 [main:196/500] loss=0.1686 acc=0.9156 val_auc=0.5043 val_acc=0.7750 best_auc=0.5314\n",
|
||
" ep 210/504 [main:206/500] loss=0.1469 acc=0.9344 val_auc=0.5054 val_acc=0.7750 best_auc=0.5314\n",
|
||
" ep 220/504 [main:216/500] loss=0.1436 acc=0.9344 val_auc=0.5032 val_acc=0.7875 best_auc=0.5314\n",
|
||
" ep 230/504 [main:226/500] loss=0.1544 acc=0.9437 val_auc=0.5065 val_acc=0.7875 best_auc=0.5314\n",
|
||
" ep 240/504 [main:236/500] loss=0.1363 acc=0.9313 val_auc=0.5087 val_acc=0.7625 best_auc=0.5314\n",
|
||
" ep 250/504 [main:246/500] loss=0.1370 acc=0.9437 val_auc=0.5141 val_acc=0.7500 best_auc=0.5314\n",
|
||
" ep 260/504 [main:256/500] loss=0.1400 acc=0.9563 val_auc=0.5022 val_acc=0.7750 best_auc=0.5314\n",
|
||
" ep 270/504 [main:266/500] loss=0.1316 acc=0.9437 val_auc=0.5173 val_acc=0.7125 best_auc=0.5314\n",
|
||
" ep 280/504 [main:276/500] loss=0.1117 acc=0.9594 val_auc=0.5076 val_acc=0.7750 best_auc=0.5314\n",
|
||
" ep 290/504 [main:286/500] loss=0.1195 acc=0.9531 val_auc=0.4935 val_acc=0.7750 best_auc=0.5314\n",
|
||
" ep 300/504 [main:296/500] loss=0.1080 acc=0.9563 val_auc=0.4978 val_acc=0.7375 best_auc=0.5314\n",
|
||
" ep 310/504 [main:306/500] loss=0.1071 acc=0.9500 val_auc=0.4968 val_acc=0.7125 best_auc=0.5314\n",
|
||
" ep 320/504 [main:316/500] loss=0.1209 acc=0.9531 val_auc=0.4946 val_acc=0.7625 best_auc=0.5314\n",
|
||
" ep 330/504 [main:326/500] loss=0.1129 acc=0.9531 val_auc=0.4968 val_acc=0.7250 best_auc=0.5314\n",
|
||
" ep 340/504 [main:336/500] loss=0.0910 acc=0.9688 val_auc=0.4816 val_acc=0.7500 best_auc=0.5314\n",
|
||
" ep 350/504 [main:346/500] loss=0.0859 acc=0.9656 val_auc=0.4870 val_acc=0.7375 best_auc=0.5314\n",
|
||
" ep 360/504 [main:356/500] loss=0.0775 acc=0.9750 val_auc=0.4751 val_acc=0.7375 best_auc=0.5314\n",
|
||
" ep 370/504 [main:366/500] loss=0.0841 acc=0.9688 val_auc=0.4751 val_acc=0.7375 best_auc=0.5314\n",
|
||
" ep 380/504 [main:376/500] loss=0.0810 acc=0.9750 val_auc=0.4848 val_acc=0.7250 best_auc=0.5314\n",
|
||
" ep 390/504 [main:386/500] loss=0.0836 acc=0.9688 val_auc=0.4805 val_acc=0.7375 best_auc=0.5314\n",
|
||
" ep 400/504 [main:396/500] loss=0.0762 acc=0.9719 val_auc=0.4827 val_acc=0.7375 best_auc=0.5314\n",
|
||
" ep 410/504 [main:406/500] loss=0.0866 acc=0.9688 val_auc=0.4762 val_acc=0.7500 best_auc=0.5314\n",
|
||
" ep 420/504 [main:416/500] loss=0.0701 acc=0.9875 val_auc=0.4827 val_acc=0.7375 best_auc=0.5314\n",
|
||
" ep 430/504 [main:426/500] loss=0.0635 acc=0.9812 val_auc=0.4762 val_acc=0.7250 best_auc=0.5314\n",
|
||
" ep 440/504 [main:436/500] loss=0.0687 acc=0.9688 val_auc=0.4740 val_acc=0.7250 best_auc=0.5314\n",
|
||
" ep 450/504 [main:446/500] loss=0.0687 acc=0.9781 val_auc=0.4838 val_acc=0.7250 best_auc=0.5314\n",
|
||
" ep 460/504 [main:456/500] loss=0.0567 acc=0.9844 val_auc=0.4827 val_acc=0.7250 best_auc=0.5314\n",
|
||
" ep 470/504 [main:466/500] loss=0.0613 acc=0.9781 val_auc=0.4946 val_acc=0.7125 best_auc=0.5314\n",
|
||
" ep 480/504 [main:476/500] loss=0.0456 acc=0.9844 val_auc=0.4665 val_acc=0.7375 best_auc=0.5314\n",
|
||
" ep 490/504 [main:486/500] loss=0.0465 acc=0.9906 val_auc=0.4859 val_acc=0.7000 best_auc=0.5314\n",
|
||
" ep 500/504 [main:496/500] loss=0.0414 acc=0.9938 val_auc=0.4794 val_acc=0.7500 best_auc=0.5314\n",
|
||
" ep 504/504 [main:500/500] loss=0.0397 acc=0.9906 val_auc=0.4773 val_acc=0.7125 best_auc=0.5314\n",
|
||
" [fold 4] best_epoch=57 best_auc=0.5314 val_auc=0.5314 val_acc=0.7500 hld_auc=0.7400 hld_acc=0.4000\n",
|
||
"\n",
|
||
"[fold 5/5] eye_train_n=320 bilat_val_n=40 holdout_n=10 warmup=2+2 total=504\n",
|
||
" ep 1/504 [tower_warmup:0/500] loss=0.6734 acc=0.5531 val_auc=0.5942 val_acc=0.8250 best_auc=-1.0000\n",
|
||
" ep 10/504 [main:6/500] loss=0.4503 acc=0.8125 val_auc=0.7370 val_acc=0.8250 best_auc=0.7370\n",
|
||
" ep 20/504 [main:16/500] loss=0.4079 acc=0.8344 val_auc=0.7781 val_acc=0.8250 best_auc=0.7781\n",
|
||
" ep 30/504 [main:26/500] loss=0.3555 acc=0.8719 val_auc=0.8019 val_acc=0.8250 best_auc=0.8074\n",
|
||
" ep 40/504 [main:36/500] loss=0.3245 acc=0.8812 val_auc=0.8009 val_acc=0.8125 best_auc=0.8074\n",
|
||
" ep 50/504 [main:46/500] loss=0.3142 acc=0.8781 val_auc=0.7987 val_acc=0.8125 best_auc=0.8074\n",
|
||
" ep 60/504 [main:56/500] loss=0.2917 acc=0.8812 val_auc=0.7803 val_acc=0.8000 best_auc=0.8074\n",
|
||
" ep 70/504 [main:66/500] loss=0.2938 acc=0.8812 val_auc=0.7792 val_acc=0.7750 best_auc=0.8074\n",
|
||
" ep 80/504 [main:76/500] loss=0.2675 acc=0.8844 val_auc=0.7760 val_acc=0.7875 best_auc=0.8074\n",
|
||
" ep 90/504 [main:86/500] loss=0.2620 acc=0.8969 val_auc=0.7716 val_acc=0.8000 best_auc=0.8074\n",
|
||
" ep 100/504 [main:96/500] loss=0.2648 acc=0.8781 val_auc=0.7792 val_acc=0.7750 best_auc=0.8074\n",
|
||
" ep 110/504 [main:106/500] loss=0.2317 acc=0.9156 val_auc=0.7792 val_acc=0.7750 best_auc=0.8074\n",
|
||
" ep 120/504 [main:116/500] loss=0.2226 acc=0.9094 val_auc=0.7695 val_acc=0.7750 best_auc=0.8074\n",
|
||
" ep 130/504 [main:126/500] loss=0.2327 acc=0.8906 val_auc=0.7760 val_acc=0.8000 best_auc=0.8074\n",
|
||
" ep 140/504 [main:136/500] loss=0.2320 acc=0.9031 val_auc=0.7781 val_acc=0.8125 best_auc=0.8074\n",
|
||
" ep 150/504 [main:146/500] loss=0.2259 acc=0.9156 val_auc=0.7825 val_acc=0.8125 best_auc=0.8074\n",
|
||
" ep 160/504 [main:156/500] loss=0.2252 acc=0.8969 val_auc=0.7857 val_acc=0.8125 best_auc=0.8074\n",
|
||
" ep 170/504 [main:166/500] loss=0.1966 acc=0.9187 val_auc=0.7857 val_acc=0.8250 best_auc=0.8074\n",
|
||
" ep 180/504 [main:176/500] loss=0.1943 acc=0.9094 val_auc=0.7911 val_acc=0.8125 best_auc=0.8074\n",
|
||
" ep 190/504 [main:186/500] loss=0.1909 acc=0.9094 val_auc=0.7944 val_acc=0.8125 best_auc=0.8074\n",
|
||
" ep 200/504 [main:196/500] loss=0.1899 acc=0.9094 val_auc=0.8052 val_acc=0.8250 best_auc=0.8074\n",
|
||
" ep 210/504 [main:206/500] loss=0.1915 acc=0.9094 val_auc=0.8009 val_acc=0.8250 best_auc=0.8095\n",
|
||
" ep 220/504 [main:216/500] loss=0.1731 acc=0.9156 val_auc=0.8052 val_acc=0.8375 best_auc=0.8095\n",
|
||
" ep 230/504 [main:226/500] loss=0.1677 acc=0.9281 val_auc=0.8041 val_acc=0.8250 best_auc=0.8095\n",
|
||
" ep 240/504 [main:236/500] loss=0.1686 acc=0.9281 val_auc=0.8063 val_acc=0.8250 best_auc=0.8149\n",
|
||
" ep 250/504 [main:246/500] loss=0.1683 acc=0.9219 val_auc=0.8063 val_acc=0.8500 best_auc=0.8236\n",
|
||
" ep 260/504 [main:256/500] loss=0.1530 acc=0.9281 val_auc=0.8052 val_acc=0.8375 best_auc=0.8268\n",
|
||
" ep 270/504 [main:266/500] loss=0.1231 acc=0.9437 val_auc=0.8225 val_acc=0.8375 best_auc=0.8268\n",
|
||
" ep 280/504 [main:276/500] loss=0.1554 acc=0.9219 val_auc=0.8171 val_acc=0.8250 best_auc=0.8268\n",
|
||
" ep 290/504 [main:286/500] loss=0.1502 acc=0.9187 val_auc=0.8084 val_acc=0.8500 best_auc=0.8268\n",
|
||
" ep 300/504 [main:296/500] loss=0.1384 acc=0.9375 val_auc=0.8149 val_acc=0.8250 best_auc=0.8268\n",
|
||
" ep 310/504 [main:306/500] loss=0.1393 acc=0.9281 val_auc=0.8203 val_acc=0.8500 best_auc=0.8268\n",
|
||
" ep 320/504 [main:316/500] loss=0.1231 acc=0.9375 val_auc=0.8214 val_acc=0.8625 best_auc=0.8268\n",
|
||
" ep 330/504 [main:326/500] loss=0.1403 acc=0.9344 val_auc=0.8160 val_acc=0.8500 best_auc=0.8268\n",
|
||
" ep 340/504 [main:336/500] loss=0.1216 acc=0.9437 val_auc=0.8258 val_acc=0.8625 best_auc=0.8333\n",
|
||
" ep 350/504 [main:346/500] loss=0.1018 acc=0.9594 val_auc=0.8258 val_acc=0.8625 best_auc=0.8344\n",
|
||
" ep 360/504 [main:356/500] loss=0.1260 acc=0.9437 val_auc=0.8258 val_acc=0.8625 best_auc=0.8344\n",
|
||
" ep 370/504 [main:366/500] loss=0.1208 acc=0.9500 val_auc=0.8182 val_acc=0.8500 best_auc=0.8344\n",
|
||
" ep 380/504 [main:376/500] loss=0.1138 acc=0.9375 val_auc=0.8258 val_acc=0.8750 best_auc=0.8398\n",
|
||
" ep 390/504 [main:386/500] loss=0.1108 acc=0.9437 val_auc=0.8323 val_acc=0.8625 best_auc=0.8398\n",
|
||
" ep 400/504 [main:396/500] loss=0.0919 acc=0.9594 val_auc=0.8333 val_acc=0.8750 best_auc=0.8398\n",
|
||
" ep 410/504 [main:406/500] loss=0.0875 acc=0.9563 val_auc=0.8301 val_acc=0.8750 best_auc=0.8398\n",
|
||
" ep 420/504 [main:416/500] loss=0.1114 acc=0.9594 val_auc=0.8225 val_acc=0.8625 best_auc=0.8398\n",
|
||
" ep 430/504 [main:426/500] loss=0.0835 acc=0.9688 val_auc=0.8344 val_acc=0.8625 best_auc=0.8398\n",
|
||
" ep 440/504 [main:436/500] loss=0.0936 acc=0.9594 val_auc=0.8279 val_acc=0.8625 best_auc=0.8398\n",
|
||
" ep 450/504 [main:446/500] loss=0.0799 acc=0.9719 val_auc=0.8333 val_acc=0.8750 best_auc=0.8398\n",
|
||
" ep 460/504 [main:456/500] loss=0.1025 acc=0.9500 val_auc=0.8323 val_acc=0.8750 best_auc=0.8431\n",
|
||
" ep 470/504 [main:466/500] loss=0.0959 acc=0.9531 val_auc=0.8355 val_acc=0.8625 best_auc=0.8431\n",
|
||
" ep 480/504 [main:476/500] loss=0.0975 acc=0.9625 val_auc=0.8409 val_acc=0.8750 best_auc=0.8431\n",
|
||
" ep 490/504 [main:486/500] loss=0.0651 acc=0.9781 val_auc=0.8312 val_acc=0.8625 best_auc=0.8431\n",
|
||
" ep 500/504 [main:496/500] loss=0.0785 acc=0.9656 val_auc=0.8312 val_acc=0.8625 best_auc=0.8431\n",
|
||
" ep 504/504 [main:500/500] loss=0.0821 acc=0.9750 val_auc=0.8279 val_acc=0.8625 best_auc=0.8431\n",
|
||
" [fold 5] best_epoch=455 best_auc=0.8431 val_auc=0.8431 val_acc=0.8750 hld_auc=0.6600 hld_acc=0.4500\n",
|
||
"\n",
|
||
"Mean val AUC: 0.7225 ± 0.1089\n",
|
||
"Mean hld AUC: 0.6520 ± 0.0549\n",
|
||
"\n",
|
||
"Outputs written to: analysis_data/pipeline_mdonly_500ep/binary/single\n",
|
||
"[mdonly] Running pipeline_mdonly_500ep/multiclass (500 epochs) ...\n",
|
||
"Device: cuda\n",
|
||
"Loading PAPILA data...\n",
|
||
"Loaded: 488 rows feature_dim=25\n",
|
||
"[multiclass] rows=488\n",
|
||
"\n",
|
||
"[fold 1/5] eye_train_n=366 bilat_val_n=46 holdout_n=15 warmup=2+2 total=504\n",
|
||
" ep 1/504 [tower_warmup:0/500] loss=0.9215 acc=0.7049 val_auc=0.6492 val_acc=0.7174 best_auc=-1.0000\n",
|
||
" ep 10/504 [main:6/500] loss=0.7160 acc=0.7104 val_auc=0.7519 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 20/504 [main:16/500] loss=0.6363 acc=0.7377 val_auc=0.7535 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 30/504 [main:26/500] loss=0.5719 acc=0.7842 val_auc=0.7438 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 40/504 [main:36/500] loss=0.5291 acc=0.8087 val_auc=0.7310 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 50/504 [main:46/500] loss=0.4794 acc=0.8306 val_auc=0.7027 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 60/504 [main:56/500] loss=0.4759 acc=0.8197 val_auc=0.6771 val_acc=0.7391 best_auc=0.7612\n",
|
||
" ep 70/504 [main:66/500] loss=0.4396 acc=0.8470 val_auc=0.6640 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 80/504 [main:76/500] loss=0.4274 acc=0.8525 val_auc=0.6494 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 90/504 [main:86/500] loss=0.4066 acc=0.8661 val_auc=0.6401 val_acc=0.7500 best_auc=0.7612\n",
|
||
" ep 100/504 [main:96/500] loss=0.4050 acc=0.8388 val_auc=0.6270 val_acc=0.7391 best_auc=0.7612\n",
|
||
" ep 110/504 [main:106/500] loss=0.3956 acc=0.8497 val_auc=0.6195 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 120/504 [main:116/500] loss=0.3786 acc=0.8634 val_auc=0.6193 val_acc=0.7391 best_auc=0.7612\n",
|
||
" ep 130/504 [main:126/500] loss=0.3701 acc=0.8579 val_auc=0.6133 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 140/504 [main:136/500] loss=0.3573 acc=0.8661 val_auc=0.6060 val_acc=0.7391 best_auc=0.7612\n",
|
||
" ep 150/504 [main:146/500] loss=0.3531 acc=0.8716 val_auc=0.6042 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 160/504 [main:156/500] loss=0.3431 acc=0.8743 val_auc=0.6029 val_acc=0.7391 best_auc=0.7612\n",
|
||
" ep 170/504 [main:166/500] loss=0.3346 acc=0.8852 val_auc=0.5953 val_acc=0.7391 best_auc=0.7612\n",
|
||
" ep 180/504 [main:176/500] loss=0.3195 acc=0.8852 val_auc=0.5861 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 190/504 [main:186/500] loss=0.3279 acc=0.8661 val_auc=0.5845 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 200/504 [main:196/500] loss=0.3326 acc=0.8661 val_auc=0.5792 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 210/504 [main:206/500] loss=0.3045 acc=0.8798 val_auc=0.5748 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 220/504 [main:216/500] loss=0.3011 acc=0.8825 val_auc=0.5764 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 230/504 [main:226/500] loss=0.2854 acc=0.8852 val_auc=0.5655 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 240/504 [main:236/500] loss=0.2766 acc=0.8962 val_auc=0.5708 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 250/504 [main:246/500] loss=0.2684 acc=0.8989 val_auc=0.5659 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 260/504 [main:256/500] loss=0.2610 acc=0.8962 val_auc=0.5534 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 270/504 [main:266/500] loss=0.2725 acc=0.8880 val_auc=0.5561 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 280/504 [main:276/500] loss=0.2527 acc=0.8880 val_auc=0.5483 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 290/504 [main:286/500] loss=0.2422 acc=0.9126 val_auc=0.5457 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 300/504 [main:296/500] loss=0.2480 acc=0.9126 val_auc=0.5401 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 310/504 [main:306/500] loss=0.2340 acc=0.9044 val_auc=0.5406 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 320/504 [main:316/500] loss=0.2156 acc=0.9153 val_auc=0.5332 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 330/504 [main:326/500] loss=0.2290 acc=0.8934 val_auc=0.5304 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 340/504 [main:336/500] loss=0.2156 acc=0.9153 val_auc=0.5363 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 350/504 [main:346/500] loss=0.2104 acc=0.9044 val_auc=0.5327 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 360/504 [main:356/500] loss=0.2064 acc=0.9126 val_auc=0.5262 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 370/504 [main:366/500] loss=0.2095 acc=0.9180 val_auc=0.5261 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 380/504 [main:376/500] loss=0.1801 acc=0.9426 val_auc=0.5126 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 390/504 [main:386/500] loss=0.1865 acc=0.9344 val_auc=0.5110 val_acc=0.7283 best_auc=0.7612\n",
|
||
" ep 400/504 [main:396/500] loss=0.1663 acc=0.9235 val_auc=0.5116 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 410/504 [main:406/500] loss=0.1589 acc=0.9344 val_auc=0.5284 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 420/504 [main:416/500] loss=0.1581 acc=0.9536 val_auc=0.5151 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 430/504 [main:426/500] loss=0.1549 acc=0.9399 val_auc=0.5273 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 440/504 [main:436/500] loss=0.1678 acc=0.9454 val_auc=0.5279 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 450/504 [main:446/500] loss=0.1410 acc=0.9481 val_auc=0.5175 val_acc=0.6739 best_auc=0.7612\n",
|
||
" ep 460/504 [main:456/500] loss=0.1528 acc=0.9372 val_auc=0.5226 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 470/504 [main:466/500] loss=0.1308 acc=0.9563 val_auc=0.5242 val_acc=0.6957 best_auc=0.7612\n",
|
||
" ep 480/504 [main:476/500] loss=0.1311 acc=0.9508 val_auc=0.5244 val_acc=0.7174 best_auc=0.7612\n",
|
||
" ep 490/504 [main:486/500] loss=0.1145 acc=0.9645 val_auc=0.5182 val_acc=0.6739 best_auc=0.7612\n",
|
||
" ep 500/504 [main:496/500] loss=0.0890 acc=0.9727 val_auc=0.5182 val_acc=0.7065 best_auc=0.7612\n",
|
||
" ep 504/504 [main:500/500] loss=0.1108 acc=0.9727 val_auc=0.5200 val_acc=0.7174 best_auc=0.7612\n",
|
||
" [fold 1] best_epoch=5 best_auc=0.7612 val_auc=0.7612 val_acc=0.7174 hld_auc=0.4217 hld_acc=0.3333\n",
|
||
"\n",
|
||
"[fold 2/5] eye_train_n=366 bilat_val_n=46 holdout_n=15 warmup=2+2 total=504\n",
|
||
" ep 1/504 [tower_warmup:0/500] loss=0.9624 acc=0.6721 val_auc=0.5366 val_acc=0.7174 best_auc=-1.0000\n",
|
||
" ep 10/504 [main:6/500] loss=0.7376 acc=0.7049 val_auc=0.6939 val_acc=0.7174 best_auc=0.6939\n",
|
||
" ep 20/504 [main:16/500] loss=0.6507 acc=0.7295 val_auc=0.7239 val_acc=0.7065 best_auc=0.7239\n",
|
||
" ep 30/504 [main:26/500] loss=0.5697 acc=0.7842 val_auc=0.7498 val_acc=0.7717 best_auc=0.7522\n",
|
||
" ep 40/504 [main:36/500] loss=0.5314 acc=0.8033 val_auc=0.7299 val_acc=0.7609 best_auc=0.7522\n",
|
||
" ep 50/504 [main:46/500] loss=0.4951 acc=0.8169 val_auc=0.7157 val_acc=0.7500 best_auc=0.7522\n",
|
||
" ep 60/504 [main:56/500] loss=0.4643 acc=0.8224 val_auc=0.6968 val_acc=0.7391 best_auc=0.7522\n",
|
||
" ep 70/504 [main:66/500] loss=0.4479 acc=0.8333 val_auc=0.6926 val_acc=0.7174 best_auc=0.7522\n",
|
||
" ep 80/504 [main:76/500] loss=0.4424 acc=0.8251 val_auc=0.6814 val_acc=0.7065 best_auc=0.7522\n",
|
||
" ep 90/504 [main:86/500] loss=0.4110 acc=0.8388 val_auc=0.6776 val_acc=0.7283 best_auc=0.7522\n",
|
||
" ep 100/504 [main:96/500] loss=0.4008 acc=0.8306 val_auc=0.6733 val_acc=0.7174 best_auc=0.7522\n",
|
||
" ep 110/504 [main:106/500] loss=0.3988 acc=0.8388 val_auc=0.6679 val_acc=0.7065 best_auc=0.7522\n",
|
||
" ep 120/504 [main:116/500] loss=0.3983 acc=0.8306 val_auc=0.6661 val_acc=0.7065 best_auc=0.7522\n",
|
||
" ep 130/504 [main:126/500] loss=0.3710 acc=0.8470 val_auc=0.6615 val_acc=0.6957 best_auc=0.7522\n",
|
||
" ep 140/504 [main:136/500] loss=0.3580 acc=0.8443 val_auc=0.6600 val_acc=0.6739 best_auc=0.7522\n",
|
||
" ep 150/504 [main:146/500] loss=0.3498 acc=0.8497 val_auc=0.6580 val_acc=0.6739 best_auc=0.7522\n",
|
||
" ep 160/504 [main:156/500] loss=0.3452 acc=0.8415 val_auc=0.6569 val_acc=0.6630 best_auc=0.7522\n",
|
||
" ep 170/504 [main:166/500] loss=0.3311 acc=0.8525 val_auc=0.6563 val_acc=0.6739 best_auc=0.7522\n",
|
||
" ep 180/504 [main:176/500] loss=0.3102 acc=0.8770 val_auc=0.6543 val_acc=0.6630 best_auc=0.7522\n",
|
||
" ep 190/504 [main:186/500] loss=0.3131 acc=0.8716 val_auc=0.6510 val_acc=0.6739 best_auc=0.7522\n",
|
||
" ep 200/504 [main:196/500] loss=0.3036 acc=0.8607 val_auc=0.6490 val_acc=0.6630 best_auc=0.7522\n",
|
||
" ep 210/504 [main:206/500] loss=0.2808 acc=0.8852 val_auc=0.6493 val_acc=0.6630 best_auc=0.7522\n",
|
||
" ep 220/504 [main:216/500] loss=0.2997 acc=0.8852 val_auc=0.6455 val_acc=0.6739 best_auc=0.7522\n",
|
||
" ep 230/504 [main:226/500] loss=0.2681 acc=0.8989 val_auc=0.6439 val_acc=0.6630 best_auc=0.7522\n",
|
||
" ep 240/504 [main:236/500] loss=0.2829 acc=0.8880 val_auc=0.6451 val_acc=0.6630 best_auc=0.7522\n",
|
||
" ep 250/504 [main:246/500] loss=0.2570 acc=0.8934 val_auc=0.6488 val_acc=0.6739 best_auc=0.7522\n",
|
||
" ep 260/504 [main:256/500] loss=0.2392 acc=0.9126 val_auc=0.6434 val_acc=0.6739 best_auc=0.7522\n",
|
||
" ep 270/504 [main:266/500] loss=0.2259 acc=0.9153 val_auc=0.6412 val_acc=0.6630 best_auc=0.7522\n",
|
||
" ep 280/504 [main:276/500] loss=0.2178 acc=0.9262 val_auc=0.6401 val_acc=0.6739 best_auc=0.7522\n",
|
||
" ep 290/504 [main:286/500] loss=0.2115 acc=0.9153 val_auc=0.6329 val_acc=0.6630 best_auc=0.7522\n",
|
||
" ep 300/504 [main:296/500] loss=0.2220 acc=0.9126 val_auc=0.6320 val_acc=0.6739 best_auc=0.7522\n",
|
||
" ep 310/504 [main:306/500] loss=0.1950 acc=0.9399 val_auc=0.6288 val_acc=0.6739 best_auc=0.7522\n",
|
||
" ep 320/504 [main:316/500] loss=0.1868 acc=0.9235 val_auc=0.6274 val_acc=0.6522 best_auc=0.7522\n",
|
||
" ep 330/504 [main:326/500] loss=0.1938 acc=0.9098 val_auc=0.6297 val_acc=0.6630 best_auc=0.7522\n",
|
||
" ep 340/504 [main:336/500] loss=0.1616 acc=0.9399 val_auc=0.6315 val_acc=0.6087 best_auc=0.7522\n",
|
||
" ep 350/504 [main:346/500] loss=0.1782 acc=0.9235 val_auc=0.6319 val_acc=0.6304 best_auc=0.7522\n",
|
||
" ep 360/504 [main:356/500] loss=0.1569 acc=0.9344 val_auc=0.6338 val_acc=0.6522 best_auc=0.7522\n",
|
||
" ep 370/504 [main:366/500] loss=0.1678 acc=0.9372 val_auc=0.6351 val_acc=0.6413 best_auc=0.7522\n",
|
||
" ep 380/504 [main:376/500] loss=0.1608 acc=0.9399 val_auc=0.6298 val_acc=0.6413 best_auc=0.7522\n",
|
||
" ep 390/504 [main:386/500] loss=0.1453 acc=0.9481 val_auc=0.6346 val_acc=0.6304 best_auc=0.7522\n",
|
||
" ep 400/504 [main:396/500] loss=0.1470 acc=0.9454 val_auc=0.6346 val_acc=0.6413 best_auc=0.7522\n",
|
||
" ep 410/504 [main:406/500] loss=0.1417 acc=0.9372 val_auc=0.6361 val_acc=0.6304 best_auc=0.7522\n",
|
||
" ep 420/504 [main:416/500] loss=0.1373 acc=0.9426 val_auc=0.6316 val_acc=0.6522 best_auc=0.7522\n",
|
||
" ep 430/504 [main:426/500] loss=0.1212 acc=0.9645 val_auc=0.6313 val_acc=0.6522 best_auc=0.7522\n",
|
||
" ep 440/504 [main:436/500] loss=0.1078 acc=0.9563 val_auc=0.6287 val_acc=0.6196 best_auc=0.7522\n",
|
||
" ep 450/504 [main:446/500] loss=0.1216 acc=0.9699 val_auc=0.6252 val_acc=0.6196 best_auc=0.7522\n",
|
||
" ep 460/504 [main:456/500] loss=0.1041 acc=0.9617 val_auc=0.6286 val_acc=0.6413 best_auc=0.7522\n",
|
||
" ep 470/504 [main:466/500] loss=0.0972 acc=0.9645 val_auc=0.6218 val_acc=0.6413 best_auc=0.7522\n",
|
||
" ep 480/504 [main:476/500] loss=0.1342 acc=0.9508 val_auc=0.6245 val_acc=0.6413 best_auc=0.7522\n",
|
||
" ep 490/504 [main:486/500] loss=0.1023 acc=0.9699 val_auc=0.6297 val_acc=0.6413 best_auc=0.7522\n",
|
||
" ep 500/504 [main:496/500] loss=0.0934 acc=0.9727 val_auc=0.6310 val_acc=0.6522 best_auc=0.7522\n",
|
||
" ep 504/504 [main:500/500] loss=0.0896 acc=0.9699 val_auc=0.6307 val_acc=0.6413 best_auc=0.7522\n",
|
||
" [fold 2] best_epoch=29 best_auc=0.7522 val_auc=0.7522 val_acc=0.7717 hld_auc=0.5900 hld_acc=0.3333\n",
|
||
"\n",
|
||
"[fold 3/5] eye_train_n=366 bilat_val_n=46 holdout_n=15 warmup=2+2 total=504\n",
|
||
" ep 1/504 [tower_warmup:0/500] loss=0.9942 acc=0.5956 val_auc=0.5834 val_acc=0.7174 best_auc=-1.0000\n",
|
||
" ep 10/504 [main:6/500] loss=0.7359 acc=0.7077 val_auc=0.7530 val_acc=0.7174 best_auc=0.7530\n",
|
||
" ep 20/504 [main:16/500] loss=0.6673 acc=0.7322 val_auc=0.7966 val_acc=0.7717 best_auc=0.7966\n",
|
||
" ep 30/504 [main:26/500] loss=0.6178 acc=0.7650 val_auc=0.8366 val_acc=0.7935 best_auc=0.8366\n",
|
||
" ep 40/504 [main:36/500] loss=0.5630 acc=0.7951 val_auc=0.8396 val_acc=0.8043 best_auc=0.8407\n",
|
||
" ep 50/504 [main:46/500] loss=0.5594 acc=0.7978 val_auc=0.8427 val_acc=0.8043 best_auc=0.8458\n",
|
||
" ep 60/504 [main:56/500] loss=0.5420 acc=0.7869 val_auc=0.8387 val_acc=0.8261 best_auc=0.8466\n",
|
||
" ep 70/504 [main:66/500] loss=0.5171 acc=0.8115 val_auc=0.8365 val_acc=0.8152 best_auc=0.8466\n",
|
||
" ep 80/504 [main:76/500] loss=0.5024 acc=0.8060 val_auc=0.8262 val_acc=0.8152 best_auc=0.8466\n",
|
||
" ep 90/504 [main:86/500] loss=0.4852 acc=0.8033 val_auc=0.8173 val_acc=0.8152 best_auc=0.8466\n",
|
||
" ep 100/504 [main:96/500] loss=0.4730 acc=0.8251 val_auc=0.8046 val_acc=0.8152 best_auc=0.8466\n",
|
||
" ep 110/504 [main:106/500] loss=0.4734 acc=0.8169 val_auc=0.7961 val_acc=0.8043 best_auc=0.8466\n",
|
||
" ep 120/504 [main:116/500] loss=0.4423 acc=0.8361 val_auc=0.7803 val_acc=0.8043 best_auc=0.8466\n",
|
||
" ep 130/504 [main:126/500] loss=0.4228 acc=0.8415 val_auc=0.7731 val_acc=0.8043 best_auc=0.8466\n",
|
||
" ep 140/504 [main:136/500] loss=0.4146 acc=0.8388 val_auc=0.7670 val_acc=0.8043 best_auc=0.8466\n",
|
||
" ep 150/504 [main:146/500] loss=0.3869 acc=0.8579 val_auc=0.7587 val_acc=0.8043 best_auc=0.8466\n",
|
||
" ep 160/504 [main:156/500] loss=0.3799 acc=0.8579 val_auc=0.7486 val_acc=0.8152 best_auc=0.8466\n",
|
||
" ep 170/504 [main:166/500] loss=0.3849 acc=0.8552 val_auc=0.7422 val_acc=0.8043 best_auc=0.8466\n",
|
||
" ep 180/504 [main:176/500] loss=0.3588 acc=0.8634 val_auc=0.7394 val_acc=0.8152 best_auc=0.8466\n",
|
||
" ep 190/504 [main:186/500] loss=0.3496 acc=0.8579 val_auc=0.7343 val_acc=0.8261 best_auc=0.8466\n",
|
||
" ep 200/504 [main:196/500] loss=0.3522 acc=0.8525 val_auc=0.7245 val_acc=0.7826 best_auc=0.8466\n",
|
||
" ep 210/504 [main:206/500] loss=0.3327 acc=0.8661 val_auc=0.7217 val_acc=0.8043 best_auc=0.8466\n",
|
||
" ep 220/504 [main:216/500] loss=0.3175 acc=0.8716 val_auc=0.7171 val_acc=0.8043 best_auc=0.8466\n",
|
||
" ep 230/504 [main:226/500] loss=0.3294 acc=0.8743 val_auc=0.7114 val_acc=0.7935 best_auc=0.8466\n",
|
||
" ep 240/504 [main:236/500] loss=0.2960 acc=0.8880 val_auc=0.7132 val_acc=0.8043 best_auc=0.8466\n",
|
||
" ep 250/504 [main:246/500] loss=0.2996 acc=0.8880 val_auc=0.7080 val_acc=0.7717 best_auc=0.8466\n",
|
||
" ep 260/504 [main:256/500] loss=0.2997 acc=0.8825 val_auc=0.7119 val_acc=0.7826 best_auc=0.8466\n",
|
||
" ep 270/504 [main:266/500] loss=0.2923 acc=0.8825 val_auc=0.7001 val_acc=0.7826 best_auc=0.8466\n",
|
||
" ep 280/504 [main:276/500] loss=0.2886 acc=0.8825 val_auc=0.7042 val_acc=0.7826 best_auc=0.8466\n",
|
||
" ep 290/504 [main:286/500] loss=0.2652 acc=0.8907 val_auc=0.6993 val_acc=0.7826 best_auc=0.8466\n",
|
||
" ep 300/504 [main:296/500] loss=0.2682 acc=0.8989 val_auc=0.7064 val_acc=0.7826 best_auc=0.8466\n",
|
||
" ep 310/504 [main:306/500] loss=0.2579 acc=0.8989 val_auc=0.7036 val_acc=0.7935 best_auc=0.8466\n",
|
||
" ep 320/504 [main:316/500] loss=0.2387 acc=0.9153 val_auc=0.7010 val_acc=0.7500 best_auc=0.8466\n",
|
||
" ep 330/504 [main:326/500] loss=0.2406 acc=0.9098 val_auc=0.7041 val_acc=0.7935 best_auc=0.8466\n",
|
||
" ep 340/504 [main:336/500] loss=0.2474 acc=0.9071 val_auc=0.7018 val_acc=0.7609 best_auc=0.8466\n",
|
||
" ep 350/504 [main:346/500] loss=0.2461 acc=0.8962 val_auc=0.7004 val_acc=0.7609 best_auc=0.8466\n",
|
||
" ep 360/504 [main:356/500] loss=0.2299 acc=0.9208 val_auc=0.6975 val_acc=0.7826 best_auc=0.8466\n",
|
||
" ep 370/504 [main:366/500] loss=0.2234 acc=0.9153 val_auc=0.6891 val_acc=0.7500 best_auc=0.8466\n",
|
||
" ep 380/504 [main:376/500] loss=0.2100 acc=0.9317 val_auc=0.6974 val_acc=0.7500 best_auc=0.8466\n",
|
||
" ep 390/504 [main:386/500] loss=0.2164 acc=0.9262 val_auc=0.6938 val_acc=0.7283 best_auc=0.8466\n",
|
||
" ep 400/504 [main:396/500] loss=0.2023 acc=0.9290 val_auc=0.6920 val_acc=0.7391 best_auc=0.8466\n",
|
||
" ep 410/504 [main:406/500] loss=0.1914 acc=0.9399 val_auc=0.6946 val_acc=0.7391 best_auc=0.8466\n",
|
||
" ep 420/504 [main:416/500] loss=0.2001 acc=0.9290 val_auc=0.6918 val_acc=0.7283 best_auc=0.8466\n",
|
||
" ep 430/504 [main:426/500] loss=0.1834 acc=0.9317 val_auc=0.6855 val_acc=0.7283 best_auc=0.8466\n",
|
||
" ep 440/504 [main:436/500] loss=0.2023 acc=0.9153 val_auc=0.6842 val_acc=0.7065 best_auc=0.8466\n",
|
||
" ep 450/504 [main:446/500] loss=0.1758 acc=0.9426 val_auc=0.6848 val_acc=0.7065 best_auc=0.8466\n",
|
||
" ep 460/504 [main:456/500] loss=0.1636 acc=0.9399 val_auc=0.6908 val_acc=0.7065 best_auc=0.8466\n",
|
||
" ep 470/504 [main:466/500] loss=0.1525 acc=0.9481 val_auc=0.6868 val_acc=0.6848 best_auc=0.8466\n",
|
||
" ep 480/504 [main:476/500] loss=0.1488 acc=0.9344 val_auc=0.6875 val_acc=0.7283 best_auc=0.8466\n",
|
||
" ep 490/504 [main:486/500] loss=0.1462 acc=0.9426 val_auc=0.6818 val_acc=0.6848 best_auc=0.8466\n",
|
||
" ep 500/504 [main:496/500] loss=0.1621 acc=0.9481 val_auc=0.6844 val_acc=0.7174 best_auc=0.8466\n",
|
||
" ep 504/504 [main:500/500] loss=0.1561 acc=0.9481 val_auc=0.6859 val_acc=0.6957 best_auc=0.8466\n",
|
||
" [fold 3] best_epoch=52 best_auc=0.8466 val_auc=0.8466 val_acc=0.8152 hld_auc=0.5300 hld_acc=0.3000\n",
|
||
"\n",
|
||
"[fold 4/5] eye_train_n=366 bilat_val_n=46 holdout_n=15 warmup=2+2 total=504\n",
|
||
" ep 1/504 [tower_warmup:0/500] loss=0.9263 acc=0.7022 val_auc=0.4937 val_acc=0.7174 best_auc=-1.0000\n",
|
||
" ep 10/504 [main:6/500] loss=0.7090 acc=0.7022 val_auc=0.5485 val_acc=0.7174 best_auc=0.5485\n",
|
||
" ep 20/504 [main:16/500] loss=0.6209 acc=0.7350 val_auc=0.5841 val_acc=0.7174 best_auc=0.5841\n",
|
||
" ep 30/504 [main:26/500] loss=0.5670 acc=0.7787 val_auc=0.5881 val_acc=0.7174 best_auc=0.5918\n",
|
||
" ep 40/504 [main:36/500] loss=0.5227 acc=0.7951 val_auc=0.5876 val_acc=0.6957 best_auc=0.5918\n",
|
||
" ep 50/504 [main:46/500] loss=0.4999 acc=0.8169 val_auc=0.5869 val_acc=0.7065 best_auc=0.5951\n",
|
||
" ep 60/504 [main:56/500] loss=0.4622 acc=0.8333 val_auc=0.5905 val_acc=0.6848 best_auc=0.5951\n",
|
||
" ep 70/504 [main:66/500] loss=0.4405 acc=0.8251 val_auc=0.5930 val_acc=0.7174 best_auc=0.5951\n",
|
||
" ep 80/504 [main:76/500] loss=0.4187 acc=0.8279 val_auc=0.5944 val_acc=0.7174 best_auc=0.5980\n",
|
||
" ep 90/504 [main:86/500] loss=0.4120 acc=0.8443 val_auc=0.5898 val_acc=0.7065 best_auc=0.5980\n",
|
||
" ep 100/504 [main:96/500] loss=0.3934 acc=0.8579 val_auc=0.5832 val_acc=0.7065 best_auc=0.5980\n",
|
||
" ep 110/504 [main:106/500] loss=0.3703 acc=0.8470 val_auc=0.5780 val_acc=0.7065 best_auc=0.5980\n",
|
||
" ep 120/504 [main:116/500] loss=0.3747 acc=0.8579 val_auc=0.5814 val_acc=0.7065 best_auc=0.5980\n",
|
||
" ep 130/504 [main:126/500] loss=0.3643 acc=0.8579 val_auc=0.5863 val_acc=0.7174 best_auc=0.5980\n",
|
||
" ep 140/504 [main:136/500] loss=0.3418 acc=0.8689 val_auc=0.5781 val_acc=0.7065 best_auc=0.5980\n",
|
||
" ep 150/504 [main:146/500] loss=0.3294 acc=0.8716 val_auc=0.5809 val_acc=0.6957 best_auc=0.5980\n",
|
||
" ep 160/504 [main:156/500] loss=0.3113 acc=0.8934 val_auc=0.5796 val_acc=0.6957 best_auc=0.5980\n",
|
||
" ep 170/504 [main:166/500] loss=0.3111 acc=0.8825 val_auc=0.5838 val_acc=0.6957 best_auc=0.5980\n",
|
||
" ep 180/504 [main:176/500] loss=0.3026 acc=0.8770 val_auc=0.5840 val_acc=0.7065 best_auc=0.5980\n",
|
||
" ep 190/504 [main:186/500] loss=0.2942 acc=0.8825 val_auc=0.5855 val_acc=0.6957 best_auc=0.5980\n",
|
||
" ep 200/504 [main:196/500] loss=0.2700 acc=0.8962 val_auc=0.5753 val_acc=0.6848 best_auc=0.5980\n",
|
||
" ep 210/504 [main:206/500] loss=0.2723 acc=0.9016 val_auc=0.5829 val_acc=0.6848 best_auc=0.5980\n",
|
||
" ep 220/504 [main:216/500] loss=0.2520 acc=0.8989 val_auc=0.5813 val_acc=0.6413 best_auc=0.5980\n",
|
||
" ep 230/504 [main:226/500] loss=0.2502 acc=0.9098 val_auc=0.5774 val_acc=0.6739 best_auc=0.5980\n",
|
||
" ep 240/504 [main:236/500] loss=0.2340 acc=0.9153 val_auc=0.5777 val_acc=0.6848 best_auc=0.5980\n",
|
||
" ep 250/504 [main:246/500] loss=0.2309 acc=0.9208 val_auc=0.5846 val_acc=0.6522 best_auc=0.5980\n",
|
||
" ep 260/504 [main:256/500] loss=0.2169 acc=0.9262 val_auc=0.5777 val_acc=0.6957 best_auc=0.5980\n",
|
||
" ep 270/504 [main:266/500] loss=0.2173 acc=0.9126 val_auc=0.5770 val_acc=0.6739 best_auc=0.5980\n",
|
||
" ep 280/504 [main:276/500] loss=0.2385 acc=0.9071 val_auc=0.5795 val_acc=0.5978 best_auc=0.5980\n",
|
||
" ep 290/504 [main:286/500] loss=0.1978 acc=0.9344 val_auc=0.5835 val_acc=0.6413 best_auc=0.5980\n",
|
||
" ep 300/504 [main:296/500] loss=0.1871 acc=0.9399 val_auc=0.5743 val_acc=0.6304 best_auc=0.5980\n",
|
||
" ep 310/504 [main:306/500] loss=0.1795 acc=0.9262 val_auc=0.5727 val_acc=0.6413 best_auc=0.5980\n",
|
||
" ep 320/504 [main:316/500] loss=0.2026 acc=0.9317 val_auc=0.5793 val_acc=0.6304 best_auc=0.5980\n",
|
||
" ep 330/504 [main:326/500] loss=0.1872 acc=0.9399 val_auc=0.5738 val_acc=0.6413 best_auc=0.5980\n",
|
||
" ep 340/504 [main:336/500] loss=0.1557 acc=0.9508 val_auc=0.5789 val_acc=0.6087 best_auc=0.5980\n",
|
||
" ep 350/504 [main:346/500] loss=0.1651 acc=0.9399 val_auc=0.5721 val_acc=0.6087 best_auc=0.5980\n",
|
||
" ep 360/504 [main:356/500] loss=0.1541 acc=0.9426 val_auc=0.5621 val_acc=0.5978 best_auc=0.5980\n",
|
||
" ep 370/504 [main:366/500] loss=0.1471 acc=0.9454 val_auc=0.5646 val_acc=0.5978 best_auc=0.5980\n",
|
||
" ep 380/504 [main:376/500] loss=0.1504 acc=0.9399 val_auc=0.5730 val_acc=0.5978 best_auc=0.5980\n",
|
||
" ep 390/504 [main:386/500] loss=0.1352 acc=0.9536 val_auc=0.5678 val_acc=0.6413 best_auc=0.5980\n",
|
||
" ep 400/504 [main:396/500] loss=0.1181 acc=0.9699 val_auc=0.5708 val_acc=0.6413 best_auc=0.5980\n",
|
||
" ep 410/504 [main:406/500] loss=0.1159 acc=0.9672 val_auc=0.5617 val_acc=0.6196 best_auc=0.5980\n",
|
||
" ep 420/504 [main:416/500] loss=0.1304 acc=0.9508 val_auc=0.5720 val_acc=0.5978 best_auc=0.5980\n",
|
||
" ep 430/504 [main:426/500] loss=0.1162 acc=0.9563 val_auc=0.5632 val_acc=0.6087 best_auc=0.5980\n",
|
||
" ep 440/504 [main:436/500] loss=0.1008 acc=0.9536 val_auc=0.5614 val_acc=0.5978 best_auc=0.5980\n",
|
||
" ep 450/504 [main:446/500] loss=0.1151 acc=0.9754 val_auc=0.5696 val_acc=0.6196 best_auc=0.5980\n",
|
||
" ep 460/504 [main:456/500] loss=0.0882 acc=0.9809 val_auc=0.5773 val_acc=0.6087 best_auc=0.5980\n",
|
||
" ep 470/504 [main:466/500] loss=0.1068 acc=0.9590 val_auc=0.5711 val_acc=0.6196 best_auc=0.5980\n",
|
||
" ep 480/504 [main:476/500] loss=0.1064 acc=0.9590 val_auc=0.5726 val_acc=0.6196 best_auc=0.5980\n",
|
||
" ep 490/504 [main:486/500] loss=0.0925 acc=0.9727 val_auc=0.5686 val_acc=0.6196 best_auc=0.5980\n",
|
||
" ep 500/504 [main:496/500] loss=0.0986 acc=0.9645 val_auc=0.5714 val_acc=0.6196 best_auc=0.5980\n",
|
||
" ep 504/504 [main:500/500] loss=0.1001 acc=0.9754 val_auc=0.5751 val_acc=0.6196 best_auc=0.5980\n",
|
||
" [fold 4] best_epoch=74 best_auc=0.5980 val_auc=0.5980 val_acc=0.7174 hld_auc=0.6783 hld_acc=0.3000\n",
|
||
"\n",
|
||
"[fold 5/5] eye_train_n=368 bilat_val_n=45 holdout_n=15 warmup=2+2 total=504\n",
|
||
" ep 1/504 [tower_warmup:0/500] loss=0.9110 acc=0.6929 val_auc=0.4903 val_acc=0.7333 best_auc=-1.0000\n",
|
||
" ep 10/504 [main:6/500] loss=0.7646 acc=0.7011 val_auc=0.7379 val_acc=0.7333 best_auc=0.7379\n",
|
||
" ep 20/504 [main:16/500] loss=0.6818 acc=0.7283 val_auc=0.7677 val_acc=0.7444 best_auc=0.7680\n",
|
||
" ep 30/504 [main:26/500] loss=0.5958 acc=0.7663 val_auc=0.7708 val_acc=0.7333 best_auc=0.7783\n",
|
||
" ep 40/504 [main:36/500] loss=0.5383 acc=0.7908 val_auc=0.7837 val_acc=0.7444 best_auc=0.7852\n",
|
||
" ep 50/504 [main:46/500] loss=0.4943 acc=0.8125 val_auc=0.7984 val_acc=0.7111 best_auc=0.7984\n",
|
||
" ep 60/504 [main:56/500] loss=0.4816 acc=0.8234 val_auc=0.8015 val_acc=0.7222 best_auc=0.8070\n",
|
||
" ep 70/504 [main:66/500] loss=0.4628 acc=0.8370 val_auc=0.8054 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 80/504 [main:76/500] loss=0.4294 acc=0.8342 val_auc=0.8076 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 90/504 [main:86/500] loss=0.4198 acc=0.8397 val_auc=0.8042 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 100/504 [main:96/500] loss=0.4225 acc=0.8424 val_auc=0.7966 val_acc=0.6889 best_auc=0.8103\n",
|
||
" ep 110/504 [main:106/500] loss=0.4208 acc=0.8342 val_auc=0.7988 val_acc=0.6889 best_auc=0.8103\n",
|
||
" ep 120/504 [main:116/500] loss=0.3832 acc=0.8478 val_auc=0.7966 val_acc=0.6889 best_auc=0.8103\n",
|
||
" ep 130/504 [main:126/500] loss=0.3805 acc=0.8587 val_auc=0.7879 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 140/504 [main:136/500] loss=0.3604 acc=0.8424 val_auc=0.7863 val_acc=0.6778 best_auc=0.8103\n",
|
||
" ep 150/504 [main:146/500] loss=0.3313 acc=0.8723 val_auc=0.7856 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 160/504 [main:156/500] loss=0.3314 acc=0.8750 val_auc=0.7857 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 170/504 [main:166/500] loss=0.3405 acc=0.8777 val_auc=0.7839 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 180/504 [main:176/500] loss=0.3582 acc=0.8505 val_auc=0.7854 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 190/504 [main:186/500] loss=0.3103 acc=0.8777 val_auc=0.7822 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 200/504 [main:196/500] loss=0.2994 acc=0.8886 val_auc=0.7761 val_acc=0.7222 best_auc=0.8103\n",
|
||
" ep 210/504 [main:206/500] loss=0.2969 acc=0.8859 val_auc=0.7793 val_acc=0.7222 best_auc=0.8103\n",
|
||
" ep 220/504 [main:216/500] loss=0.2788 acc=0.8913 val_auc=0.7755 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 230/504 [main:226/500] loss=0.2874 acc=0.8804 val_auc=0.7733 val_acc=0.7111 best_auc=0.8103\n",
|
||
" ep 240/504 [main:236/500] loss=0.2574 acc=0.9076 val_auc=0.7760 val_acc=0.6889 best_auc=0.8103\n",
|
||
" ep 250/504 [main:246/500] loss=0.2697 acc=0.8967 val_auc=0.7737 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 260/504 [main:256/500] loss=0.2682 acc=0.9049 val_auc=0.7709 val_acc=0.7222 best_auc=0.8103\n",
|
||
" ep 270/504 [main:266/500] loss=0.2398 acc=0.9022 val_auc=0.7692 val_acc=0.7111 best_auc=0.8103\n",
|
||
" ep 280/504 [main:276/500] loss=0.2477 acc=0.9049 val_auc=0.7709 val_acc=0.6889 best_auc=0.8103\n",
|
||
" ep 290/504 [main:286/500] loss=0.2506 acc=0.9022 val_auc=0.7665 val_acc=0.7222 best_auc=0.8103\n",
|
||
" ep 300/504 [main:296/500] loss=0.2285 acc=0.9185 val_auc=0.7680 val_acc=0.7111 best_auc=0.8103\n",
|
||
" ep 310/504 [main:306/500] loss=0.2376 acc=0.9185 val_auc=0.7659 val_acc=0.7222 best_auc=0.8103\n",
|
||
" ep 320/504 [main:316/500] loss=0.2240 acc=0.9158 val_auc=0.7648 val_acc=0.7222 best_auc=0.8103\n",
|
||
" ep 330/504 [main:326/500] loss=0.1924 acc=0.9266 val_auc=0.7632 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 340/504 [main:336/500] loss=0.2174 acc=0.9076 val_auc=0.7617 val_acc=0.7222 best_auc=0.8103\n",
|
||
" ep 350/504 [main:346/500] loss=0.1754 acc=0.9429 val_auc=0.7573 val_acc=0.7333 best_auc=0.8103\n",
|
||
" ep 360/504 [main:356/500] loss=0.1857 acc=0.9293 val_auc=0.7600 val_acc=0.7333 best_auc=0.8103\n",
|
||
" ep 370/504 [main:366/500] loss=0.1852 acc=0.9130 val_auc=0.7615 val_acc=0.7222 best_auc=0.8103\n",
|
||
" ep 380/504 [main:376/500] loss=0.1660 acc=0.9429 val_auc=0.7626 val_acc=0.7333 best_auc=0.8103\n",
|
||
" ep 390/504 [main:386/500] loss=0.1639 acc=0.9321 val_auc=0.7628 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 400/504 [main:396/500] loss=0.1589 acc=0.9429 val_auc=0.7623 val_acc=0.7111 best_auc=0.8103\n",
|
||
" ep 410/504 [main:406/500] loss=0.1600 acc=0.9484 val_auc=0.7651 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 420/504 [main:416/500] loss=0.1434 acc=0.9484 val_auc=0.7647 val_acc=0.7111 best_auc=0.8103\n",
|
||
" ep 430/504 [main:426/500] loss=0.1414 acc=0.9457 val_auc=0.7676 val_acc=0.7222 best_auc=0.8103\n",
|
||
" ep 440/504 [main:436/500] loss=0.1378 acc=0.9538 val_auc=0.7602 val_acc=0.7222 best_auc=0.8103\n",
|
||
" ep 450/504 [main:446/500] loss=0.1386 acc=0.9457 val_auc=0.7565 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 460/504 [main:456/500] loss=0.1107 acc=0.9701 val_auc=0.7645 val_acc=0.7111 best_auc=0.8103\n",
|
||
" ep 470/504 [main:466/500] loss=0.1240 acc=0.9592 val_auc=0.7626 val_acc=0.7111 best_auc=0.8103\n",
|
||
" ep 480/504 [main:476/500] loss=0.1124 acc=0.9647 val_auc=0.7644 val_acc=0.7111 best_auc=0.8103\n",
|
||
" ep 490/504 [main:486/500] loss=0.1132 acc=0.9592 val_auc=0.7603 val_acc=0.7111 best_auc=0.8103\n",
|
||
" ep 500/504 [main:496/500] loss=0.1063 acc=0.9701 val_auc=0.7666 val_acc=0.7000 best_auc=0.8103\n",
|
||
" ep 504/504 [main:500/500] loss=0.1095 acc=0.9565 val_auc=0.7591 val_acc=0.7000 best_auc=0.8103\n",
|
||
" [fold 5] best_epoch=63 best_auc=0.8103 val_auc=0.8103 val_acc=0.7000 hld_auc=0.5750 hld_acc=0.2667\n",
|
||
"\n",
|
||
"Mean val AUC: 0.7537 ± 0.0850\n",
|
||
"Mean hld AUC: 0.5590 ± 0.0839\n",
|
||
"\n",
|
||
"Outputs written to: analysis_data/pipeline_mdonly_500ep/multiclass/single\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import subprocess\n",
|
||
"from pathlib import Path\n",
|
||
"\n",
|
||
"RUNS = [\n",
|
||
" (\"pipeline_mdonly_50ep\", 50),\n",
|
||
" (\"pipeline_mdonly_200ep\", 200),\n",
|
||
" (\"pipeline_mdonly_500ep\", 500),\n",
|
||
"]\n",
|
||
"EVAL_MODES = [\"binary\", \"multiclass\"]\n",
|
||
"\n",
|
||
"for run_name, epochs in RUNS:\n",
|
||
" for eval_mode in EVAL_MODES:\n",
|
||
" tm_dir = Path(\"analysis_data\") / run_name / eval_mode / \"single\"\n",
|
||
" if (tm_dir / \"summary.json\").exists():\n",
|
||
" print(f\"[mdonly] {run_name}/{eval_mode} already complete — skipping.\")\n",
|
||
" continue\n",
|
||
" print(f\"[mdonly] Running {run_name}/{eval_mode} ({epochs} epochs) ...\")\n",
|
||
" subprocess.run([\n",
|
||
" \"python\", \"scripts/main/v2/run_md_mlp.py\",\n",
|
||
" \"--run-name\", run_name,\n",
|
||
" \"--eval-mode\", eval_mode,\n",
|
||
" \"--tower-mode\", \"single\",\n",
|
||
" \"--epochs\", str(epochs),\n",
|
||
" \"--n-splits\", \"5\",\n",
|
||
" ], check=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 5) Run Pipeline Experiments\n",
|
||
"\n",
|
||
"Runs `single` + `ensemble` (with fused head) across `binary` and `multiclass` for three crop strategies. \n",
|
||
"Outputs land under `analysis_data/pipeline_{nocrop,gt,unet}/`.\n",
|
||
"\n",
|
||
"Each cell can be run independently; expect ~2–4 hours per crop mode on GPU."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# 3a) No crop — original full-size images\n",
|
||
"!python scripts/basic_analysis/compare_hypertower_modes.py \\\n",
|
||
" --tower-modes single ensemble \\\n",
|
||
" --eval-modes binary multiclass \\\n",
|
||
" --epochs 40 --n-splits 5 \\\n",
|
||
" --backbone refugelike \\\n",
|
||
" --img-crop-manifest analysis_data/unet_manifest.csv \\\n",
|
||
" --warmup-md-epochs 50 \\\n",
|
||
" --fused-head \\\n",
|
||
" --run-name pipeline_nocrop"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# 3b) GT crop — expert segmentation masks crop the optic disc region\n",
|
||
"!python scripts/basic_analysis/compare_hypertower_modes.py \\\n",
|
||
" --tower-modes single ensemble \\\n",
|
||
" --eval-modes binary multiclass \\\n",
|
||
" --epochs 40 --n-splits 5 \\\n",
|
||
" --backbone refugelike \\\n",
|
||
" --img-crop-gt \\\n",
|
||
" --warmup-md-epochs 50 \\\n",
|
||
" --fused-head \\\n",
|
||
" --run-name pipeline_gt"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# 3c) UNet crop — trained segmenter crops the optic disc region\n",
|
||
"!python scripts/basic_analysis/compare_hypertower_modes.py \\\n",
|
||
" --tower-modes single ensemble \\\n",
|
||
" --eval-modes binary multiclass \\\n",
|
||
" --epochs 40 --n-splits 5 \\\n",
|
||
" --backbone refugelike \\\n",
|
||
" --img-crop-manifest analysis_data/unet_manifest.csv \\\n",
|
||
" --img-crop-weights models/v2/refuge/segmentation/per_image/best.pt \\\n",
|
||
" --img-crop-normalize per_image \\\n",
|
||
" --img-crop-cache analysis_data/v2_crops_unet_refuge \\\n",
|
||
" --warmup-md-epochs 50 \\\n",
|
||
" --fused-head \\\n",
|
||
" --run-name pipeline_unet"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 6) Visualizations\n",
|
||
"\n",
|
||
"ROC curves, probability strips (binary), and probability triangles (multiclass) for all runs and modes. \n",
|
||
"Outputs written to `{run_dir}/{eval_mode}/{tower_mode}/plots/`."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "7yrcfu0bv1w",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import subprocess\n",
|
||
"from pathlib import Path\n",
|
||
"\n",
|
||
"RUN_DIRS = {\n",
|
||
" \"nocrop\": Path(\"analysis_data/pipeline_nocrop\"),\n",
|
||
" \"gt\": Path(\"analysis_data/pipeline_gt\"),\n",
|
||
" \"unet\": Path(\"analysis_data/pipeline_unet\"),\n",
|
||
"}\n",
|
||
"EVAL_MODES = [\"binary\", \"multiclass\"]\n",
|
||
"TOWER_MODES = [\"single\", \"ensemble\"]\n",
|
||
"\n",
|
||
"for run_name, run_dir in RUN_DIRS.items():\n",
|
||
" for eval_mode in EVAL_MODES:\n",
|
||
" for tower_mode in TOWER_MODES:\n",
|
||
" mode_dir = run_dir / eval_mode / tower_mode\n",
|
||
" if not mode_dir.exists():\n",
|
||
" print(f\" skip (not found): {mode_dir}\")\n",
|
||
" continue\n",
|
||
" print(f\"--- {run_name} / {eval_mode} / {tower_mode} ---\")\n",
|
||
"\n",
|
||
" # ROC curves\n",
|
||
" subprocess.run([\n",
|
||
" \"python\", \"scripts/output_analysis/visualizations/plot_run_roc_v2.py\",\n",
|
||
" \"--run-dir\", str(run_dir),\n",
|
||
" \"--eval-mode\", eval_mode,\n",
|
||
" \"--tower-mode\", tower_mode,\n",
|
||
" ], check=True)\n",
|
||
"\n",
|
||
" # Probability strips — binary only\n",
|
||
" if eval_mode == \"binary\":\n",
|
||
" subprocess.run([\n",
|
||
" \"python\", \"scripts/output_analysis/visualizations/plot_prob_strips.py\",\n",
|
||
" \"--run-dir\", str(mode_dir),\n",
|
||
" \"--head\", \"fused\", \"--style\", \"strips\",\n",
|
||
" ], check=True)\n",
|
||
"\n",
|
||
" # Probability triangle-3D — multiclass only\n",
|
||
" if eval_mode == \"multiclass\":\n",
|
||
" subprocess.run([\n",
|
||
" \"python\", \"scripts/output_analysis/visualizations/plot_prob_strips.py\",\n",
|
||
" \"--run-dir\", str(mode_dir),\n",
|
||
" \"--head\", \"fused\", \"--style\", \"triangle3d\",\n",
|
||
" ], check=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "pnkme10a6ig",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 7) Explainability\n",
|
||
"\n",
|
||
"MD feature importance (Phase 1), GradCAM heatmaps (Phase 2), and fusion event analysis (Phase 3). \n",
|
||
"Phase 3 is disk-based (no re-inference); Phases 1 & 2 reload the model per fold. \n",
|
||
"Skip phases with `--no-phase1`, `--no-phase2`, or `--no-phase3`."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "6f40ybd1k5n",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import subprocess\n",
|
||
"from pathlib import Path\n",
|
||
"\n",
|
||
"RUN_DIRS = {\n",
|
||
" \"nocrop\": Path(\"analysis_data/pipeline_nocrop\"),\n",
|
||
" \"gt\": Path(\"analysis_data/pipeline_gt\"),\n",
|
||
" \"unet\": Path(\"analysis_data/pipeline_unet\"),\n",
|
||
"}\n",
|
||
"EVAL_MODES = [\"binary\", \"multiclass\"]\n",
|
||
"TOWER_MODES = [\"single\", \"ensemble\"]\n",
|
||
"\n",
|
||
"for run_name, run_dir in RUN_DIRS.items():\n",
|
||
" for eval_mode in EVAL_MODES:\n",
|
||
" for tower_mode in TOWER_MODES:\n",
|
||
" run_dir_path = run_dir / eval_mode / tower_mode\n",
|
||
" if not run_dir_path.exists():\n",
|
||
" print(f\" skip (not found): {run_dir_path}\")\n",
|
||
" continue\n",
|
||
" print(f\"--- {run_name} / {eval_mode} / {tower_mode} ---\")\n",
|
||
" subprocess.run([\n",
|
||
" \"python\", \"scripts/output_analysis/explainability/explain_run.py\",\n",
|
||
" \"--run-dir\", str(run_dir_path),\n",
|
||
" \"--n-splits\", \"5\",\n",
|
||
" ], check=True)"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"name": "python",
|
||
"version": "3.12"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|