def METHOD_NAME(self):
    env = lmdb.open(self.args.lmdb_path, map_size=1099511627776)
    id_list = []
    all_features = glob.glob(
        os.path.join(self.args.features_folder, "**", "*.npy"), recursive=True
    )
    features = []
    for feature in all_features:
        if not feature.endswith("_info.npy"):
            features.append(feature)
    with env.begin(write=True) as txn:
        for infile in tqdm.tqdm(features):
            reader = np.load(infile, allow_pickle=True)
            item = {}
            split = os.path.relpath(infile, self.args.features_folder).split(
                ".npy"
            )[0]
            item["feature_path"] = split
            key = split.encode()
            id_list.append(key)
            item["features"] = reader
            info_file = infile.split(".npy")[0] + "_info.npy"
            if not os.path.isfile(info_file):
                txn.put(key, pickle.dumps(item))
                continue
            reader = np.load(info_file, allow_pickle=True)
            item["image_height"] = reader.item().get("image_height")
            item["image_width"] = reader.item().get("image_width")
            item["num_boxes"] = reader.item().get("num_boxes")
            item["objects"] = reader.item().get("objects")
            item["cls_prob"] = reader.item().get("cls_prob", None)
            item["bbox"] = reader.item().get("bbox")
            txn.put(key, pickle.dumps(item))
        txn.put(b"keys", pickle.dumps(id_list))