Here I will explore some approaches currently popular withing the segmentation domain. The goal here is to get familiar with the Lightning framework, and gain better knowledge of segmentation and deep learning computer vision in general.
This project is meant as a bootstrap for research in semantic segmentation, and currently has zero warnings in place to prevent faulty configuration.
The dataset used in this notebook is People Clothing Segmentation taken from Kaggle. It's quite small and clean, which makes it manageable for the pet project scope.
- PyTorch Lightning is used to build the training pipeline;
- timm is used to load pretrained feature extractors, optimizers and schedulers;
- Albumentations is used to handle image preprocessing and augmentation;
- Hydra is used to manage the configuration.
- Configure the training pipeline: refer to the
configsdirectory for reference; - Run
python3 train.py -cn <target config>.
- Drop the code in
modelsdirectory; - Put the factory function as a
model_instance._target_in the pipeline configuration; - Bob's your uncle.
- Create a datamodule with reference to
pcs_dataset.py; - Add corresponding configuration in
configs/datamodulesdirectory; - Override the default datamodule in the pipeline configuration.