Solo-learn: A Library of Self-supervised Methods for Visual Representation Learning
About
This paper presents solo-learn, a library of self-supervised methods for visual representation learning. Implemented in Python, using Pytorch and Pytorch lightning, the library fits both research and industry needs by featuring distributed training pipelines with mixed-precision, faster data loading via Nvidia DALI, online linear evaluation for better prototyping, and many additional training tricks. Our goal is to provide an easy-to-use library comprising a large amount of Self-supervised Learning (SSL) methods, that can be easily extended and fine-tuned by the community. solo-learn opens up avenues for exploiting large-budget SSL solutions on inexpensive smaller infrastructures and seeks to democratize SSL by making it accessible to all. The source code is available at https://github.com/vturrisi/solo-learn.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Image Classification | ImageNet-1k (val) | -- | 1453 | |
| Image Classification | CIFAR-100 (val) | Accuracy70.5 | 661 | |
| Image Classification | CIFAR-10 | Accuracy92.94 | 471 | |
| Image Classification | CIFAR-10 (val) | Top-1 Accuracy92.6 | 329 | |
| Image Classification | TinyImageNet (val) | Accuracy38.3 | 240 | |
| Image Classification | ImageNet-100 (val) | Top-1 Accuracy80.32 | 95 | |
| Image Classification | ImageNet-100 | -- | 84 | |
| Image Classification | Tiny ImageNet (Tiny-IN) (val) | Top-1 Accuracy48.12 | 54 | |
| Image Classification | STL10 (val) | Accuracy91.7 | 33 |