/
isolet.py
executable file
·50 lines (34 loc) · 1.27 KB
/
isolet.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
from datasets.isolet import *
from NeuralNetwork.neuralNetwork import *
from Functions.functions import *
from Training.teacher import *
from Training.crossValidation import *
from Logger.graphLogger import *
from Logger.consoleLogger import *
from Logger.dataLogger import *
from Logger.compositeLogger import *
import sys
dataset, labels = load_isolet('/home/dana/Desktop/Research/deepLearning/datasets/data/isolet_train.txt')
dataset1=dataset[0:1560]
labels1 = labels[0:1560]
dataset2=dataset[1560:3120]
labels2 = labels[1560:3120]
dataset3=dataset[3120:4680]
labels3 = labels[3120:4680]
dataset4=dataset[4680:]
labels4 = labels[4680:]
dataset = [dataset1, dataset2, dataset3, dataset4]
labels = [labels1, labels2, labels3, labels4]
num_input = len(dataset1[0])
num_output = len(labels1[0])
num_hidden = 50
NN = NeuralNetwork([num_input, num_hidden, num_output], [None, SIGMOID, SIGMOID], SQUARED_ERROR)
logger = CompositeLogger()
logger.add_logger(ConsoleLogger(NN, (dataset, labels)))
logger.add_logger(DataLogger(NN, (dataset, labels)))
T = Teacher(NN, logger)
T.add_weight_update(0.5, gradient_descent)
T.add_weight_update(0.5, momentum)
T.add_weight_update(0.001, weight_decay)
k_fold_cross_validation(NN, T, dataset, labels, logger)
print "SIGMOID - SIGMOID - SQUARED_ERROR"