hfai.utils.{mm, detr2}¶
为 mmcv 提供的 FFRecord 文件格式的存储后端 |
|
在 detectron2 上使用 FFRecord,需要在导入 detectron2 包之前使用本函数 |
|
- class hfai.utils.mm.FFRecordClient(fname, path_prefix=None, check_data=True)[source]¶
为 mmcv 提供的 FFRecord 文件格式的存储后端
通过 FFRecordClient,我们可以直接在 mmcv 里访问 ffrecord.pack_folder 打包后的文件
具体教程请看 HFAI X MMCV
Note
支持 mmcv >= 1.3.18
- Parameters
fname (str) – 通过 ffrecord.pack_folder 打包后的文件路径
path_prefix (str) – 路径的前缀
check_data (bool) – 读取 FFRecord 文件时是否验证校验和
Examples
>>> from ffrecord import pack_folder >>> import hfai.utils.mm, mmcv >>> pack_folder("/your/folder", "packed.ffr") >>> file_client_args = dict(backend="ffrecord", fname="packed.ffr") >>> client = mmcv.FileClient.infer_client(file_client_args) >>> data = client.get("0001.txt")
我们还可以在构建 FFRecordClient 的时候给一个路径的前缀,这样读取文件的时候会自动去除掉输入路径的前缀:
>>> file_client_args = dict(backend="ffrecord", fname="packed.ffr", path_prefix="/home/user/data/") >>> client = mmcv.FileClient.infer_client(file_client_args) >>> data = client.get("/home/user/data/0001.txt")
- class hfai.utils.detr2.register_ffrecord_handler(ffr_file, ffr_prefix=None, local_prefix='datasets')[source]¶
在 detectron2 上使用 FFRecord,需要在导入 detectron2 包之前使用本函数
具体教程请看 HFAI X Detectron2
Examples:
from hfai.utils.detr2 import register_ffrecord_handler register_ffrecord_handler( ffr_file="datasets/coco/coco.ffr", ffr_prefix="coco", ) # 在这之后我们导入 detectron2 并使用 import detectron