In this project we reproduce the results from Temporal Ensembling for Semi-Supervised Learning for Pi model with augmentation on Cifar 10 dataset. We then continue and suggest an improvement for Pi Model as we create an ensemble of it with xgboost. Lastly, we performed Friedman test to check whether out improved model is significantly different than the other models: {xgboost, pi model, improved pi model } And we continued with post hoc Nemenyi test and got our improved model is significantly better than: xgboost, pi model when the label ratio in the dataset is 0.1 or 0.05 for 20 different datasets.
This Repo relies on the work of fastswa, freitas, and semi_supervised_learning.
The code runs on Python 3 with Pytorch 0.3. The following packages are also required.
pip install scipy tqdm matplotlib pandas msgpack
moreover, this code relies on the mentioned above packages at their specific versions, so its best to use the requirements.txt file.
python train.py --path "path_to_datasets_folder" --improved_model True/False