Downloads · 30 days
20
2% of all-time downloads
keras-io/semi-supervised-classification-simclr
semi-supervised-classification-simclr is a image classification model from keras-io. Use it when you need a label for an image. It is set up for tf-keras. The card lists the license as apache-2.0.
This is a simple image classification model trained with Semi-supervised image classification using contrastive pretraining with SimCLR The training procedure was done as seen in the example on <a href='https://keras.…
Downloads · 30 days
20
2% of all-time downloads
All-time downloads
1.3K
Public
Repo size
3.4 MB
Likes
1
Public
Click a slice to open those files.
.data-00000-of-0000110.3 MB · 95%
From the Hugging Face model README
This is a simple image classification model trained with Semi-supervised image classification using contrastive pretraining with SimCLR The training procedure was done as seen in the example on <a href='https://keras.io/examples/vision/semisupervised_simclr/' target='_blank'>keras.io</a> by András Béres.
The model was trained on STL-10, which includes ten classes: airplane, bird, car, cat, deer, dog, horse, monkey, ship, truck.
There is a public W&B dashboard available <a href='https://wandb.ai/johko-cel/semi-supervised-contrastive-learning-simclr'>here</a> which illustrates the difference in different metrics such as accuracy of a baseline supervised trained model, a purely unsupervised model (pretrain) and the supervised finetuned model based on the unsupervised.
(by András Béres on <a href='https://keras.io/examples/vision/semisupervised_simclr/' target='_blank'>keras.io</a> ) Semi-supervised learning is a machine learning paradigm that deals with partially labeled datasets. When applying deep learning in the real world, one usually has to gather a large dataset to make it work well. However, while the cost of labeling scales linearly with the dataset size (labeling each example takes a constant time), model performance only scales sublinearly with it. This means that labeling more and more samples becomes less and less cost-efficient, while gathering unlabeled data is generally cheap, as it is usually readily available in large quantities.
Semi-supervised learning offers to solve this problem by only requiring a partially labeled dataset, and by being label-efficient by utilizing the unlabeled examples for learning as well.
In this example, I pretrained an encoder with contrastive learning on the STL-10 semi-supervised dataset using no labels at all, and then fine-tuned it using only its labeled subset.