This repository contains laboratory works written in Python and completed during the "Semi-supervised learning" course at the National Technical University of Ukraine 'Kyiv Polytechnic Institute', IASA AI department, during the first semester of the master's program from September to January 2023. The PyTorch library was used for deep learning, and GPU acceleration was utilized to boost training speed.
Tasks completed:
- Implemented AlexNet architecture.
- Trained AlexNet on the CIFAR-10 dataset.
Tasks completed:
- Implemented Proxy-labeling semi-supervised training framework.
- Trained and compared AlexNet on the labeled part of CIFAR10 with/without the unlabeled data using Proxy-labeling.
Tasks completed:
- Implemented flexible WideResNet architecture.
- Implemented Co-training semi-supervised training framework.
- Trained and compared WideResNet28-10 on the labeled part of CIFAR10 with/without the unlabeled data using Co-training.
Tasks completed:
- Implemented Exponential Moving Average (EMA) model.
- Implemented MixMatchLoss, which performs sharpening, MixUp, and calculates loss L_X, L_U.
- Implemented the MixMatch training framework using the previous two steps.
- Trained and compared WideResNet28-10 on the labeled part of CIFAR10 with/without the unlabeled data using MixMatch.