This is an implementation of Ladder Network in Keras. Ladder network is a model for semi-supervised learning. Refer to the paper titled Semi-Supervised Learning with Ladder Networks by A Rasmus, H Valpola, M Honkala,M Berglund, and T Raiko
The model achives 98% test accuracy on MNIST with just 100 labeled examples.
The code only works with Tensorflow backend.
- Python 3.6+
- Tensorflow (2.0)
- sklearn
Create a virtual environment
$ python3 -m venv --prompt ladder venv
$ source venv/bin/activate
(ladder) $ python -m pip install --upgrade pip
(ladder) $ python -m pip install wheel
(ladder) $ python -m pip install -r requirements.txt
Run the MNIST training script
(ladder) $ python mnist_example.py