-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
55 lines (43 loc) · 1.53 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import MLP
import CNN
import LoadUSPS
from logistic import LogisticRegression
import numpy as np
from mnist import MNIST
mndata = MNIST('./MNIST')
trImg, trLab = mndata.load_training()
teImg, teLab = mndata.load_testing()
trImg = np.asanyarray(trImg)
trLab = np.asanyarray(trLab)
teImg = np.asanyarray(teImg)
teLab = np.asanyarray(teLab)
usps = LoadUSPS.LoadUSPS('proj3_images.zip')
uspsImg, uspsLab = usps.load()
#1> logistic Regression
logistic = LogisticRegression(28 * 28, 10)
logistic.train(trImg, trLab, lr = 0.3)
accuracy = logistic.test(teImg, teLab)
uspsacc = logistic.test(uspsImg, uspsLab)
print('logisticregression accuracy :', accuracy, uspsacc)
#grid search for best learning rate performance
#for lr in [0.5, 0.3, 0.1, 0.05, 0.01]:
# logistic.train(trImg, trLab, lr = 0.1)
# accuracy = logistic.test(teImg, teLab)
# print(lr, accuracy)
#2> Multilayer perceptron implementation using tensorflow
mlp = MLP.MLP()
mlp.train()
#grid search for best learning rate performance
#for lr in [0.5, 0.3, 0.1, 0.05, 0.01]:
# for node i [300, 450, 500, 800]:
# mlp = MLP.MLP(nodes=node, lrate=lr)
# mlp.train()
#Defaults set in Classes are best found during search
#3> Convolution Neural Network implemented taking help from the code provided in TA Slide
cnn = CNN.CNN()
cnn.train()
#grid search for best learning rate performance
#for lr in [0.5, 0.3, 0.1, 0.05, 0.01]:
# cnn = CNN.CNN(lrate=lr)
# cnn.train()
#Defaults set in Classes are best found during search