| import argparse | |
| import json | |
| import os | |
| import sys | |
| def main(base_dir: str, output_file: str): | |
| list_classes = ["A", "B", "C", "D"] | |
| output_list = [] | |
| for _class in list_classes: | |
| data_dir = os.path.join(base_dir, _class) | |
| list_files = os.listdir(data_dir) | |
| if _class == "A": | |
| _label = [1, 0, 0, 0] | |
| elif _class == "B": | |
| _label = [0, 1, 0, 0] | |
| elif _class == "C": | |
| _label = [0, 0, 1, 0] | |
| elif _class == "D": | |
| _label = [0, 0, 0, 1] | |
| for _file in list_files: | |
| _out = {"image": os.path.join(data_dir, _file), "label": _label} | |
| output_list.append(_out) | |
| data_dict = {"Test": output_list} | |
| fid = open(output_file, "w") | |
| json.dump(data_dict, fid, indent=1) | |
| if __name__ == "__main__": | |
| parser = argparse.ArgumentParser(description="") | |
| parser.add_argument("-base_dir", "--base_dir", default="sample_data", help="dir of dataset") | |
| parser.add_argument( | |
| "-output_file", "--output_file", default="configs/sample_image_data.json", help="output file name" | |
| ) | |
| parser_args, _ = parser.parse_known_args(sys.argv) | |
| main(base_dir=parser_args.base_dir, output_file=parser_args.output_file) | |