GradeEye four-ch-morph
This repository contains GradeEye CORN ordinal diabetic-retinopathy classifiers using the convnext_tiny backbone at 384x384 resolution, with 4-channel input and a 4-threshold ordinal head. The _ema.safetensors file is the primary artifact: the paper's reported evaluation metrics were generated using the EMA state dict. The unsuffixed .safetensors file is the corresponding raw model_state_dict secondary artifact.
Checkpoints
| Primary EMA weights | Raw secondary weights | Architecture | Held-out fold | Best QWK | Epoch |
|---|---|---|---|---|---|
lodo_aptos_convnext_tiny_best_ema.safetensors |
lodo_aptos_convnext_tiny_best.safetensors |
convnext_tiny |
varies | 0.7789 | 12 |
lodo_ddr_convnext_tiny_best_ema.safetensors |
lodo_ddr_convnext_tiny_best.safetensors |
convnext_tiny |
varies | 0.7702 | 7 |
lodo_eyepacs_convnext_tiny_best_ema.safetensors |
lodo_eyepacs_convnext_tiny_best.safetensors |
convnext_tiny |
varies | 0.7833 | 3 |
lodo_messidor2_convnext_tiny_best_ema.safetensors |
lodo_messidor2_convnext_tiny_best.safetensors |
convnext_tiny |
varies | 0.7395 | 2 |
Preprocessing
- Resize the RGB fundus image to 384x384 using the same offline preprocessing pipeline.
- Convert RGB to float in [0,1] and apply ImageNet normalization: mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225).
- Append one auxiliary channel in [0,1] after RGB normalization. It is not ImageNet-normalized.
Fourth-channel construction
- Source pool:
segmentation_pooled_morph. - Producer:
gradeeye/seg-unet-bcedice. - Exact method: The BCE+Dice U-Net raw sigmoid probability map after 3x3 elliptical morphological opening, 3x3 elliptical closing, and Gaussian blur (sigma=0.5). It remains a continuous [0,1] soft-probability map, not a morphological gradient or edge channel.
- The resulting tensor is
(4, 384, 384)in channel-first layout. - This is the only one of the three published four-channel variants with morphological post-processing; it is not a gradient or edge channel.
Loading
import json
from modeling import load_model
config = json.load(open('config.json'))
model = load_model('lodo_eyepacs_convnext_tiny_best_ema.safetensors', config)
# model(x) returns CORN logits with shape (batch, 4)
Install torch, timm, and safetensors, and make the GradeEye source repository available on PYTHONPATH.
Intended use and limitations
These weights are released for research and reproducibility only. They are not validated for clinical diagnosis or treatment decisions. Performance varies substantially by held-out dataset and should not be interpreted as clinical-grade generalization.
Source code and paper materials: https://github.com/ahmed-farhanur-rashid/gradeeye.
- Downloads last month
- 10