diff options
Diffstat (limited to 'poc_eval_notebook.ipynb')
| -rw-r--r-- | poc_eval_notebook.ipynb | 34 |
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 +} |
