This is the code to reproduce temporal ensembling, which explains and gives implementation details on Temporal Ensembling for Semi-Supervised Learning from ICLR 2017.
The current code extends to dataset of MNIST, KMNIST, EMNIST and Fashion-MNIST. Detailed results are as shown in our paper Investigating the Effect of Intraclass Variability in Temporal Ensembling
First, install the requirements in a virtual environment :
pip install -r requirements.txt
Install PyTorch>=1.8 and torchvision as shown here according to your specs.
You can launch a MNIST evaluation from the command line using :
python mnist_eval.py
You can tweak hyperparameters in the config.py file.
To test across different datasets please see utils.py and use modify prepare_dataset functions.
This code is not a 100% faithful reproduction of the original paper and should not be used as such.
The Theano-based code released by the paper authors can be found here.
This repository would not be possible without works and codes of Ferretj and smlaine2.