|
|
|
import logging |
|
import os |
|
|
|
from detectron2.data import DatasetCatalog, MetadataCatalog |
|
from detectron2.data.datasets.lvis import get_lvis_instances_meta |
|
from .lvis_v1 import custom_load_lvis_json, get_lvis_22k_meta |
|
def custom_register_imagenet_instances(name, metadata, json_file, image_root): |
|
""" |
|
""" |
|
DatasetCatalog.register(name, lambda: custom_load_lvis_json( |
|
json_file, image_root, name)) |
|
MetadataCatalog.get(name).set( |
|
json_file=json_file, image_root=image_root, |
|
evaluator_type="imagenet", **metadata |
|
) |
|
|
|
_CUSTOM_SPLITS_IMAGENET = { |
|
"imagenet_lvis_v1": ("imagenet/ImageNet-LVIS/", "imagenet/annotations/imagenet_lvis_image_info.json"), |
|
} |
|
|
|
for key, (image_root, json_file) in _CUSTOM_SPLITS_IMAGENET.items(): |
|
custom_register_imagenet_instances( |
|
key, |
|
get_lvis_instances_meta('lvis_v1'), |
|
os.path.join("datasets", json_file) if "://" not in json_file else json_file, |
|
os.path.join("datasets", image_root), |
|
) |
|
|
|
|
|
_CUSTOM_SPLITS_IMAGENET_22K = { |
|
"imagenet_lvis-22k": ("imagenet/ImageNet-LVIS/", "imagenet/annotations/imagenet-22k_image_info_lvis-22k.json"), |
|
} |
|
|
|
for key, (image_root, json_file) in _CUSTOM_SPLITS_IMAGENET_22K.items(): |
|
custom_register_imagenet_instances( |
|
key, |
|
get_lvis_22k_meta(), |
|
os.path.join("datasets", json_file) if "://" not in json_file else json_file, |
|
os.path.join("datasets", image_root), |
|
) |