--- license: mit tags: - computational-pathology - colorectal-cancer - multiple-instance-learning - whole-slide-image - medical-imaging language: en datasets: - custom pipeline_tag: image-classification --- # CRC-ESD: Metastasis Risk Prediction Model Trained model weights for **"Deep Learning-Based Analysis of H&E-Stained Histopathological Images for Predicting Metastasis Risk After Endoscopic Submucosal Dissection in Colorectal Cancer"**. ## Model Description - **Architecture**: FeatherSlideEncoder (gated attention ABMIL) + 2-layer MLP classifier - **Input**: UNI-2h patch features (1536-d → 512-d embedding) from H&E WSIs - **Output**: Binary metastasis risk probability - **Training**: 5-fold stratified cross-validation on 113 CRC patients (294 WSIs) - **Performance**: Mean AUC = 0.759 ± 0.041 ## Files | File | Description | |------|-------------| | `best_model_fold0.pth` | Fold 0 best checkpoint | | `best_model_fold1.pth` | Fold 1 best checkpoint | | `best_model_fold2.pth` | Fold 2 best checkpoint | | `best_model_fold3.pth` | Fold 3 best checkpoint | | `best_model_fold4.pth` | Fold 4 best checkpoint | ## Usage ```python import torch from trident.slide_encoder_models import FeatherSlideEncoder # Load model model = FeatherSlideEncoder() classifier = torch.nn.Sequential( torch.nn.Linear(512, 256), torch.nn.ReLU(), torch.nn.Dropout(0.5), torch.nn.Linear(256, 1) ) checkpoint = torch.load("best_model_fold0.pth", map_location="cpu") model.load_state_dict(checkpoint["encoder_state_dict"]) classifier.load_state_dict(checkpoint["classifier_state_dict"]) ``` ## Citation ```bibtex @article{zhao2025crc_esd, title={Deep Learning-Based Analysis of H&E-Stained Histopathological Images for Predicting Metastasis Risk After Endoscopic Submucosal Dissection in Colorectal Cancer}, author={Zhao, Zhixun and Gong, Changhao and Shi, Yihang and others}, journal={npj Digital Medicine}, year={2025} } ``` ## Code GitHub: [https://github.com/ChanghaoGong/CRC-ESD](https://github.com/ChanghaoGong/CRC-ESD)