diff options
| author | tslil <tslil@posteo.de> | 2021-01-08 00:54:07 -0500 |
|---|---|---|
| committer | tslil <tslil@posteo.de> | 2026-08-28 19:37:41 +0100 |
| commit | e8315ed893157a87c8f2c3935667ffcc97b2c95e (patch) | |
| tree | 241b278b206e36683707921d609b08516c5295f6 /src/train5.py | |
| parent | 27c0576e25226dc75636c372aff3c0818af03201 (diff) | |
Closing in on something reasonable for roads
Diffstat (limited to 'src/train5.py')
| -rw-r--r-- | src/train5.py | 84 |
1 files changed, 48 insertions, 36 deletions
diff --git a/src/train5.py b/src/train5.py index 3718fd0..ea25e5e 100644 --- a/src/train5.py +++ b/src/train5.py @@ -1,53 +1,65 @@ -import tensorflow as tf 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 BatchNormalization -from tensorflow.keras.layers import Conv2D -from tensorflow.keras.layers import MaxPooling2D -from tensorflow.keras.layers import Activation -from tensorflow.keras.layers import Flatten 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 -model = Sequential([ - # Conv2D(5, kernel_size=5, padding='same', input_shape=(5, 5, 2)), - # MaxPooling2D(pool_size=2, strides=2), - # Activation("relu"), - # Flatten(), - # Dense(25, activation="relu"), - # Dense(10, activation="relu"), - # Dense(1, activation="sigmoid") +# 30 10(11) 5 +# 27 17 4 + +shape = (-1, 5, 5, 8) - Dense(30, activation="relu", input_shape=(52,)), # 30 - Dense(10, activation="relu"), # 10 - Dense(8, activation="relu"), # 8 - Dense(1, activation="sigmoid") +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") ]) -model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) + # bias_regularizer=l2(0.001), + # kernel_regularizer=l1(0.001)), -model.summary() +model.compile(loss='categorical_crossentropy', + optimizer='adam', + metrics=['accuracy']) -csv = pd.read_csv("data/train5.csv") +model.summary() -training_data = csv.copy().head(40000) -training_outcome = training_data.pop('Outcome') +csv = pd.read_csv("training-5.csv") -training_input = training_data.copy() -# training_input = training_input.drop(columns=training_data.keys()[0:2]) -train = np.array(training_input) -# train = train.reshape((training_input.shape[0], 5, 5, 2)) +training_data = csv.head(100000).copy() +training_input = np.array(training_data.iloc[:, :-2]).reshape(shape) +training_outcome = training_data.iloc[:, -2:] -model.fit(train, training_outcome, epochs=100) +test_data = csv.tail(20000).copy() +test_input = np.array(test_data.iloc[:, :-2]).reshape(shape) +test_outcome = test_data.iloc[:, -2:] -test_data = csv.copy().tail(50000) -# test_data = test_data.drop(columns=test_data.keys()[0:2]) -test_outcome = test_data.pop('Outcome') -test_input = np.array(test_data) -# test_input = test_input.reshape((test_data.shape[0], 5, 5, 2)) -test_loss, test_acc = model.evaluate(test_input, test_outcome, verbose=2) -print('\nTest accuracy:', test_acc) +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)] -# Test accuracy: 0.67448 +print("\n\nResults: ", results) |
