| import os, pandas | |
| import json | |
| phase = "test" | |
| path = "/nfs/jolteon/data/ssd/xiziwang/AVA_dataset/csv" | |
| if phase == "train": | |
| csv_f = "train_loader.csv" | |
| csv_orig = "train_orig.csv" | |
| elif phase == "val": | |
| csv_f = "val_loader.csv" | |
| csv_orig = "val_orig.csv" | |
| else: | |
| csv_f = "test_loader.csv" | |
| csv_orig = "test_orig.csv" | |
| orig_df = pandas.read_csv(os.path.join(path, csv_orig)) | |
| entity_data = {} | |
| ts_to_entity = {} | |
| for index, row in orig_df.iterrows(): | |
| entity_id = row['entity_id'] | |
| video_id = row['video_id'] | |
| if row['label'] == "SPEAKING_AUDIBLE": | |
| label = 1 | |
| else: | |
| label = 0 | |
| ts = float(row['frame_timestamp']) | |
| if video_id not in entity_data.keys(): | |
| entity_data[video_id] = {} | |
| if entity_id not in entity_data[video_id].keys(): | |
| entity_data[video_id][entity_id] = {} | |
| if ts not in entity_data[video_id][entity_id].keys(): | |
| entity_data[video_id][entity_id][ts] = [] | |
| entity_data[video_id][entity_id][ts] = label | |
| if video_id not in ts_to_entity.keys(): | |
| ts_to_entity[video_id] = {} | |
| if ts not in ts_to_entity[video_id].keys(): | |
| ts_to_entity[video_id][ts] = [] | |
| ts_to_entity[video_id][ts].append(entity_id) | |
| with open(os.path.join(path, phase + "_entity.json"), 'w') as f: | |
| json.dump(entity_data, f) | |
| with open(os.path.join(path, phase + "_ts.json"), 'w') as f: | |
| json.dump(ts_to_entity, f) | |