This project contains the code for training and evaluating a deep learning model designed for triage in the PAD-UFES-20+ dataset. It utilizes the raug library for model training and evaluation.
benchmarks/: Contains scripts for running experiments.kfold.py: Main script for running k-fold cross-validation experiments.train.py: Contains the training and evaluation logic.pad20plus/: Dataset-specific configurations and preprocessing scripts.
models/: Contains model definitions and the model hub.models_hub.py: Factory for creating model instances.mobilenet.py: Implementation of MobileNet models.metablock.py: Implementation of the MetaBlock for feature fusion.
config.py: Configuration file for dataset paths.raug/: Submodule containing the training and evaluation framework.
- Clone the repository and submodules:
# Initialize the raug submodule
git submodule update --init-
Install dependencies: Ensure you have the required Python packages installed. You can install them using pip:
python -m pip install -r requirements.txt
-
Configure Dataset Paths: Open
config.pyand update the paths to point to your local copy of the PAD-UFES-20+ dataset.# config.py from pathlib import Path DATA_PATH = Path('data') PAD_20_PLUS_PATH = Path("/path/to/your/pad-ufes-20-plus") # Update this line
To run the k-fold cross-validation experiments, use the benchmarks/kfold.py script. The validation metrics are saved in benchmarks/pad20plus/results/.
python -m benchmarks.kfoldThe project currently supports the model MobileNet-V3 (defined in models/models_hub.py).
It also supports feature fusion using MetaBlock to combine image features with clinical metadata.