anima_closeout v9: the ArrowIndexError smoke crash was the shared-cache collision detonating — CELL 1 had last run as v6 (same ipykernel_5091 across all three crashes) so the dataset TOMLs on disk lacked path=, and eval's grouped-metadata save clobbered train's mmapped files (same keys, same filenames, shared local_parquet root) right before train's latents map read through them (writer died at the first 1000-row flush). v9: CELL 1 also rmtree's the poisoned default root; CELL 2 refuses to launch any arm if the dataset TOMLs lack dp_cache. RUNBOOK: re-run CELL 1 in the live kernel, then CELL 2.
Browse files- colab/anima_closeout.ipynb +13 -0
colab/anima_closeout.ipynb
CHANGED
|
@@ -383,6 +383,11 @@
|
|
| 383 |
" _dataset_toml(f\"{TRAIN_DIR}/*.parquet\", WORK / \"dp_cache\" / \"train\"))\n",
|
| 384 |
"(TOMLS / \"dataset_eval.toml\").write_text(\n",
|
| 385 |
" _dataset_toml(str(EVAL_PARQUET), WORK / \"dp_cache\" / \"heldout\"))\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 386 |
"# -- training TOMLs per arm -----------------------------------------------\n",
|
| 387 |
"_AP = WORK / \"models\" / \"anima\" / \"split_files\"\n",
|
| 388 |
"\n",
|
|
@@ -584,6 +589,14 @@
|
|
| 584 |
" print(f\"[ship] {package}/{arm}: {len(ops)} file(s) -> {HUB_REPO}\")\n",
|
| 585 |
"\n",
|
| 586 |
"# -- SMOKE ----------------------------------------------------------------\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 587 |
"_save = run_arm(\"smoke\")\n",
|
| 588 |
"_g = gate_values(_save)\n",
|
| 589 |
"_moved = [x for x in _g if abs(x + 3.0) > 1e-3]\n",
|
|
|
|
| 383 |
" _dataset_toml(f\"{TRAIN_DIR}/*.parquet\", WORK / \"dp_cache\" / \"train\"))\n",
|
| 384 |
"(TOMLS / \"dataset_eval.toml\").write_text(\n",
|
| 385 |
" _dataset_toml(str(EVAL_PARQUET), WORK / \"dp_cache\" / \"heldout\"))\n",
|
| 386 |
+
"# hygiene: any earlier run WITHOUT the path keys wrote train+eval into the\n",
|
| 387 |
+
"# fork's shared default root and cross-contaminated it (same grouping keys,\n",
|
| 388 |
+
"# same filenames \u2014 the ArrowIndexError smoke crash). Remove it so nothing\n",
|
| 389 |
+
"# can ever load that poisoned state; harmless when absent.\n",
|
| 390 |
+
"shutil.rmtree(Path.home() / \".cache\" / \"diffusion-pipe\", ignore_errors=True)\n",
|
| 391 |
"# -- training TOMLs per arm -----------------------------------------------\n",
|
| 392 |
"_AP = WORK / \"models\" / \"anima\" / \"split_files\"\n",
|
| 393 |
"\n",
|
|
|
|
| 589 |
" print(f\"[ship] {package}/{arm}: {len(ops)} file(s) -> {HUB_REPO}\")\n",
|
| 590 |
"\n",
|
| 591 |
"# -- SMOKE ----------------------------------------------------------------\n",
|
| 592 |
+
"# refuse to launch on stale dataset TOMLs from an earlier notebook version:\n",
|
| 593 |
+
"# without distinct dp_cache paths, train+eval share one cache root and\n",
|
| 594 |
+
"# corrupt each other (the ArrowIndexError crash / silent eval-swap hazard)\n",
|
| 595 |
+
"for _dt in (\"dataset_train.toml\", \"dataset_eval.toml\"):\n",
|
| 596 |
+
" assert \"dp_cache\" in (TOMLS / _dt).read_text(), (\n",
|
| 597 |
+
" f\"{_dt} lacks the distinct cache path \u2014 RE-RUN CELL 1 (v8+) in \"\n",
|
| 598 |
+
" \"THIS kernel before any arm; stale TOMLs corrupt the caches\")\n",
|
| 599 |
+
"\n",
|
| 600 |
"_save = run_arm(\"smoke\")\n",
|
| 601 |
"_g = gate_values(_save)\n",
|
| 602 |
"_moved = [x for x in _g if abs(x + 3.0) > 1e-3]\n",
|