
Image Classification with Self-Supervised Regularization¶
Why SESEMI?¶
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.
Highlights and Features¶
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!
Documentation¶
Click here to view the full documentation hosted on readthedocs. For convenience, we have provided links to some of the content below:
Supported Methods¶
We currently support variants of the following methods:
Built-in Configurations¶
Config Name |
Dataset |
Methods |
Training Logs |
|---|---|---|---|
CIFAR-10 |
Supervised |
N/A |
|
CIFAR-10 |
Supervised |
N/A |
|
CIFAR-100 |
Supervised |
N/A |
|
Imagewang |
Mean Teacher |
N/A |
|
Imagewang |
Entropy Minimization |
N/A |
|
Imagewang |
FixMatch |
N/A |
|
Imagewang |
FixMatch |
N/A |
|
Imagewang |
Jigsaw Prediction + Entropy Minimization |
N/A |
|
Imagewang |
Noisy Student |
N/A |
|
Imagewang |
Noisy Student |
N/A |
|
Imagewang |
Rotation Prediction + Entropy Minimization |
N/A |
|
Imagewang |
Rotation Prediction |
N/A |
|
Imagewang |
Supervised |
N/A |
|
Imagewoof |
Entropy Minimization |
N/A |
|
Imagewoof |
Rotation Prediction |
N/A |
|
Imagewoof |
Supervised |
N/A |
|
STL-10 |
Supervised |
N/A |
Copyright¶
We have released SESEMI under the permissive Apache 2.0 license. Any contributions made will also be subject to the same licensing.
Citation¶
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}
}
Contents¶
Getting Started
Tutorials
Methods
API Reference
- sesemi package
- sesemi.config package
- sesemi.datasets package
- Submodules
- sesemi.datasets.base module
- sesemi.datasets.cifar module
- sesemi.datasets.class_weighted module
- sesemi.datasets.concat module
- sesemi.datasets.image_file module
- sesemi.datasets.image_folder module
- sesemi.datasets.mnist module
- sesemi.datasets.pseudo module
- sesemi.datasets.stl10 module
- Module contents
- sesemi.models package
- sesemi.ops package
- sesemi.schedulers package
- sesemi.trainer package