From 017eee186a9da7331274ec6b4da12dc73087641c Mon Sep 17 00:00:00 2001 From: xuefei-wang Date: Thu, 30 Jul 2026 09:33:05 -0700 Subject: [PATCH] Ship deepcell-types baselines as one .tar.gz bundle per baseline Follows the cellsam layout (a single version-scoped top-level directory inside the archive) for the same reason: maps and xgboost each ship a companion file that is required at inference, so weights and companion should not be independently fetchable states. It also cuts transfer size substantially -- the xgboost booster is 1.1 GB of JSON that gzips 2.9x, so the three baselines go from 1.5 GB to 686 MB. The .pt/.pth weights are already-compressed tensor data and are unaffected; that is why the two main-model checkpoints stay bare .pt files, as torch-mesmer does. The value stays a LIST so a baseline can gain a second standalone asset later without a schema change, so `_download.py` needs no change: it still returns a list of local paths, now of length one. deepcell-types unpacks the bundle with its own path-traversal-safe extractor and returns the files inside (vanvalenlab/deepcell-types#47). Bundles are built deterministically (tar --sort=name, fixed owner/mtime, gzip -n), so these hashes are reproducible from the same inputs. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Sy8eiMVmmQHXRAccKwzAyz --- deepcell_auth/asset_manifest.yaml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/deepcell_auth/asset_manifest.yaml b/deepcell_auth/asset_manifest.yaml index 4be23e3..6ad535b 100644 --- a/deepcell_auth/asset_manifest.yaml +++ b/deepcell_auth/asset_manifest.yaml @@ -33,25 +33,25 @@ models: "2025-06-09_public-data-only": "asset_key": "models/deepcell-types_2025-06-09_public-data-only.pt" "asset_hash": "331841fe78d9a5afec6e58d0035c40ef" - # Comparison-baseline checkpoints for deepcell-types. Each baseline maps to a - # LIST of assets because some ship companion files (maps -> _stats.npz; - # xgboost -> .remap.json). Nimbus is intentionally absent: its pretrained - # weights are distributed upstream (angelolab/Nimbus-Inference) and are not - # re-hosted here. + # Comparison-baseline checkpoints for deepcell-types, as one .tar.gz bundle + # per baseline (the cellsam layout: a single version-scoped top-level + # directory). maps and xgboost each ship a companion file alongside their + # weights, and bundling also cuts the xgboost booster from 1.1 GB to 384 MB. + # The value stays a LIST so a baseline can gain a second standalone asset + # without a schema change; today every list has exactly one entry. + # + # Nimbus is intentionally absent: its pretrained weights are distributed + # upstream (angelolab/Nimbus-Inference) and are not re-hosted here. deepcell-types-baselines: "cellsighter": - - "asset_key": "models/deepcell-types_baseline-cellsighter.pth" - "asset_hash": "c5a105fb044ad82c82817a32aabbae7c" + - "asset_key": "models/deepcell-types_baseline-cellsighter_2026-06-30.tar.gz" + "asset_hash": "74cf4a64703e341230c2ae4c4da4f5ec" "maps": - - "asset_key": "models/deepcell-types_baseline-maps.pth" - "asset_hash": "1ad5e30ceaccfdb91050b663099258fb" - - "asset_key": "models/deepcell-types_baseline-maps_stats.npz" - "asset_hash": "1f462d0c8bf531af73026d415d52728d" + - "asset_key": "models/deepcell-types_baseline-maps_2026-06-30.tar.gz" + "asset_hash": "f5f0ae6d3956f29f83c65faff7271c97" "xgboost": - - "asset_key": "models/deepcell-types_baseline-xgboost.json" - "asset_hash": "9e51cf1af8c6c43b00871a821fde0f57" - - "asset_key": "models/deepcell-types_baseline-xgboost.remap.json" - "asset_hash": "fba1b0e705e5f7747eb2f9cae30815ba" + - "asset_key": "models/deepcell-types_baseline-xgboost_2026-06-30.tar.gz" + "asset_hash": "b560aee03a85e8a5f675c4adc6d663dc" torch-mesmer: "2026-06-30": "asset_key": "models/torch-mesmer_2026-06-30.pth"