Views
No views yet
MACRO_FAT_LI_DON) — from donor CT and transplant-registry
variables. Three models at increasing modality coverage:| Model | Weights | Inputs |
|---|---|---|
| No-vision ensemble | no_vision.pkl | tabular features (clinical / body-composition / organ-HU / HU-histogram / topology) |
| SuPreM vision | vision_suprem.pt | 96³ liver CT volume |
| Full ensemble | full.pkl + full_vision.pt | tabular features and 96³ CT |
⚠️ Research use only. These models are for retrospective research and are not a medical device and not for clinical decision-making. Donor allocation decisions must not be based on this output.
no_vision_model.py, vision_model.py, full_model.py,
common.py). Each script exposes train and predict subcommands. These weights are the
released artifacts that let you run predict without the training data.1pip install -r requirements.txt # from the code repo; TabPFN MUST be 2.2.1 (see below)
2
3# download the weights into ./weights
4python -c "from huggingface_hub import snapshot_download; \
5snapshot_download('philmorekoung/liver-steatosis', local_dir='weights')"
6
7# tabular, no vision — one row per donor, columns matching the feature list
8python no_vision_model.py predict --csv your_donors.csv --out predictions.csv
9
10# vision — npz with uuids[str] and images[N,96,96,96] scaled to [0,1]
11python vision_model.py predict --weights weights/vision_suprem.pt \
12 --images your_volumes.npz --out predictions.csv
13
14# full — features + volumes joined on uuid
15python full_model.py predict --weights weights/full.pkl \
16 --csv your_donors.csv --images your_volumes.npz --out predictions.csvuuid, p_macrosteatosis (probability of fat ≥ 30%), and high_risk
(1 if p ≥ threshold). The operating threshold is chosen on a held-out split at training
time and stored inside each weight file.f0..f149 (f0–49 = H0, f50–99 = H1, f100–149 = H2).
Missing values are allowed. The exact column order is stored in the pickle (feature_cols);
predict reorders your columns by name and errors out naming any that are missing.
Producing the topology and HU-histogram features for a new CT requires the upstream
liver-segmentation + persistence pipeline used to build the cohort.0 / 1–9 / 10–29 / 30–49 / ≥50 %) for training and collapsed to the ≥30% binary
at prediction. The CT, segmentation, and registry data are access-restricted and are not
distributed with these weights.| Model | ROC AUC | PR AUC |
|---|---|---|
| Clinical only | 0.644 | 0.19 |
| SuPreM image only | 0.778 | 0.43 |
| Tabular (clin + HU + topology) — no-vision | 0.816 | 0.48 |
| Full (tabular + SuPreM image) | 0.815 | 0.48 |
no_vision.pkl — 5-fold out-of-fold ROC AUC 0.797, PR AUC 0.435; base learners then
refit on all 2,709 donors.vision_suprem.pt — validation ROC AUC 0.821.2.2.1. The .pkl files embed a fitted TabPFN object (a tabular
foundation model that carries its training table — this is why the pickles are large).
Newer TabPFN releases change the model and add an interactive license gate; loading the
pickle with a different version may fail. Pin tabpfn==2.2.1.full.pkl and full_vision.pt together. full.pkl references its image branch
by relative filename (full_vision.pt) and full_model.py predict looks for it in the
same folder.scikit-learn==1.6.1, lightgbm==4.6.0,
xgboost==3.2.0 (see the code repo's requirements.txt).