Add experimental 2D-slice distilled mito students (setup_53/54, step 20000)
Browse files- 2d/README.md +14 -0
- 2d/setup_53/manifest.json +80 -0
- 2d/setup_53/setup_53_mito_affinities_16nm_2d_in1068_fp16.onnx +3 -0
- 2d/setup_53/setup_53_mito_affinities_16nm_2d_in1068_fp32.onnx +3 -0
- 2d/setup_53/setup_53_mito_affinities_16nm_2d_in300_fp16.onnx +3 -0
- 2d/setup_53/setup_53_mito_affinities_16nm_2d_in300_fp32.onnx +3 -0
- 2d/setup_53/setup_53_mito_affinities_16nm_2d_in556_fp16.onnx +3 -0
- 2d/setup_53/setup_53_mito_affinities_16nm_2d_in556_fp32.onnx +3 -0
- 2d/setup_54/manifest.json +80 -0
- 2d/setup_54/setup_54_mito_affinities_16nm_2d_in1060_fp16.onnx +3 -0
- 2d/setup_54/setup_54_mito_affinities_16nm_2d_in1060_fp32.onnx +3 -0
- 2d/setup_54/setup_54_mito_affinities_16nm_2d_in300_fp16.onnx +3 -0
- 2d/setup_54/setup_54_mito_affinities_16nm_2d_in300_fp32.onnx +3 -0
- 2d/setup_54/setup_54_mito_affinities_16nm_2d_in556_fp16.onnx +3 -0
- 2d/setup_54/setup_54_mito_affinities_16nm_2d_in556_fp32.onnx +3 -0
2d/README.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 2D-slice mito models (experimental)
|
| 2 |
+
|
| 3 |
+
One z-slice in, one slice out: `input` float32 `[1,1,1,N,N]` → `output` float32 raw logits `[1,3,1,N-88,N-88]`
|
| 4 |
+
(mito affinities z, y, x; threshold at 0). 16 nm, input norm `uint8/255*2-1`, same as the 3D models.
|
| 5 |
+
|
| 6 |
+
These are **distilled students** of the 3D models `setup_53` / `setup_54`: every 3D kernel collapsed to 2D (sum of depth
|
| 7 |
+
taps) and fine-tuned to reproduce the 3D model's predictions slice by slice (no labels; random axis permutations so
|
| 8 |
+
xz/yz views work too). Collapsing alone gives F1 ≈ 0.08 (53) / 0.38 (54); distillation recovers most of the 3D accuracy.
|
| 9 |
+
Checkpoint step and per-file fidelity (vs the PyTorch student) are in each folder's `manifest.json`.
|
| 10 |
+
|
| 11 |
+
WebGPU (Chrome, Apple M-series, fp16): setup_53 1068² → 980² in 264 ms (3.6 Mpix/s), 556² → 468² in 64 ms,
|
| 12 |
+
vs 752 ms per 172³ → 84³ block for the 3D model (0.79 Mvox/s).
|
| 13 |
+
|
| 14 |
+
cellmap-flow serverless: Input size `1,N,N`, Output size `1,N-88,N-88`, voxel 16,16,16, Channels 3, Has channel axis true.
|
2d/setup_53/manifest.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model": "setup_53",
|
| 3 |
+
"kind": "2D slice student distilled from the 3D model (train_2d_distill.py)",
|
| 4 |
+
"checkpoint": "runs/setup_53_2d/student_20000.pt",
|
| 5 |
+
"step": 20000,
|
| 6 |
+
"channels": [
|
| 7 |
+
"mito_aff_z",
|
| 8 |
+
"mito_aff_y",
|
| 9 |
+
"mito_aff_x"
|
| 10 |
+
],
|
| 11 |
+
"voxel_size_nm": 16,
|
| 12 |
+
"io": "input float32 [1,1,1,N,N] (one z-slice); output float32 raw logits [1,3,1,N-88,N-88]",
|
| 13 |
+
"input_norm": [
|
| 14 |
+
{
|
| 15 |
+
"name": "MinMaxNormalizer",
|
| 16 |
+
"min_value": 0,
|
| 17 |
+
"max_value": 255
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "LambdaNormalizer",
|
| 21 |
+
"expression": "2*x-1"
|
| 22 |
+
}
|
| 23 |
+
],
|
| 24 |
+
"variants": [
|
| 25 |
+
{
|
| 26 |
+
"variant": "fp32",
|
| 27 |
+
"input_size": 300,
|
| 28 |
+
"output_size": 212,
|
| 29 |
+
"file": "setup_53_mito_affinities_16nm_2d_in300_fp32.onnx",
|
| 30 |
+
"file_mb": 7.75,
|
| 31 |
+
"max_abs": 6.103515625e-05,
|
| 32 |
+
"flip_frac": 0.0
|
| 33 |
+
},
|
| 34 |
+
{
|
| 35 |
+
"variant": "fp16",
|
| 36 |
+
"input_size": 300,
|
| 37 |
+
"output_size": 212,
|
| 38 |
+
"file": "setup_53_mito_affinities_16nm_2d_in300_fp16.onnx",
|
| 39 |
+
"file_mb": 3.9,
|
| 40 |
+
"max_abs": 0.13983917236328125,
|
| 41 |
+
"flip_frac": 5.1916459000830666e-05
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"variant": "fp32",
|
| 45 |
+
"input_size": 556,
|
| 46 |
+
"output_size": 468,
|
| 47 |
+
"file": "setup_53_mito_affinities_16nm_2d_in556_fp32.onnx",
|
| 48 |
+
"file_mb": 7.75,
|
| 49 |
+
"max_abs": 6.103515625e-05,
|
| 50 |
+
"flip_frac": 0.0
|
| 51 |
+
},
|
| 52 |
+
{
|
| 53 |
+
"variant": "fp16",
|
| 54 |
+
"input_size": 556,
|
| 55 |
+
"output_size": 468,
|
| 56 |
+
"file": "setup_53_mito_affinities_16nm_2d_in556_fp16.onnx",
|
| 57 |
+
"file_mb": 3.9,
|
| 58 |
+
"max_abs": 0.15328407287597656,
|
| 59 |
+
"flip_frac": 4.717900017045316e-05
|
| 60 |
+
},
|
| 61 |
+
{
|
| 62 |
+
"variant": "fp32",
|
| 63 |
+
"input_size": 1068,
|
| 64 |
+
"output_size": 980,
|
| 65 |
+
"file": "setup_53_mito_affinities_16nm_2d_in1068_fp32.onnx",
|
| 66 |
+
"file_mb": 7.75,
|
| 67 |
+
"max_abs": 6.866455078125e-05,
|
| 68 |
+
"flip_frac": 0.0
|
| 69 |
+
},
|
| 70 |
+
{
|
| 71 |
+
"variant": "fp16",
|
| 72 |
+
"input_size": 1068,
|
| 73 |
+
"output_size": 980,
|
| 74 |
+
"file": "setup_53_mito_affinities_16nm_2d_in1068_fp16.onnx",
|
| 75 |
+
"file_mb": 3.9,
|
| 76 |
+
"max_abs": 0.16084671020507812,
|
| 77 |
+
"flip_frac": 2.8807441343884494e-05
|
| 78 |
+
}
|
| 79 |
+
]
|
| 80 |
+
}
|
2d/setup_53/setup_53_mito_affinities_16nm_2d_in1068_fp16.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5167d62987b1af5f4b58f18eb4da869659837a760469859b690dbb9442f15415
|
| 3 |
+
size 3897097
|
2d/setup_53/setup_53_mito_affinities_16nm_2d_in1068_fp32.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e7e60f8b97a525563da923932e53992453a72e84c0528dc45ef1b740f3c94787
|
| 3 |
+
size 7749427
|
2d/setup_53/setup_53_mito_affinities_16nm_2d_in300_fp16.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:587586837af4f77d4f08d2fd6b151a024dea4b6c448914d3b899e4837003fb71
|
| 3 |
+
size 3896990
|
2d/setup_53/setup_53_mito_affinities_16nm_2d_in300_fp32.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3b8761332db032a4fcac5a15bbf4e1a5cfcbc696731ff8cd8a7e6005184ddd7a
|
| 3 |
+
size 7749427
|
2d/setup_53/setup_53_mito_affinities_16nm_2d_in556_fp16.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cdead7b8116e610681e4525f013f3497b504c1e6db37a6253f973cccb27a412f
|
| 3 |
+
size 3897050
|
2d/setup_53/setup_53_mito_affinities_16nm_2d_in556_fp32.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e99fe7296ecdc8cffb45861d0d2a440a50d1d854957470bded600bc1e1d506bb
|
| 3 |
+
size 7749427
|
2d/setup_54/manifest.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model": "setup_54",
|
| 3 |
+
"kind": "2D slice student distilled from the 3D model (train_2d_distill.py)",
|
| 4 |
+
"checkpoint": "runs/setup_54_2d/student_20000.pt",
|
| 5 |
+
"step": 20000,
|
| 6 |
+
"channels": [
|
| 7 |
+
"mito_aff_z",
|
| 8 |
+
"mito_aff_y",
|
| 9 |
+
"mito_aff_x"
|
| 10 |
+
],
|
| 11 |
+
"voxel_size_nm": 16,
|
| 12 |
+
"io": "input float32 [1,1,1,N,N] (one z-slice); output float32 raw logits [1,3,1,N-88,N-88]",
|
| 13 |
+
"input_norm": [
|
| 14 |
+
{
|
| 15 |
+
"name": "MinMaxNormalizer",
|
| 16 |
+
"min_value": 0,
|
| 17 |
+
"max_value": 255
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "LambdaNormalizer",
|
| 21 |
+
"expression": "2*x-1"
|
| 22 |
+
}
|
| 23 |
+
],
|
| 24 |
+
"variants": [
|
| 25 |
+
{
|
| 26 |
+
"variant": "fp32",
|
| 27 |
+
"input_size": 300,
|
| 28 |
+
"output_size": 212,
|
| 29 |
+
"file": "setup_54_mito_affinities_16nm_2d_in300_fp32.onnx",
|
| 30 |
+
"file_mb": 15.05,
|
| 31 |
+
"max_abs": 1.9550323486328125e-05,
|
| 32 |
+
"flip_frac": 0.0
|
| 33 |
+
},
|
| 34 |
+
{
|
| 35 |
+
"variant": "fp16",
|
| 36 |
+
"input_size": 300,
|
| 37 |
+
"output_size": 212,
|
| 38 |
+
"file": "setup_54_mito_affinities_16nm_2d_in300_fp16.onnx",
|
| 39 |
+
"file_mb": 7.56,
|
| 40 |
+
"max_abs": 0.012979507446289062,
|
| 41 |
+
"flip_frac": 0.0
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"variant": "fp32",
|
| 45 |
+
"input_size": 556,
|
| 46 |
+
"output_size": 468,
|
| 47 |
+
"file": "setup_54_mito_affinities_16nm_2d_in556_fp32.onnx",
|
| 48 |
+
"file_mb": 15.05,
|
| 49 |
+
"max_abs": 4.76837158203125e-05,
|
| 50 |
+
"flip_frac": 0.0
|
| 51 |
+
},
|
| 52 |
+
{
|
| 53 |
+
"variant": "fp16",
|
| 54 |
+
"input_size": 556,
|
| 55 |
+
"output_size": 468,
|
| 56 |
+
"file": "setup_54_mito_affinities_16nm_2d_in556_fp16.onnx",
|
| 57 |
+
"file_mb": 7.56,
|
| 58 |
+
"max_abs": 0.024660348892211914,
|
| 59 |
+
"flip_frac": 1.2175225850439526e-05
|
| 60 |
+
},
|
| 61 |
+
{
|
| 62 |
+
"variant": "fp32",
|
| 63 |
+
"input_size": 1060,
|
| 64 |
+
"output_size": 972,
|
| 65 |
+
"file": "setup_54_mito_affinities_16nm_2d_in1060_fp32.onnx",
|
| 66 |
+
"file_mb": 15.05,
|
| 67 |
+
"max_abs": 0.0002117156982421875,
|
| 68 |
+
"flip_frac": 0.0
|
| 69 |
+
},
|
| 70 |
+
{
|
| 71 |
+
"variant": "fp16",
|
| 72 |
+
"input_size": 1060,
|
| 73 |
+
"output_size": 972,
|
| 74 |
+
"file": "setup_54_mito_affinities_16nm_2d_in1060_fp16.onnx",
|
| 75 |
+
"file_mb": 7.56,
|
| 76 |
+
"max_abs": 0.02630472183227539,
|
| 77 |
+
"flip_frac": 2.2932931407249348e-05
|
| 78 |
+
}
|
| 79 |
+
]
|
| 80 |
+
}
|
2d/setup_54/setup_54_mito_affinities_16nm_2d_in1060_fp16.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e09dc8db59afb8d6d5d0a3be313a0535f7eac624d618337d3cea5bbe17612212
|
| 3 |
+
size 7564282
|
2d/setup_54/setup_54_mito_affinities_16nm_2d_in1060_fp32.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5ca8401b5c4fb6bf8fdfab780109ad4e4f5aabae127c8905081d783e87343efd
|
| 3 |
+
size 15048743
|
2d/setup_54/setup_54_mito_affinities_16nm_2d_in300_fp16.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ae0a92d5c48934a0dc410cc2f90c983700424d9559fa17da10725e2760ecc09b
|
| 3 |
+
size 7564138
|
2d/setup_54/setup_54_mito_affinities_16nm_2d_in300_fp32.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:fabcf3cfb738febb98ecd6a471b7f5313d68ed472ad1d7f17bcb3159a45b549c
|
| 3 |
+
size 15048743
|
2d/setup_54/setup_54_mito_affinities_16nm_2d_in556_fp16.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ff877ef54076e0e5474a0446ef5d43a280edfb9e0327457225eb73bf61d014ef
|
| 3 |
+
size 7564224
|
2d/setup_54/setup_54_mito_affinities_16nm_2d_in556_fp32.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b2cd9a024fc390b667de11fd92f301a81a4884fe756ded8650348506e50dbfd5
|
| 3 |
+
size 15048743
|