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

  1. Resize the RGB fundus image to 384x384 using the same offline preprocessing pipeline.
  2. 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).
  3. 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
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support