aboutsummaryrefslogtreecommitdiff
path: root/src/train5.py
blob: ea25e5e0e3613c7c3db81458c2dadbdb38429334 (plain)
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
56
57
58
59
60
61
62
63
64
65
import pandas as pd
import numpy as np

from tensorflow.keras.regularizers import l1
from tensorflow.keras.regularizers import l2

import tensorflow.keras.losses

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dropout
from tensorflow.keras.layers import Input
from tensorflow.keras.layers import Dense
from tensorflow.keras.layers import Convolution2D
from tensorflow.keras.layers import MaxPooling2D
from tensorflow.keras.layers import Flatten
from tensorflow.keras.layers import Activation
from tensorflow.keras.layers import BatchNormalization

# 30 10(11) 5
# 27 17 4

shape = (-1, 5, 5, 8)

model = Sequential([
    Input(shape[1:]),
    Convolution2D(1, kernel_size=3, strides=(1, 1),
                  padding='same',
                  activation="relu", use_bias=True),
  # Dropout(0.2),
    Flatten(),
    Dense(10, activation="relu", use_bias=True),
  # Dropout(0.2),
  # Dense(10, activation="relu", use_bias=False),
  # Dropout(0.2),
    Dense(2, activation="softmax")
])

        # bias_regularizer=l2(0.001),
        # kernel_regularizer=l1(0.001)),

model.compile(loss='categorical_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])

model.summary()

csv = pd.read_csv("training-5.csv")

training_data = csv.head(100000).copy()
training_input = np.array(training_data.iloc[:, :-2]).reshape(shape)
training_outcome = training_data.iloc[:, -2:]

test_data = csv.tail(20000).copy()
test_input = np.array(test_data.iloc[:, :-2]).reshape(shape)
test_outcome = test_data.iloc[:, -2:]

results = []
for i in range(0, 1):
    print("Iteration ", i)
    history = model.fit(training_input, training_outcome, epochs=10,
                        validation_data=(test_input, test_outcome))
    loss, accuracy = model.evaluate(test_input, test_outcome)
    results += [(i, loss, accuracy)]

print("\n\nResults: ", results)