This repository is the implementation of GPML.
The dataset should be placed inside a directory (e.g., GAMMA/) with the following structure:
GAMMA/
├── fundus_train.npy
├── fundus_test.npy
├── oct_train.npy
├── oct_test.npy
├── labels_train.npy
└── labels_test.npy
fundus_train.npy,fundus_test.npy— Fundus image modality (training and test sets)oct_train.npy,oct_test.npy— OCT image modality (training and test sets)labels_train.npy,labels_test.npy— Classification labels (primary)
To run the main training script:
python Main.py --r $randomseedReplace $randomseed with an integer seed (e.g., 1, 42).
Experiment settings are defined in the config JSON file.
{
"project": "Test",
"dataDir": "GAMMA",
"Class": 2,
"r": 3,
"population_size": 100,
"generation": 50,
"cxProb": 0.8,
"mutProb": 0.19,
"elitismProb": 0.01,
"initialMinDepth": 2,
"initialMaxDepth": 6,
"maxDepth": 8,
"tournament_size": 5,
"Strategy": "voting",
"K": 5,
"des": ""
}You can change parameters such as:
dataDir— Path to the dataset folderClass— Number of classespopulation_size— GP population sizegeneration— Number of generations to evolvecxProb,mutProb— Crossover and mutation probabilitieselitismProb— Elitism probabilitymaxDepth— Maximum tree depth
This repository is built on reusing codes of https://github.com/YingBi92/BookCode