Skip to content

Self-supervised image classification in PyTorch

License

Notifications You must be signed in to change notification settings

gergopool/sslic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Self-supervised Image Classification in PyTorch

  • Training
  • Linear eval
  • Soft-nearest neighbor online classifier
  • Warmup cosine schedule
  • Lars
  • Multi-GPU training
  • Tensorboard
  • Reproduction of results published

Implemented algorithms

  • SimCLR
  • SimSiam
  • Barlow Twins
  • BYOL
  • MocoV2
  • ReSSL
  • TWIST
  • VICReg
  • NNCLR

Implemented datasets

  • CIFAR10
  • CIFAR100
  • ImageNet
  • Tiny-ImageNet

Train

python train.py ressl path/to/cifar10/root --dataset cifar10 --devices 0

You can replace simsiam wih any algorithms described above. See parsed arguments in code for other options.

Linear Eval

Currently not working and only avaiable during training. The evaluation results shown during training are very good estimates, although not official results and might be below the published accuracies by 1-2%. They are only made for quick estimates on the performance of the encoder network.

Credits

Some parts of the code was inherited from different repositories of the facebookresearch team, so huge credit goes there. Also special thanks to:

  • @koszpe for adding tensorboard and providing a docker environment for the development.

About

Self-supervised image classification in PyTorch

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published