Downloads · 30 days
0
Erfan-Nourbakhsh/KD-OCT-ConvNeXtV2
KD-OCT-ConvNeXtV2 is a image classification model from Erfan-Nourbakhsh. Use it when you need a label for an image. The card lists the license as mit.
This model is part of the KD-OCT project, which provides a framework for efficient, clinical-grade retinal Optical Coherence Tomography (OCT) image classification. It was introduced in the paper KD-OCT: Efficient Know…
Downloads · 30 days
0
Access
Public
Updated Jun 9, 2026
Repo size
786 MB
Likes
0
Public
Click a slice to open those files.
.pth786 MB · 100%
From the Hugging Face model README
This model is part of the KD-OCT project, which provides a framework for efficient, clinical-grade retinal Optical Coherence Tomography (OCT) image classification. It was introduced in the paper KD-OCT: Efficient Knowledge Distillation for Clinical-Grade Retinal OCT Classification.
The official implementation is available at the GitHub Repository.
KD-OCT is a novel knowledge distillation framework designed to compress a high-performance ConvNeXtV2-Large teacher model into a lightweight EfficientNet-B2 student model. The framework is optimized to classify OCT B-scans into clinical categories:
By employing real-time distillation with a combined loss (soft teacher knowledge transfer and hard ground-truth supervision), the student model achieves near-teacher accuracy while significantly reducing model size and inference time, facilitating deployment on edge devices for AMD screening.
Below is an example of how to perform inference with the model. Note that according to the paper, the images should be resized to 384x384 for inference.
import torch
from torchvision import transforms
from PIL import Image
# Load model
model = torch.load("model.pth")
model.eval()
# Prepare image
transform = transforms.Compose([
transforms.Resize((384, 384)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225])
])
# Assume 'image' is a PIL image
input_tensor = transform(image).unsqueeze(0)
# Inference
with torch.no_grad():
output = model(input_tensor)
prediction = torch.argmax(output, dim=1)
If you use this model or the KD-OCT framework, please cite:
@article{nourbakhsh2025kd,
title={KD-OCT: Efficient Knowledge Distillation for Clinical-Grade Retinal OCT Classification},
author={Nourbakhsh, Erfan and Sanjari, Nasrin and Nourbakhsh, Ali},
journal={arXiv preprint arXiv:2512.09069},
year={2025}
}
This project is licensed under the MIT License.