toolkits/multimodal_data_preprocessing/replace_llava_image_key.py (29 lines of code) (raw):

import os import json from argparse import ArgumentParser def process( in_file, out_file, ): d = os.path.dirname(out_file) os.makedirs(d, exist_ok=True) try: with open(in_file, 'r') as f: data = json.load(f) except: with open(in_file, 'r') as f: data = [json.loads(f) for l in f.readlines()] for i, sample in enumerate(data): if isinstance(sample, list): assert len(sample) == 1 data[i] = sample[0] if "image" in data[i]: data[i]['images'] = [data[i].pop('image')] with open(out_file, 'w') as f: json.dump(data, f) if __name__ == '__main__': argparser = ArgumentParser() argparser.add_argument("--input-file", type=str, required=True) argparser.add_argument("--output-file", type=str, default='dataset.json') args = argparser.parse_args() process(args.input_file, args.output_file)