ChestX-Ray14 Official-Split Ensemble β€” 3 checkpoints

Three trained checkpoints for 14-pathology multi-label classification on the NIH ChestX-Ray14 dataset, forming the reported result of grisha1998/chestxray-project: 0.8222 test macro AUROC, probability-averaged ensemble, official NIH train/val/test split.

⚠ Not for clinical use

This is a research project. It is not a medical device, has not been clinically validated, has not been reviewed or approved by any regulatory body, and must not be used to inform the care of any patient. Labels come from automated text mining of radiology reports (~10% noise); evaluation is a retrospective benchmark on one public dataset.

Files

File Backbone Image size
official_convnext_384.pth convnext_small (timm, ImageNet-1k) 384
official_swin_384.pth swin_base_patch4_window12_384 (timm, ms_in22k_ft_in1k, 87.9M params) 384
official_densenet_512.pth densenet121 (timm, ImageNet-1k) 512

Each file is a torch.save dict: {"epoch": int, "model_state": state_dict, "best_macro_auroc": float, "metrics": {...}}. Load with torch.load(path, weights_only=True)["model_state"] into a DualTaskChestXRayModel built from the matching config in configs/official/ of the source repo. Every inference call must pass need_seg=False (the segmentation decoder was never trained β€” see the source repo's README.md).

Results (official NIH split)

Model Val macro AUROC Test macro AUROC
official_convnext_384 0.8243 0.8015
official_swin_384 0.8219 0.8069
official_densenet_512 0.8180 0.7945
Ensemble (probability-averaged, no TTA) 0.8416 0.8222

Selection (keep all three members) was made on validation, before the test split was read once. The val/test ranking inverts between members β€” the spread (0.0053) is inside noise; see the source repo's DOCUMENTATION.md Β§14.8 for the full writeup, including calibration and per-class working points (which are not included in these checkpoint files β€” they're small JSON artifacts tracked directly in the GitHub repo under outputs/calibration/ and outputs/working_points/).

Training

12 epochs each, effective batch 32 (gradient accumulation), Asymmetric Loss (ASL) with label smoothing (0.05/0.95), aspect-ratio-preserving padding + Lanczos resize, CLAHE, micro-rotations ≀10Β°. Full training configuration, code, and every non-negotiable clinical-safety rule this pipeline enforces (patient-level splits, no image squashing, no vertical flips, ...) is in the source repository.

License

Code: MIT. These weights are derived from NIH ChestX-Ray14 data and inherit its terms β€” consult the NIH Clinical Center's release terms before further redistribution.

Source

https://github.com/grisha1998/chestxray-project

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support