Commit be8a6324 authored by Zhicheng Yan's avatar Zhicheng Yan Committed by Facebook GitHub Bot
Browse files

update INJECTED_COCO_DATASETS_LUT when registering AdhocCOCODataset

Summary:
When registering AdhocCOCODataset, INJECTED_COCO_DATASETS_LUT needs to be updated as well.
For example, if a dataset uses custom registering function, it can be only retrieved from INJECTED_COCO_DATASETS_LUT.
Otherwise, it uses the default registering function as in branch `register_dataset_split`.

Reviewed By: antonrigner

Differential Revision: D46826507

fbshipit-source-id: 9170c5b57f3935875b899ab7f93c3c57e77eb28c
parent 5c23bee8
...@@ -20,6 +20,7 @@ from d2go.data.datasets import ( ...@@ -20,6 +20,7 @@ from d2go.data.datasets import (
ANN_FN, ANN_FN,
IM_DIR, IM_DIR,
INJECTED_COCO_DATASETS_LUT, INJECTED_COCO_DATASETS_LUT,
InjectedCocoEntry,
register_dataset_split, register_dataset_split,
) )
from detectron2.data import DatasetCatalog, MetadataCatalog from detectron2.data import DatasetCatalog, MetadataCatalog
...@@ -168,9 +169,10 @@ class AdhocCOCODataset(AdhocDataset): ...@@ -168,9 +169,10 @@ class AdhocCOCODataset(AdhocDataset):
DatasetCatalog.register(self.new_ds_name, new_func) DatasetCatalog.register(self.new_ds_name, new_func)
elif self.src_ds_name in INJECTED_COCO_DATASETS_LUT: elif self.src_ds_name in INJECTED_COCO_DATASETS_LUT:
_src_func, _src_dict = INJECTED_COCO_DATASETS_LUT[self.src_ds_name] _src_func, _src_dict = INJECTED_COCO_DATASETS_LUT[self.src_ds_name]
_src_func( split_dict = {**_src_dict, ANN_FN: tmp_file, IM_DIR: metadata.image_root}
self.new_ds_name, _src_func(self.new_ds_name, split_dict=split_dict)
split_dict={**_src_dict, ANN_FN: tmp_file, IM_DIR: metadata.image_root}, INJECTED_COCO_DATASETS_LUT[self.new_ds_name] = InjectedCocoEntry(
func=_src_func, split_dict=split_dict
) )
else: else:
# NOTE: only supports COCODataset as DS_TYPE since we cannot reconstruct # NOTE: only supports COCODataset as DS_TYPE since we cannot reconstruct
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment