Train an image classifier on a small labeled dataset by first pre-training on large amounts of unlabeled images
Reproduce Google's SimCLR or SimCLRv2 contrastive learning results on your own dataset
Fine-tune a downloaded SimCLRv2 pre-trained checkpoint on a custom image classification task
Experiment with contrastive learning on CIFAR-10 using a single GPU without cloud infrastructure
| google-research/simclr | hunkim/deeplearningzerotoall | nianticlabs/monodepth2 | |
|---|---|---|---|
| Stars | 4,492 | 4,498 | 4,486 |
| Language | Jupyter Notebook | Jupyter Notebook | Jupyter Notebook |
| Setup difficulty | hard | moderate | hard |
| Complexity | 5/5 | 2/5 | 4/5 |
| Audience | researcher | researcher | researcher |
Figures from each repo's GitHub metadata at analysis time.
Full-scale training requires Google Cloud TPUs and large cloud storage, single-GPU CIFAR-10 runs are possible for experimentation.
SimCLR is a research project from Google that explores a technique for training image-recognition models using very few labeled examples. The core idea is that a model can learn useful visual representations by comparing pairs of images, without needing a human to label every image up front. This approach is called self-supervised or contrastive learning. The way it works is that the system takes two different altered versions of the same image, such as a cropped version and a color-shifted version, and trains the model to recognize that these two views came from the same original image. By doing this across many image pairs, the model develops an internal understanding of what makes images visually similar. Once this training is done, you can then fine-tune the model on a much smaller set of labeled images and still get strong results. The repository includes code and pre-trained model weights for both the original SimCLR and its follow-up SimCLRv2. SimCLRv2 specifically focused on showing that larger models trained this way can become very capable with only 1% or 10% of labels, which is significantly less data than traditional approaches require. Pre-trained checkpoints in multiple sizes are available for download from Google Cloud Storage. The code is written in Python using TensorFlow and supports both TensorFlow v1 and v2. Training at full scale requires access to Google Cloud TPUs and large amounts of storage, but the repository also supports training on a single GPU with smaller datasets like CIFAR-10 for experimentation. This is a research codebase, not a packaged product. It is intended for machine learning researchers and practitioners who want to experiment with or build on the contrastive learning methods described in the accompanying academic papers.
A Google research codebase for training image-recognition models using self-supervised contrastive learning, achieving strong results with very few labeled examples.
Mainly Jupyter Notebook. The stack also includes Python, TensorFlow, Jupyter Notebook.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.