FixMatch is a semi-supervised deep learning algorithm for image classification tasks. This repository provides a Python implementation using Tensorflow of the FixMatch algorithm. The implementation uses the CIFAR10 dataset and includes the following steps:
- Data Loading: Import and normalize the CIFAR10 dataset and split the training set into labeled and unlabeled data.
- Supervised learning (baseline): Train a standard Convolutional Neural Network on the labeled data and evaluate its performance on the test set.
- FixMatch: Perform the FixMatch algorithm on the unlabeled data and evaluate its performance on the test set.
- Tensorflow
- Numpy
- Keras
To run the code, simply run the FixMatch.ipynb Jupyter notebook.
The results of the baseline and FixMatch algorithms are shown in the notebook and compared. The FixMatch algorithm can significantly improve the accuracy on the test set.
This implementation is based on the paper "FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence" by Soeren Pirk et al.