def get_all_results_files_in_folder(dataset,folder): files = set() for subdir, dirs, files in os.walk(os.path.join(DataManager.get_results_folder(), dataset,"fully_train",folder)): sub = subdir.split(folder)[1][1:].split("\\")[0].split("/")[0] # print(sub) if sub == "": continue files.add(sub) return files
def get_all_results_folders(dataset): folders = set() # print("getting results from:",os.path.join(DataManager.get_results_folder(), dataset,"fully_train")) for subdir, dirs, files in os.walk(os.path.join(DataManager.get_results_folder(), dataset,"fully_train")): sub = subdir.split("fully_train")[1][1:].split("\\")[0].split("/")[0] if sub == "": continue # print("result folder:",sub) folders.add(sub) return folders
def print_max_accuracies(dataset): for run in get_all_results_folders(dataset): run_name = run if run_name in name_overrides: run_name = name_overrides[run_name] print(run_name) for result_file in get_all_results_files_in_folder(dataset,run): file_path = os.path.join(DataManager.get_results_folder(), dataset,"fully_train",run, result_file) # print(result_file,file_path) with open(file_path) as file: lines = file.readlines() accuracies = get_accuracies(lines) # print(accuracies) max_acc = max(accuracies) config_name = result_file.replace(".txt", "") print("\t", config_name, "max acc:", max_acc)
def get_fm_acc_tuples(dataset): data = {} # dict from run: {config:(fm,acc)} for run in get_all_results_folders(dataset): for result_file in get_all_results_files_in_folder(dataset,run): file_path = os.path.join(DataManager.get_results_folder(),dataset,"fully_train", run, result_file) train_config = result_file.split("fm")[0].replace("_", " ") train_config = "NONE" if len(train_config) == 0 else train_config fm = result_file.split("fm")[1].replace(".txt", "").replace(",", ".") with open(file_path) as file: lines = file.readlines() accuracies = get_accuracies(lines) max_acc = max(accuracies) if run not in data: data[run] = {} if train_config not in data[run]: data[run][train_config] = [] data[run][train_config].append((float(fm), max_acc)) return data