diff --git a/main.py b/main.py index 08a38b50d060645e7dda2c4e1ecdde1d825bbb34..e8d34f20f318aad7a335d7c747aeb67d9cc6ed42 100644 --- a/main.py +++ b/main.py @@ -164,50 +164,6 @@ def construct_and_apply_network(hidden_layer_dimensions, data, target_labels, en #plot_model_loss(history) return accuracy -def save_mfcc(trainingDataDir, trainingDataSubDirs, dataset_path, json_path, n_mfcc=13, n_fft=2048, hop_length=512): - data = { - "mapping": [], - "mfcc": [] - } - - # Looping over every file inside the subdirectories for feature extraction - for trainingDataSubDir in trainingDataSubDirs: - for fileName in os.listdir(trainingDataDir / f'{trainingDataSubDir}'): - if fileName.endswith(".wav"): - audioFile = trainingDataDir / f'{trainingDataSubDir}/{fileName}' - print("Extracting Features from Directory " + trainingDataSubDir + " and file " + audioFile.name) - y, sr = librosa.load(audioFile, mono=True) - mfcc = librosa.feature.mfcc(y=y, sr=sr, n_fft=n_fft, n_mfcc=n_mfcc, hop_length=hop_length) - data["mfcc"].append(mfcc.tolist()) - - to_append = f'{audioFile.name}' - for g in mfcc: - to_append += f' {np.mean(g)}' - if trainingDataSubDir == constants.CAR: - data["mapping"].append(constants.CAR) - to_append += f' {constants.LIGHT_WEIGHT}' - elif trainingDataSubDir == constants.BUS: - data["mapping"].append(constants.BUS) - to_append += f' {constants.MEDIUM_WEIGHT}' - elif trainingDataSubDir == constants.TRUCK: - data["mapping"].append(constants.TRUCK) - to_append += f' {constants.HEAVY_WEIGHT}' - elif trainingDataSubDir == constants.MOTORCYCLE: - data["mapping"].append(constants.MOTORCYCLE) - to_append += f' {constants.TWO_WHEELED}' - elif trainingDataSubDir == constants.TRAM: - data["mapping"].append(constants.TRAM) - to_append += f' {constants.RAIL_BOUND}' - - file = open(constants.FEATURES_CSV_NAME, 'a', newline='') - with file: - writer = csv.writer(file) - writer.writerow(to_append.split()) - - with open(json_path, "w") as fp: - json.dump(data, fp, indent=4) - - if __name__ == "__main__": # Changing Directory to Training Dataset Folder chdir(constants.TRAINING_DATA_DIRECTORY_NAME) @@ -223,11 +179,10 @@ if __name__ == "__main__": target_labels, encoder = encode_labels(data) X = normalize_data(data) - max_accuracy = 0 neurons_increment_by = 8 start_neuron_value = 8 - max_neuron_value = 128 - hidden_layers = 5 + max_neuron_value = 32 + hidden_layers = 3 hidden_layer_dimensions = [] book = Workbook() @@ -247,32 +202,6 @@ if __name__ == "__main__": sheet.cell(row=(row_counter), column=1).value = hidden_layer_dimensions.__str__() sheet.cell(row=(row_counter), column=2).value = new_accuracy sheet.cell(row=(row_counter), column=3).value = elapsed_time - - ''' - for i in range (loop_count): - start = time.time() - new_accuracy = construct_and_apply_network(hidden_layer_dimensions) - end = time.time() - if max_accuracy < new_accuracy: - max_accuracy = new_accuracy - elapsed_time = end - start - print("durchlauf: ", (i+1)) - print("\nmax accuracy: ", max_accuracy) - print("\nnew accuracy: ", new_accuracy) - print("\nlist: ", hidden_layer_dimensions) - sheet.cell(row=(i+1), column=1).value = hidden_layer_dimensions.__str__() - sheet.cell(row=(i + 1), column=2).value = new_accuracy - sheet.cell(row=(i + 1), column=3).value = elapsed_time - - if neurons_count == max_neuron_value: - neurons_count = start_neuron_value - hidden_layer_dimensions.append(start_neuron_value) - pointer += 1 - else: - neurons_count += neurons_increment_by - hidden_layer_dimensions[pointer] = neurons_count - ''' - book.save("sample.xlsx")