SESEMI is an open source image classification library built on PyTorch Lightning. SESEMI enables various modern supervised classifiers to be robust semi-supervised learners based on the principles of self-supervised regularization.
- Integration with the popular PyTorch Image Models (timm) library for access to contemporary, high-performance supervised architectures with optional pretrained ImageNet weights. See the list of recommended backbones
- Demonstrated utility on large realistic image datasets and is currently competitive on the FastAI Imagenette benchmarks
- Easy to use out-of-the-box requiring little hyper-parameter tuning across many tasks related to supervised learning, semi-supervised learning, and learning with noisy labels. In most use cases, one only needs to tune the learning rate, batch size, and backbone architecture
- Simply add unlabeled data for improved image classification without any tricks
Our goal is to expand the utility of SESEMI for the ML/CV practitioner by incorporating the latest advances in self-supervised, semi-supervised, and few-shot learning to boost the accuracy performance of conventional supervised classifiers in the limited labeled data setting. If you find this work useful please star this repo to let us know. Contributions are also welcome!
Click here to view the full documentation hosted on readthedocs. For convenience, we have provided links to some of the content below:
We currently support variants of the following methods:
- Rotation Prediction
- Entropy Minimization
- Jigsaw Prediction
- Pi Model
- Mean Teacher
- FixMatch
- Noisy Student
Config Name | Dataset | Methods | Training Logs |
---|---|---|---|
cifar10_wrn_28_10 | CIFAR-10 | Supervised | N/A |
cifar10 | CIFAR-10 | Supervised | N/A |
cifar100 | CIFAR-100 | Supervised | N/A |
imagewang_consistency | Imagewang | Mean Teacher | N/A |
imagewang_entmin | Imagewang | Entropy Minimization | N/A |
imagewang_fixmatch_randaugment | Imagewang | FixMatch | N/A |
imagewang_fixmatch | Imagewang | FixMatch | N/A |
imagewang_jigsaw_entmin | Imagewang | Jigsaw Prediction + Entropy Minimization | N/A |
imagewang_noisy_student_stage_1 | Imagewang | Noisy Student | N/A |
imagewang_noisy_student_stage_n | Imagewang | Noisy Student | N/A |
imagewang_rotation_entmin | Imagewang | Rotation Prediction + Entropy Minimization | N/A |
imagewang_rotation | Imagewang | Rotation Prediction | N/A |
imagewang | Imagewang | Supervised | N/A |
imagewoof_entmin | Imagewoof | Entropy Minimization | N/A |
imagewoof_rotation | Imagewoof | Rotation Prediction | N/A |
imagewoof | Imagewoof | Supervised | N/A |
stl10 | STL-10 | Supervised | N/A |
We have released SESEMI under the permissive Apache 2.0 license. Any contributions made will also be subject to the same licensing.
If you find this work useful, consider citing the related paper:
@inproceedings{TranSESEMI,
title="{Exploring Self-Supervised Regularization for Supervised and Semi-Supervised Learning}",
author={Phi Vu Tran},
booktitle={NeurIPS Workshop on Learning with Rich Experience: Integration of Learning Paradigms},
year={2019}
}