Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CNN for Eye Disease Classification from Fundus Images

This project implements a custom six-layer convolutional neural network (CNN) for classifying eye fundus images into three categories:

  • Normal
  • Cataract
  • Glaucoma

The pipeline includes image loading, data augmentation, stratified cross-validation, class weighting, model checkpointing, fold-specific model averaging, and final evaluation on unseen test data.

Project Workflow

Project workflow

Reproducibility

Docker and Singularity Support

This project was developed and run inside a Docker-based environment. The Docker image can also be converted into a Singularity/Apptainer image for use on HPC systems or other multi-user computing platforms.

Pull the Docker image from Docker Hub:

docker pull naolxi/deeplearn:1

Convert the Docker image to a Singularity/Apptainer image if needed:

singularity build deeplearn.sif docker://naolxi/deeplearn:1

How to Run on an HPC System

Step 1: Submit the job script

Submit the provided SLURM script. Resource allocation can be adjusted depending on the system and dataset size.

sbatch jupyter.sh

Step 2: Activate the TensorFlow environment

Inside the job/session terminal, activate the TensorFlow Conda environment:

source /opt/conda/bin/activate tensorflow_env

Step 3: Run the pipeline

Run the main pipeline script:

python main.py

Notes:

Raw datasets, trained model weights, temporary checkpoints, SLURM output files, and Singularity .sif images are excluded from version control.

About

A Convolutional Neural Network (CNN) model designed to classify three eye fundas states.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages