How bundasmanu/skin_mnist works
This repository is a HAM10000 skin-lesion image classification and model-optimization application. Its principal workflow, orchestrated by Main.py, reads image and patient metadata, prepares train/validation/test data, applies imbalance or augmentation strategies during model training, evaluates predictions, and combines model probabilities in an ensemble. It also includes a U-Net mask-generation path and PSO-based architecture/hyperparameter optimization; the README additionally documents GA support and pre-analysis. The sampled excerpts do not show all data-loading, factory, or ensemble wiring, so uncertain links are omitted.
Main entry points: Main.py Workflow · ModelFactory.py Model factory · Data.py Data splits · Model.py Model lifecycle
Components 21
Data preparation
- Configuration
config.py - Data utilities
config_func.py - Data splits
Data.py - Mask generation
models/UNet.py
Training
- Model factory
models/ModelFactory.py - Model lifecycle
models/Model.py - Oversampling
models/Strategies_Train/OverSampling.py - Undersampling
models/Strategies_Train/UnderSampling.py - Image augmentation
models/Strategies_Train/DataAugmentation.py
CNN architectures
Optimization
- Optimizer factory
optimizers/OptimizerFactory.py - Optimizer base
optimizers/Optimizer.py - Particle swarm
optimizers/PSO.py - Genetic algorithm
optimizers/GA.py
Other components
- Researcher
- HAM10000 files
- Workflow
Main.py - Scores and ensemble
Main.py
Connections 31
- Researcher → Workflow: runs
- HAM10000 files → Workflow: provides files
- Workflow → Configuration: reads settings
- Workflow → Data utilities: calls utilities
- Workflow → Data splits: creates splits
- Workflow → Mask generation: requests masks
- Workflow → Model factory: creates models
- Model factory → AlexNet: selects architecture
- Model factory → VGGNet: selects architecture
- Model factory → ResNet: selects architecture
- Model factory → DenseNet: selects architecture
- AlexNet → Model lifecycle: extends lifecycle
- VGGNet → Model lifecycle: extends lifecycle
- ResNet → Model lifecycle: extends lifecycle
- DenseNet → Model lifecycle: extends lifecycle
- Workflow → Oversampling: attaches strategy
- Workflow → Image augmentation: attaches strategy
- Workflow → Undersampling: optional strategy
- Workflow → Optimizer factory: creates optimizer
- Optimizer factory → Particle swarm: selects optimizer
- Optimizer factory → Genetic algorithm: selects optimizer
- Particle swarm → Optimizer base: uses objective
- Genetic algorithm → Optimizer base: extends optimizer
- Workflow → Scores and ensemble: records predictions
- Workflow → AlexNet: trains and predicts
- Workflow → VGGNet: trains and predicts
- Workflow → ResNet: trains and predicts
- Workflow → DenseNet: trains and predicts
- Data splits → Oversampling: supplies training data
- Data splits → Undersampling: supplies training data
- Data splits → Image augmentation: supplies training data