from glob import glob import pickle import numpy as np results = './results' method_choices = {} for file in glob(f'{results}/*'): hyper = pickle.load(open(file, 'rb'))[-1] if hyper: dataset,method,optim = file.split('/')[-1].split('-') key = str(hyper) if method not in method_choices: method_choices[method] = {} if key not in method_choices[method]: method_choices[method][key] = 0 method_choices[method][key] = method_choices[method][key]+1 for method, hyper_count_dict in method_choices.items(): hyper, counts = zip(*list(hyper_count_dict.items())) order = np.argsort(counts) counts = np.asarray(counts)[order][::-1] hyper = np.asarray(hyper)[order][::-1] print(method) for hyper_i, count_i in zip(hyper, counts): print('\t', hyper_i, count_i)