(args)
| 193 | return avg / len(data.index) |
| 194 | |
| 195 | def main(args): |
| 196 | os.makedirs(args.out_dir, exist_ok=True) |
| 197 | |
| 198 | # setup plots |
| 199 | # sns.set_style('white') |
| 200 | sns.set_style("ticks") |
| 201 | # sns.set() |
| 202 | sns.set(font_scale=1.7) |
| 203 | |
| 204 | #list of all datasets wanted |
| 205 | datasets = [ |
| 206 | 'resisc', 'ucmerced', 'viper', 'bdd', |
| 207 | 'domain_net_painting', 'domain_net_clipart', 'domain_net_infograph', 'domain_net_sketch', |
| 208 | 'domain_net_quickdraw', 'domain_net_real', 'flowers', 'chest_xray_kids', |
| 209 | 'chexpert', 'xview', 'coco_2014', 'pascal', |
| 210 | ] |
| 211 | |
| 212 | # |
| 213 | |
| 214 | #get files for all datasets wanted |
| 215 | result_files = [] |
| 216 | for dataset in datasets: |
| 217 | result_files.append(os.path.join(args.results_dir, dataset + "_results.json")) |
| 218 | |
| 219 | print(result_files) |
| 220 | |
| 221 | #creates a datasets list to concatenate all pd to form one large pandas df |
| 222 | datasets_pd = [] |
| 223 | |
| 224 | #createsd dictionary for moco transfer result and bn result for each dataset |
| 225 | moco_transfers = {} |
| 226 | data_bn_points = {} |
| 227 | |
| 228 | for resfile in result_files: |
| 229 | with open(resfile, 'r') as infile: |
| 230 | raw_data = json.load(infile) |
| 231 | #get data into pandas dataframe |
| 232 | data = pd.DataFrame(raw_data.values()) |
| 233 | |
| 234 | #takes only linear evals |
| 235 | data = data[data.result_type =='linear-eval'] |
| 236 | |
| 237 | #ignores all imagenet basetrain models |
| 238 | data = data[data.basetrain != "imagenet_r50_supervised"] |
| 239 | |
| 240 | #renames the basetrain |
| 241 | data.basetrain = data.basetrain.replace("moco_v2_800ep", "HPT") |
| 242 | data.basetrain = data.basetrain.replace("no", "MoCo Random Init") |
| 243 | data.basetrain = data.basetrain.replace("none", "MoCo Random Init") |
| 244 | |
| 245 | |
| 246 | #ignores all imagenet basetrain models |
| 247 | # data = data[~((data.pretrain_iters == "5000") & (data.basetrain == "MoCo Random Init"))] |
| 248 | |
| 249 | #gets all bn data |
| 250 | data_bn = data[data.pretrain_iters.str.contains("bn")] |
| 251 | |
| 252 | #all non-bn data |
no test coverage detected