feat: add fixed-pool scoliosis partition helper

This commit is contained in:
2026-03-14 17:45:31 +08:00
parent 4a12bd64b9
commit 7b98e066e4
4 changed files with 1206 additions and 0 deletions
+27
View File
@@ -69,6 +69,33 @@ python -m torch.distributed.launch --nproc_per_node=4 \
opengait/main.py --cfgs configs/sconet/sconet_scoliosis1k.yaml --phase test --log_to_file
```
### Fixed-pool ratio comparison
If you want to compare `1:1:2` against `1:1:8` without changing the evaluation
pool, do not compare `Scoliosis1K_112.json` against `Scoliosis1K_118.json`
directly. Those two files differ substantially in train/test membership.
For a cleaner same-pool comparison, use:
* `datasets/Scoliosis1K/Scoliosis1K_118.json`
* original `1:1:8` split
* `datasets/Scoliosis1K/Scoliosis1K_118_fixedpool_train112.json`
* same `TEST_SET` as `118`
* same positive/neutral `TRAIN_SET` ids as `118`
* downsampled `TRAIN_SET` negatives to `148`, giving train counts
`74 positive / 74 neutral / 148 negative`
The helper used to generate that derived partition is:
```bash
uv run python scripts/build_scoliosis_fixedpool_partition.py \
--base-partition datasets/Scoliosis1K/Scoliosis1K_118.json \
--dataset-root /mnt/public/data/Scoliosis1K/Scoliosis1K-sil-pkl \
--negative-multiplier 2 \
--output-path datasets/Scoliosis1K/Scoliosis1K_118_fixedpool_train112.json \
--seed 118
```
### Modality sanity check
The silhouette and skeleton-map pipelines are different experiments and should not be mixed when you interpret results.