Multi-class classification for Fashion-MNIST in tensorflow
Assignment 3 code for Deep Learning, CS60010.
MNIST data provides us very high accuracy with simple models, so we will be using fashion-MNIST.
The neural network has 3 hidden layers, with 50 epochs/iterations. Refer to Report for more details.
-
Training accuracy: 96.83% (Max accuracy in an iteration: 100%)
-
Testing accuracy: 89.46%
-
Loss as a function of iterations
- Accuracy as a function of iterations
We apply Logistic Regression at every hidden layer. Here are the results:
- Layer 1: 88.87%
- Layer 2: 89.33%
- Layer 3: 89.46%
The first layer seems to provide enough accuracy, which proves further layers might not be needed.
python train.py --train
Run training, save weights into weights/
folder.
python train.py --train iter=5
Run training with specified number of iterations. Default iterations are 50.
python train.py --test
Load precomputed weights and report test accuracy.
python train.py --layer=1
Run Logistic Regression on hidden layer's output and report the accuracy. Allowed options : 1, 2, 3.
data_loader
is used to load data from zip files indata
folder.module
defines the neural network parameters, and network related code.train
handles input and states the model.
The MIT License (MIT) 2018 - Kaustubh Hiware.