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)