Spaces:
Running
on
Zero
Running
on
Zero
import os | |
import json | |
import argparse | |
import pathlib | |
from load_aokvqa import load_aokvqa | |
parser = argparse.ArgumentParser() | |
parser.add_argument('--aokvqa-dir', type=pathlib.Path, required=True, dest='aokvqa_dir') | |
parser.add_argument('--coco-dir', type=pathlib.Path, required=True, dest='coco_dir') | |
parser.add_argument('--split', type=str, choices=['train', 'val'], required=True) | |
parser.add_argument('--out', type=argparse.FileType('w'), required=True, dest='output_file') | |
args = parser.parse_args() | |
aokvqa_set = load_aokvqa(args.aokvqa_dir, args.split) | |
coco_captions = json.load(open(os.path.join(args.coco_dir, 'annotations', f'captions_{args.split}2017.json')))['annotations'] | |
coco_captions = {c['image_id'] : c['caption'] for c in coco_captions} | |
captions = { d['question_id'] : coco_captions[d['image_id']] for d in aokvqa_set } | |
json.dump(captions, args.output_file) | |