| 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) |
|
|