summaryrefslogtreecommitdiff
path: root/poc_eval_notebook.ipynb
diff options
context:
space:
mode:
authormagnus <magnus@am.my.domain>2026-07-13 10:29:45 +0300
committermagnus <magnus@am.my.domain>2026-07-13 10:29:45 +0300
commit0ba8b891530a569f73ecad62f786365e1085f1bd (patch)
treeea76d95f2be5ebccdb206c892b8b83de3d9bc5ba /poc_eval_notebook.ipynb
parent757381dd3a1608c00bc343c633b4cae264d9129d (diff)
added smoke test to notebook to gauge effectivenessHEADmain
Diffstat (limited to 'poc_eval_notebook.ipynb')
-rw-r--r--poc_eval_notebook.ipynb34
1 files changed, 29 insertions, 5 deletions
diff --git a/poc_eval_notebook.ipynb b/poc_eval_notebook.ipynb
index a1cfd46..3064193 100644
--- a/poc_eval_notebook.ipynb
+++ b/poc_eval_notebook.ipynb
@@ -79,10 +79,34 @@
"MIXED_MARGIN_THRESHOLD = 0.15\n",
"MAX_MIXED_ENTRIES = 3\n",
"MIN_MIXED_PERCENT = 10\n",
- "MATERIAL_PROTOTYPE_IMAGE_PATHS = {\n",
- " # \"wood\": [\"/content/prototypes/wood_01.jpg\", \"/content/prototypes/wood_02.jpg\"],\n",
- " # \"steel\": [\"/content/prototypes/steel_01.jpg\"],\n",
- "}\n",
+ "MATERIAL_PROTOTYPE_PATHS_JSON = os.getenv(\"MATERIAL_PROTOTYPE_PATHS_JSON\", \"\").strip()\n",
+ "MATERIAL_PROTOTYPE_PATHS_CANDIDATES = [\n",
+ " Path(MATERIAL_PROTOTYPE_PATHS_JSON) if MATERIAL_PROTOTYPE_PATHS_JSON else None,\n",
+ " Path(\"assets/prototypes/material_prototype_paths.json\"),\n",
+ " Path(\"/content/material-hunters/assets/prototypes/material_prototype_paths.json\"),\n",
+ "]\n",
+ "\n",
+ "def _resolve_material_prototype_paths(path_map_file: Path):\n",
+ " repo_root_guess = path_map_file.parents[2] if len(path_map_file.parents) >= 3 else path_map_file.parent\n",
+ " mapping = json.loads(path_map_file.read_text(encoding=\"utf-8\"))\n",
+ " resolved = {}\n",
+ " for material, paths in mapping.items():\n",
+ " fixed = []\n",
+ " for p in paths:\n",
+ " pp = Path(p)\n",
+ " cand = [pp, Path.cwd() / pp, repo_root_guess / pp] if not pp.is_absolute() else [pp]\n",
+ " chosen = next((c for c in cand if c.exists()), cand[-1])\n",
+ " fixed.append(str(chosen))\n",
+ " resolved[material] = fixed\n",
+ " return resolved\n",
+ "\n",
+ "_prototype_map_file = next((p for p in MATERIAL_PROTOTYPE_PATHS_CANDIDATES if p is not None and p.exists()), None)\n",
+ "MATERIAL_PROTOTYPE_IMAGE_PATHS = _resolve_material_prototype_paths(_prototype_map_file) if _prototype_map_file else {}\n",
+ "print(\n",
+ " f\"Loaded prototype path map from {_prototype_map_file} with {sum(len(v) for v in MATERIAL_PROTOTYPE_IMAGE_PATHS.values())} images\"\n",
+ " if _prototype_map_file\n",
+ " else \"No prototype path map found; DINOv3 will run without prototype support.\"\n",
+ ")\n",
"SIGCLIP_MODEL_ID = \"google/siglip-base-patch16-224\"\n",
"\n",
"CSV_PATH = Path(\"/content/poc_eval_sheet.csv\")\n",
@@ -1882,4 +1906,4 @@
},
"nbformat": 4,
"nbformat_minor": 5
-} \ No newline at end of file
+}