Loading main.py +3 −3 Original line number Original line Diff line number Diff line Loading @@ -83,7 +83,7 @@ def run_model(config, config_knn, worksheet, r): test_it = get_test_data(datagen, config["bilder"]["knn_path"]) test_it = get_test_data(datagen, config["bilder"]["knn_path"]) print("Trainiere das Modell") print("Trainiere das Modell") # fit model # fit model history = fit_model(config, model, train_it, test_it, callback) fit_model(config, model, train_it, test_it, callback) # evaluate model # evaluate model print("Evaluiere das Modell") print("Evaluiere das Modell") evaluate_metrics = evaluate_model(model, test_it, datagen, config, config_knn) evaluate_metrics = evaluate_model(model, test_it, datagen, config, config_knn) Loading @@ -97,9 +97,9 @@ def run_model(config, config_knn, worksheet, r): # print("Erstelle den Plot Graphen") # print("Erstelle den Plot Graphen") # plot_values(history, config) # plot_values(history, config) print("Inhalte in die Excel-Tabelle schreiben") 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) 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): def check_if_kombination_is_not_allowed(opt, act128, act2, config): Loading ressources/config/config.yaml +1 −3 Original line number Original line Diff line number Diff line Loading @@ -4,13 +4,11 @@ bilder: # original_path: "assets/Bilder/Datengrundlage-Augmentiert/" # original_path: "assets/Bilder/Datengrundlage-Augmentiert/" knn_path: "assets/Bilder/AktuelleTrainingsUndTestdaten/" knn_path: "assets/Bilder/AktuelleTrainingsUndTestdaten/" knn: knn: epochs: 10 epochs: 2 exception_optimization_method: exception_optimization_method: ['SGD', 'Adam'] exception_activation_funktion_2: exception_activation_funktion_2: ['ReLU'] ['ReLU'] ignoreKnnCombinations: ignoreKnnCombinations: [] result: result: plot_path: "ressources/results/plot/" plot_path: "ressources/results/plot/" excel_path: "ressources/results/excel/" excel_path: "ressources/results/excel/" src/data/pictureHandling.py +2 −3 Original line number Original line Diff line number Diff line Loading @@ -4,6 +4,7 @@ import tensorflow as tf from src.enum.marktEnum import Markt from src.enum.marktEnum import Markt # Wird nicht mehr gebraucht def createPathWithPictures(): def createPathWithPictures(): # Pfad zu den 6 Ordnern # Pfad zu den 6 Ordnern main_folder_path = "/assets/Bilder/Datengrundlage" main_folder_path = "/assets/Bilder/Datengrundlage" Loading @@ -26,7 +27,7 @@ def createPathWithPictures(): shutil.copy(image_path, new_subfolder_path) shutil.copy(image_path, new_subfolder_path) def generateAugmentedNotOOSPictures(): def generate_augmented_not_oos_pictures(): for markt in Markt: for markt in Markt: # Pfad zum Ordner "!OOS" # Pfad zum Ordner "!OOS" folder_path = "assets/Bilder/Datengrundlage_Test/" + markt.name + "/" folder_path = "assets/Bilder/Datengrundlage_Test/" + markt.name + "/" Loading Loading @@ -62,8 +63,6 @@ def get_images(): brightness_range=[0.5, 1.5], brightness_range=[0.5, 1.5], zoom_range=0.5, zoom_range=0.5, ) ) # specify imagenet mean values for centering # datagen.mean = [124, 150, 130] return augmentedImageDefinition return augmentedImageDefinition Loading src/knn/createKNN.py +1 −2 Original line number Original line Diff line number Diff line Loading @@ -3,7 +3,7 @@ from src.enum.marktEnum import Markt def fit_model(config, model, train_it, test_it, callback): def fit_model(config, model, train_it, test_it, callback): trained_model = model.fit( model.fit( train_it, train_it, steps_per_epoch=len(train_it), steps_per_epoch=len(train_it), validation_data=test_it, validation_data=test_it, Loading @@ -12,7 +12,6 @@ def fit_model(config, model, train_it, test_it, callback): verbose=1, verbose=1, callbacks=[callback] callbacks=[callback] ) ) return trained_model def evaluate_model(model, test_it, datagen, config, config_knn): def evaluate_model(model, test_it, datagen, config, config_knn): Loading src/knn/defineKNN.py +3 −5 Original line number Original line Diff line number Diff line Loading @@ -47,11 +47,9 @@ def get_next_layer(units, activation_function, flat_or_dense): def get_optimization_method(optimization_method): def get_optimization_method(optimization_method): if optimization_method == Optimierungsverfahren.SGD: 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: if optimization_method == Optimierungsverfahren.Adam: return tf.keras.optimizers.Adam() return tf.keras.optimizers.AdamAdam() if optimization_method == Optimierungsverfahren.Ftrl: if optimization_method == Optimierungsverfahren.Ftrl: return tf.keras.optimizers.legacy.Ftrl(learning_rate=0.001, return tf.keras.optimizers.legacy.Ftrl() learning_rate_power=-0.5, initial_accumulator_value=0.1) return None return None Loading
main.py +3 −3 Original line number Original line Diff line number Diff line Loading @@ -83,7 +83,7 @@ def run_model(config, config_knn, worksheet, r): test_it = get_test_data(datagen, config["bilder"]["knn_path"]) test_it = get_test_data(datagen, config["bilder"]["knn_path"]) print("Trainiere das Modell") print("Trainiere das Modell") # fit model # fit model history = fit_model(config, model, train_it, test_it, callback) fit_model(config, model, train_it, test_it, callback) # evaluate model # evaluate model print("Evaluiere das Modell") print("Evaluiere das Modell") evaluate_metrics = evaluate_model(model, test_it, datagen, config, config_knn) evaluate_metrics = evaluate_model(model, test_it, datagen, config, config_knn) Loading @@ -97,9 +97,9 @@ def run_model(config, config_knn, worksheet, r): # print("Erstelle den Plot Graphen") # print("Erstelle den Plot Graphen") # plot_values(history, config) # plot_values(history, config) print("Inhalte in die Excel-Tabelle schreiben") 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) 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): def check_if_kombination_is_not_allowed(opt, act128, act2, config): Loading
ressources/config/config.yaml +1 −3 Original line number Original line Diff line number Diff line Loading @@ -4,13 +4,11 @@ bilder: # original_path: "assets/Bilder/Datengrundlage-Augmentiert/" # original_path: "assets/Bilder/Datengrundlage-Augmentiert/" knn_path: "assets/Bilder/AktuelleTrainingsUndTestdaten/" knn_path: "assets/Bilder/AktuelleTrainingsUndTestdaten/" knn: knn: epochs: 10 epochs: 2 exception_optimization_method: exception_optimization_method: ['SGD', 'Adam'] exception_activation_funktion_2: exception_activation_funktion_2: ['ReLU'] ['ReLU'] ignoreKnnCombinations: ignoreKnnCombinations: [] result: result: plot_path: "ressources/results/plot/" plot_path: "ressources/results/plot/" excel_path: "ressources/results/excel/" excel_path: "ressources/results/excel/"
src/data/pictureHandling.py +2 −3 Original line number Original line Diff line number Diff line Loading @@ -4,6 +4,7 @@ import tensorflow as tf from src.enum.marktEnum import Markt from src.enum.marktEnum import Markt # Wird nicht mehr gebraucht def createPathWithPictures(): def createPathWithPictures(): # Pfad zu den 6 Ordnern # Pfad zu den 6 Ordnern main_folder_path = "/assets/Bilder/Datengrundlage" main_folder_path = "/assets/Bilder/Datengrundlage" Loading @@ -26,7 +27,7 @@ def createPathWithPictures(): shutil.copy(image_path, new_subfolder_path) shutil.copy(image_path, new_subfolder_path) def generateAugmentedNotOOSPictures(): def generate_augmented_not_oos_pictures(): for markt in Markt: for markt in Markt: # Pfad zum Ordner "!OOS" # Pfad zum Ordner "!OOS" folder_path = "assets/Bilder/Datengrundlage_Test/" + markt.name + "/" folder_path = "assets/Bilder/Datengrundlage_Test/" + markt.name + "/" Loading Loading @@ -62,8 +63,6 @@ def get_images(): brightness_range=[0.5, 1.5], brightness_range=[0.5, 1.5], zoom_range=0.5, zoom_range=0.5, ) ) # specify imagenet mean values for centering # datagen.mean = [124, 150, 130] return augmentedImageDefinition return augmentedImageDefinition Loading
src/knn/createKNN.py +1 −2 Original line number Original line Diff line number Diff line Loading @@ -3,7 +3,7 @@ from src.enum.marktEnum import Markt def fit_model(config, model, train_it, test_it, callback): def fit_model(config, model, train_it, test_it, callback): trained_model = model.fit( model.fit( train_it, train_it, steps_per_epoch=len(train_it), steps_per_epoch=len(train_it), validation_data=test_it, validation_data=test_it, Loading @@ -12,7 +12,6 @@ def fit_model(config, model, train_it, test_it, callback): verbose=1, verbose=1, callbacks=[callback] callbacks=[callback] ) ) return trained_model def evaluate_model(model, test_it, datagen, config, config_knn): def evaluate_model(model, test_it, datagen, config, config_knn): Loading
src/knn/defineKNN.py +3 −5 Original line number Original line Diff line number Diff line Loading @@ -47,11 +47,9 @@ def get_next_layer(units, activation_function, flat_or_dense): def get_optimization_method(optimization_method): def get_optimization_method(optimization_method): if optimization_method == Optimierungsverfahren.SGD: 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: if optimization_method == Optimierungsverfahren.Adam: return tf.keras.optimizers.Adam() return tf.keras.optimizers.AdamAdam() if optimization_method == Optimierungsverfahren.Ftrl: if optimization_method == Optimierungsverfahren.Ftrl: return tf.keras.optimizers.legacy.Ftrl(learning_rate=0.001, return tf.keras.optimizers.legacy.Ftrl() learning_rate_power=-0.5, initial_accumulator_value=0.1) return None return None