Loading .gitignore +2 −0 Original line number Original line Diff line number Diff line Loading @@ -53,3 +53,5 @@ Thumbs.db assets/Bilder/* assets/Bilder/* assets/Bilder/AktuelleTrainingsUndTestdaten/* assets/Bilder/AktuelleTrainingsUndTestdaten/* assets/Bilder/Datengrundlage/* assets/Bilder/Datengrundlage/ main.py +5 −3 Original line number Original line Diff line number Diff line Loading @@ -21,10 +21,12 @@ def run_model(): with open("ressources/config/config.yaml", "r") as file: with open("ressources/config/config.yaml", "r") as file: config = yaml.load(file, Loader=yaml.FullLoader) config = yaml.load(file, Loader=yaml.FullLoader) # Initialisieren der KNN-Modellbau Eigenschaften # Initialisieren der KNN-Modellbau Eigenschaften config_knn = ConfigKNN(excluded_folder=Markt.MARKT_B, config_knn = ConfigKNN( activation_function_1_units=Aktivierungsfunktion.Sigmoid, excluded_folder=Markt.Kein_Markt, activation_function_1_units=Aktivierungsfunktion.sigmoid, activation_function_128_units=Aktivierungsfunktion.ReLU, activation_function_128_units=Aktivierungsfunktion.ReLU, optimization_method=Optimierungsverfahren.Adam) optimization_method=Optimierungsverfahren.SGD ) print("Initialisiere Callback") print("Initialisiere Callback") # Erstellen Sie eine Instanz des benutzerdefinierten Callbacks # Erstellen Sie eine Instanz des benutzerdefinierten Callbacks Loading ressources/config/config.yaml +2 −1 Original line number Original line Diff line number Diff line bilder: bilder: original_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/assets/Bilder/Datengrundlage-Reduziert-Test/" original_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/assets/Bilder/Datengrundlage-Reduziert-Test/" # original_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/assets/Bilder/Datengrundlage/" knn_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/assets/Bilder/AktuelleTrainingsUndTestdaten/" knn_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/assets/Bilder/AktuelleTrainingsUndTestdaten/" knn: knn: epochs: 2 epochs: 6 result: result: plot_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/ressources/results/plot/" plot_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/ressources/results/plot/" excel_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/ressources/results/excel/" excel_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/ressources/results/excel/" src/data/copyData.py +6 −5 Original line number Original line Diff line number Diff line Loading @@ -45,20 +45,21 @@ def copy_images_with_exclusion(src_dir, dest_dir, exclude_dir=None): os.remove(file_or_dir_path) os.remove(file_or_dir_path) # Erstelle die gewünschte Ordnerstruktur im Zielverzeichnis # Erstelle die gewünschte Ordnerstruktur im Zielverzeichnis os.makedirs(os.path.join(dest_dir, 'OOS')) os.makedirs(os.path.join(dest_dir, '0_OOS')) os.makedirs(os.path.join(dest_dir, '!OOS')) os.makedirs(os.path.join(dest_dir, '1_!OOS')) # Durchlaufe die Unterordner im Quellverzeichnis # Durchlaufe die Unterordner im Quellverzeichnis for subdir in os.listdir(src_dir): for subdir in os.listdir(src_dir): # if subdir == exclude_dir: # if subdir == exclude_dir: subdirString = bytes(subdir, 'utf-8').decode('unicode_escape') subdirString = bytes(subdir, 'utf-8').decode('unicode_escape') exclude_dirString = bytes(exclude_dir, 'utf-8').decode('unicode_escape') exclude_dirString = bytes(exclude_dir.name, 'utf-8').decode('unicode_escape') if subdirString == exclude_dirString: if subdirString == exclude_dirString: continue continue for folder in os.listdir(os.path.join(src_dir, subdir)): for folder in os.listdir(os.path.join(src_dir, subdir)): if folder == 'OOS': if folder == 'OOS': for img in os.listdir(os.path.join(src_dir, subdir, folder)): for img in os.listdir(os.path.join(src_dir, subdir, folder)): shutil.copy(os.path.join(src_dir, subdir, folder, img), os.path.join(dest_dir, 'OOS')) shutil.copy(os.path.join(src_dir, subdir, folder, img), os.path.join(dest_dir, '0_OOS')) elif folder == '!OOS': elif folder == '!OOS': for img in os.listdir(os.path.join(src_dir, subdir, folder)): for img in os.listdir(os.path.join(src_dir, subdir, folder)): shutil.copy(os.path.join(src_dir, subdir, folder, img), os.path.join(dest_dir, '!OOS')) shutil.copy(os.path.join(src_dir, subdir, folder, img), os.path.join(dest_dir, '1_!OOS')) src/data/modelData.py +2 −2 Original line number Original line Diff line number Diff line Loading @@ -19,7 +19,7 @@ def define_augmentation_rules(): def get_train_data(datagen, directory): def get_train_data(datagen, directory): train_it = datagen.flow_from_directory( train_it = datagen.flow_from_directory( directory=directory, directory=directory, class_mode='binary', class_mode='categorical', batch_size=64, batch_size=64, target_size=(224, 224), target_size=(224, 224), subset='training') subset='training') Loading @@ -29,7 +29,7 @@ def get_train_data(datagen, directory): def get_test_data(datagen, directory): def get_test_data(datagen, directory): test_it = datagen.flow_from_directory( test_it = datagen.flow_from_directory( directory=directory, directory=directory, class_mode='binary', class_mode='categorical', batch_size=64, batch_size=64, target_size=(224, 224), target_size=(224, 224), subset='validation') subset='validation') Loading Loading
.gitignore +2 −0 Original line number Original line Diff line number Diff line Loading @@ -53,3 +53,5 @@ Thumbs.db assets/Bilder/* assets/Bilder/* assets/Bilder/AktuelleTrainingsUndTestdaten/* assets/Bilder/AktuelleTrainingsUndTestdaten/* assets/Bilder/Datengrundlage/* assets/Bilder/Datengrundlage/
main.py +5 −3 Original line number Original line Diff line number Diff line Loading @@ -21,10 +21,12 @@ def run_model(): with open("ressources/config/config.yaml", "r") as file: with open("ressources/config/config.yaml", "r") as file: config = yaml.load(file, Loader=yaml.FullLoader) config = yaml.load(file, Loader=yaml.FullLoader) # Initialisieren der KNN-Modellbau Eigenschaften # Initialisieren der KNN-Modellbau Eigenschaften config_knn = ConfigKNN(excluded_folder=Markt.MARKT_B, config_knn = ConfigKNN( activation_function_1_units=Aktivierungsfunktion.Sigmoid, excluded_folder=Markt.Kein_Markt, activation_function_1_units=Aktivierungsfunktion.sigmoid, activation_function_128_units=Aktivierungsfunktion.ReLU, activation_function_128_units=Aktivierungsfunktion.ReLU, optimization_method=Optimierungsverfahren.Adam) optimization_method=Optimierungsverfahren.SGD ) print("Initialisiere Callback") print("Initialisiere Callback") # Erstellen Sie eine Instanz des benutzerdefinierten Callbacks # Erstellen Sie eine Instanz des benutzerdefinierten Callbacks Loading
ressources/config/config.yaml +2 −1 Original line number Original line Diff line number Diff line bilder: bilder: original_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/assets/Bilder/Datengrundlage-Reduziert-Test/" original_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/assets/Bilder/Datengrundlage-Reduziert-Test/" # original_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/assets/Bilder/Datengrundlage/" knn_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/assets/Bilder/AktuelleTrainingsUndTestdaten/" knn_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/assets/Bilder/AktuelleTrainingsUndTestdaten/" knn: knn: epochs: 2 epochs: 6 result: result: plot_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/ressources/results/plot/" plot_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/ressources/results/plot/" excel_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/ressources/results/excel/" excel_path: "/Users/dwillers/Programmierung/Master/Evaluation_OOS-Erkennung/ressources/results/excel/"
src/data/copyData.py +6 −5 Original line number Original line Diff line number Diff line Loading @@ -45,20 +45,21 @@ def copy_images_with_exclusion(src_dir, dest_dir, exclude_dir=None): os.remove(file_or_dir_path) os.remove(file_or_dir_path) # Erstelle die gewünschte Ordnerstruktur im Zielverzeichnis # Erstelle die gewünschte Ordnerstruktur im Zielverzeichnis os.makedirs(os.path.join(dest_dir, 'OOS')) os.makedirs(os.path.join(dest_dir, '0_OOS')) os.makedirs(os.path.join(dest_dir, '!OOS')) os.makedirs(os.path.join(dest_dir, '1_!OOS')) # Durchlaufe die Unterordner im Quellverzeichnis # Durchlaufe die Unterordner im Quellverzeichnis for subdir in os.listdir(src_dir): for subdir in os.listdir(src_dir): # if subdir == exclude_dir: # if subdir == exclude_dir: subdirString = bytes(subdir, 'utf-8').decode('unicode_escape') subdirString = bytes(subdir, 'utf-8').decode('unicode_escape') exclude_dirString = bytes(exclude_dir, 'utf-8').decode('unicode_escape') exclude_dirString = bytes(exclude_dir.name, 'utf-8').decode('unicode_escape') if subdirString == exclude_dirString: if subdirString == exclude_dirString: continue continue for folder in os.listdir(os.path.join(src_dir, subdir)): for folder in os.listdir(os.path.join(src_dir, subdir)): if folder == 'OOS': if folder == 'OOS': for img in os.listdir(os.path.join(src_dir, subdir, folder)): for img in os.listdir(os.path.join(src_dir, subdir, folder)): shutil.copy(os.path.join(src_dir, subdir, folder, img), os.path.join(dest_dir, 'OOS')) shutil.copy(os.path.join(src_dir, subdir, folder, img), os.path.join(dest_dir, '0_OOS')) elif folder == '!OOS': elif folder == '!OOS': for img in os.listdir(os.path.join(src_dir, subdir, folder)): for img in os.listdir(os.path.join(src_dir, subdir, folder)): shutil.copy(os.path.join(src_dir, subdir, folder, img), os.path.join(dest_dir, '!OOS')) shutil.copy(os.path.join(src_dir, subdir, folder, img), os.path.join(dest_dir, '1_!OOS'))
src/data/modelData.py +2 −2 Original line number Original line Diff line number Diff line Loading @@ -19,7 +19,7 @@ def define_augmentation_rules(): def get_train_data(datagen, directory): def get_train_data(datagen, directory): train_it = datagen.flow_from_directory( train_it = datagen.flow_from_directory( directory=directory, directory=directory, class_mode='binary', class_mode='categorical', batch_size=64, batch_size=64, target_size=(224, 224), target_size=(224, 224), subset='training') subset='training') Loading @@ -29,7 +29,7 @@ def get_train_data(datagen, directory): def get_test_data(datagen, directory): def get_test_data(datagen, directory): test_it = datagen.flow_from_directory( test_it = datagen.flow_from_directory( directory=directory, directory=directory, class_mode='binary', class_mode='categorical', batch_size=64, batch_size=64, target_size=(224, 224), target_size=(224, 224), subset='validation') subset='validation') Loading