Skip to content

johnshin86/ssl-representations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

199 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SSL Representations

SSL := Self-Supervised Learning

This library implements many recent vision SSL methods, as well as uncertainty estimation methods built on top of these methods. Rather than aiming to implement every SSL method, the goal of this library is to focus on understanding conceptually new methods and their theory and rigorous application, as well as testing of the produced representation quality.

Self-supervised learning in vision is an interplay of the augmentation policy, the inductive bias of the architecture, and the interactions across samples induced by the loss function (https://arxiv.org/abs/2302.02774). The optimal representations can be mapped to different spectral embedding methods (https://arxiv.org/abs/2205.11508), though this requires a "god's eye view" of the underlying similarity matrix. Contrastive and non-contrastive methods can be viewed through the lens of Gram and covariance matrices, respectively (https://arxiv.org/abs/2206.02574).

The library was initially built from the facebook VICReg repo, but has been heavily modified.

Instructions on Use

For training, run the command:

python3 train.py --framework <vicreg/barlowtwins/simclr> --dataset <cifar10/imagenet> --data-dir <path/to/data>

An inference/evaluation pipeline is not yet implemented.

Methods Implemented

Augmentation Policies

Datasets

Model Zoo Support

Under Active Development

Planned Methods

  • Vision Transformer based SSL methods.

About

Implementation and evaluation of SSL methods.

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages