def METHOD_NAME(feat_dir, out_dir):
    info_json_path = os.path.join(feat_dir, "gqa_objects_info.json")
    info_dict = json.load(open(info_json_path))
    file_mapping = {k: [] for k in range(16)}
    for k, v in info_dict.items():
        file_mapping[v["file"]] += [(k, v)]
    for i in range(16):
        file_path = os.path.join(feat_dir, f"gqa_objects_{i}.h5")
        print(f"Processing file {file_path}")
        feat_db = h5py.File(file_path, "r")
        for entry in tqdm.tqdm(file_mapping[i]):
            image_id = entry[0]
            meta = entry[1]
            to_save = {
                "image_id": image_id,
                "boxes": feat_db["bboxes"][meta["idx"]],
                "feats": feat_db["features"][meta["idx"]],
                "height": meta["height"],
                "width": meta["width"],
                "n_objects": meta["objectsNum"],
            }
            save_path = os.path.join(out_dir, str(image_id) + ".npy")
            np.save(save_path, to_save)