Commit fa31a565 authored by Dennis Willers's avatar Dennis Willers 🏀

Final Codebasis

parent db3b17ff
......@@ -83,7 +83,7 @@ def run_model(config, config_knn, worksheet, r):
test_it = get_test_data(datagen, config["bilder"]["knn_path"])
print("Trainiere das Modell")
# fit model
history = fit_model(config, model, train_it, test_it, callback)
fit_model(config, model, train_it, test_it, callback)
# evaluate model
print("Evaluiere das Modell")
evaluate_metrics = evaluate_model(model, test_it, datagen, config, config_knn)
......@@ -97,9 +97,9 @@ def run_model(config, config_knn, worksheet, r):
# print("Erstelle den Plot Graphen")
# plot_values(history, config)
print("Inhalte in die Excel-Tabelle schreiben")
worksheet, r = create_excel_result(worksheet, r, callback, config, config_knn, evaluate_metrics,
r = create_excel_result(worksheet, r, callback, config, config_knn, evaluate_metrics,
training_duration_model)
return worksheet, r, evaluate_metrics, training_duration_model
return r, evaluate_metrics, training_duration_model
def check_if_kombination_is_not_allowed(opt, act128, act2, config):
......
......@@ -4,13 +4,11 @@ bilder:
# original_path: "assets/Bilder/Datengrundlage-Augmentiert/"
knn_path: "assets/Bilder/AktuelleTrainingsUndTestdaten/"
knn:
epochs: 10
epochs: 2
exception_optimization_method:
['SGD', 'Adam']
exception_activation_funktion_2:
['ReLU']
ignoreKnnCombinations:
[]
result:
plot_path: "ressources/results/plot/"
excel_path: "ressources/results/excel/"
......@@ -4,6 +4,7 @@ import tensorflow as tf
from src.enum.marktEnum import Markt
# Wird nicht mehr gebraucht
def createPathWithPictures():
# Pfad zu den 6 Ordnern
main_folder_path = "/assets/Bilder/Datengrundlage"
......@@ -26,7 +27,7 @@ def createPathWithPictures():
shutil.copy(image_path, new_subfolder_path)
def generateAugmentedNotOOSPictures():
def generate_augmented_not_oos_pictures():
for markt in Markt:
# Pfad zum Ordner "!OOS"
folder_path = "assets/Bilder/Datengrundlage_Test/" + markt.name + "/"
......@@ -62,8 +63,6 @@ def get_images():
brightness_range=[0.5, 1.5],
zoom_range=0.5,
)
# specify imagenet mean values for centering
# datagen.mean = [124, 150, 130]
return augmentedImageDefinition
......
......@@ -3,7 +3,7 @@ from src.enum.marktEnum import Markt
def fit_model(config, model, train_it, test_it, callback):
trained_model = model.fit(
model.fit(
train_it,
steps_per_epoch=len(train_it),
validation_data=test_it,
......@@ -12,7 +12,6 @@ def fit_model(config, model, train_it, test_it, callback):
verbose=1,
callbacks=[callback]
)
return trained_model
def evaluate_model(model, test_it, datagen, config, config_knn):
......
......@@ -47,11 +47,9 @@ def get_next_layer(units, activation_function, flat_or_dense):
def get_optimization_method(optimization_method):
if optimization_method == Optimierungsverfahren.SGD:
return tf.keras.optimizers.SGD(learning_rate=0.001, momentum=0.9)
return tf.keras.optimizers.experimental.SGD(learning_rate=0.001, momentum=0.9)
if optimization_method == Optimierungsverfahren.Adam:
return tf.keras.optimizers.Adam()
return tf.keras.optimizers.AdamAdam()
if optimization_method == Optimierungsverfahren.Ftrl:
return tf.keras.optimizers.legacy.Ftrl(learning_rate=0.001,
learning_rate_power=-0.5,
initial_accumulator_value=0.1)
return tf.keras.optimizers.legacy.Ftrl()
return None
......@@ -129,5 +129,5 @@ def write_matrix_in_excel(sheet, unique_opt, unique_act, final_matrix, c):
# Call the function with the folder path
# swap_excel_cols("/Users/dwillers/Programmierung/Master/Okan-Server/Results Kopie/5050")
# swap_file_cols("/Users/dwillers/Programmierung/Master/Okan-Server/Results Kopie/5050/Ftrl_softmax_softmax_03_02_23__03_19.xlsx")
swap_file_cols("/Users/dwillers/Programmierung/Master/Okan-Server/Results Kopie/1090/SGD_sigmoid_ReLU_24_01_23__08_39.xlsx")
# read_metrics("/Users/dwillers/Programmierung/Master/Okan-Server/Results Kopie/5050")
import time
from datetime import datetime
from datetime import datetime, timedelta
import openpyxl
......@@ -30,7 +29,6 @@ def create_excel_result(worksheet, r, callback, config, config_knn, evaluate_met
r = r + 2
# Schreiben Sie die Überschriften in die erste Zeile
# TODO: Ergänzung Recall 1, Recall 2
worksheet.cell(row=r, column=1).value = 'epoch'
worksheet.cell(row=r, column=2).value = 'training_loss'
worksheet.cell(row=r, column=3).value = 'training_accuracy'
......@@ -76,7 +74,7 @@ def create_excel_result(worksheet, r, callback, config, config_knn, evaluate_met
worksheet.cell(row=r, column=4).value = evaluate_metrics[3]
worksheet.cell(row=r, column=5).value = evaluate_metrics[2]
r = r + 4
return worksheet, r
return r
# TODO: Abschluss Statistik nach Cross-Validation von einer Konfiguration: Durchschnitt Accuracy, Recall 1, Recall 2, Loss, Duration für Evaluation
......@@ -120,11 +118,9 @@ def sum_values_into_one_array(model_evaluate_metrics, training_duration_models):
avg_array = [value / num_arrays for value in sum_array]
# Jetzt durchschnittsdauer des Modelltrainings berechnen
current_time = datetime.now()
add_times = current_time
add_times = timedelta()
for training_time in training_duration_models:
add_times = add_times + training_time
add_times = add_times - current_time
add_times += training_time
# Durchschnitt berechnen
average_duration = add_times / len(training_duration_models)
# Ergebnis dem avg_array hinzufügen
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment