Commit e96e287b authored by Peizhao Zhang's avatar Peizhao Zhang Committed by Facebook GitHub Bot
Browse files

migrated to iopath for d2go - data.

Summary: migrated to iopath for d2go - data.

Reviewed By: sstsai-adl

Differential Revision: D26632143

fbshipit-source-id: d85e4a00817115a8762e4444406d867070d4fd0c
parent 5bf4cc7d
#!/usr/bin/env python3 #!/usr/bin/env python3
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved # Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
import os import os
def _cache_json_file(json_file): def _cache_json_file(json_file):
# TODO: entirely rely on PathManager for caching # TODO: entirely rely on PathManager for caching
json_file = os.fspath(json_file) json_file = os.fspath(json_file)
......
...@@ -14,6 +14,7 @@ from detectron2.structures import BoxMode ...@@ -14,6 +14,7 @@ from detectron2.structures import BoxMode
from pycocotools.coco import COCO from pycocotools.coco import COCO
from .cache_util import _cache_json_file from .cache_util import _cache_json_file
try: try:
# virtual_fs is used to support both local and manifold paths # virtual_fs is used to support both local and manifold paths
# with syntax that is identical to the default python APIs # with syntax that is identical to the default python APIs
...@@ -272,8 +273,8 @@ def extended_coco_load(json_file, image_root, dataset_name=None, loaded_json=Non ...@@ -272,8 +273,8 @@ def extended_coco_load(json_file, image_root, dataset_name=None, loaded_json=Non
if dataset_name is not None: if dataset_name is not None:
# overwrite attrs # overwrite attrs
meta_dict = MetadataCatalog.get(dataset_name).as_dict() meta_dict = MetadataCatalog.get(dataset_name).as_dict()
meta_dict['thing_classes'] = classes_to_use meta_dict["thing_classes"] = classes_to_use
meta_dict['thing_dataset_id_to_contiguous_id'] = id_map meta_dict["thing_dataset_id_to_contiguous_id"] = id_map
# update MetadataCatalog (cannot change inplace, has to remove) # update MetadataCatalog (cannot change inplace, has to remove)
MetadataCatalog.remove(dataset_name) MetadataCatalog.remove(dataset_name)
MetadataCatalog.get(dataset_name).set(**meta_dict) MetadataCatalog.get(dataset_name).set(**meta_dict)
...@@ -298,10 +299,11 @@ if __name__ == "__main__": ...@@ -298,10 +299,11 @@ if __name__ == "__main__":
python -m detectron2.data.datasets.coco \ python -m detectron2.data.datasets.coco \
path/to/json path/to/image_root dataset_name path/to/json path/to/image_root dataset_name
""" """
import sys
import cv2
from detectron2.utils.logger import setup_logger from detectron2.utils.logger import setup_logger
from detectron2.utils.visualizer import Visualizer from detectron2.utils.visualizer import Visualizer
import cv2
import sys
logger = setup_logger(name=__name__) logger = setup_logger(name=__name__)
meta = MetadataCatalog.get(sys.argv[3]) meta = MetadataCatalog.get(sys.argv[3])
......
...@@ -16,7 +16,7 @@ raw data with fields such as: ...@@ -16,7 +16,7 @@ raw data with fields such as:
import os import os
import json import json
import logging import logging
from fvcore.common.file_io import PathManager from detectron2.utils.file_io import PathManager
from detectron2.data import DatasetCatalog, MetadataCatalog from detectron2.data import DatasetCatalog, MetadataCatalog
......
...@@ -20,7 +20,7 @@ logger = logging.getLogger(__name__) ...@@ -20,7 +20,7 @@ logger = logging.getLogger(__name__)
from d2go.config import temp_defrost from d2go.config import temp_defrost
from d2go.data.datasets import register_dataset_split, ANN_FN, IM_DIR from d2go.data.datasets import register_dataset_split, ANN_FN, IM_DIR
from detectron2.data import DatasetCatalog, MetadataCatalog from detectron2.data import DatasetCatalog, MetadataCatalog
from fvcore.common.file_io import PathManager from detectron2.utils.file_io import PathManager
class AdhocDatasetManager: class AdhocDatasetManager:
......
...@@ -33,7 +33,7 @@ import torch ...@@ -33,7 +33,7 @@ import torch
import torch.nn as nn import torch.nn as nn
import torch.quantization.quantize_fx import torch.quantization.quantize_fx
from d2go.modeling.quantization import post_training_quantize from d2go.modeling.quantization import post_training_quantize
from fvcore.common.file_io import PathManager from detectron2.utils.file_io import PathManager
from mobile_cv.arch.utils import fuse_utils from mobile_cv.arch.utils import fuse_utils
from mobile_cv.predictor.api import FuncInfo, ModelInfo, PredictorInfo from mobile_cv.predictor.api import FuncInfo, ModelInfo, PredictorInfo
from mobile_cv.predictor.builtin_functions import ( from mobile_cv.predictor.builtin_functions import (
......
...@@ -7,7 +7,7 @@ import os ...@@ -7,7 +7,7 @@ import os
from typing import Tuple, Optional, Dict from typing import Tuple, Optional, Dict
import torch import torch
from fvcore.common.file_io import PathManager from detectron2.utils.file_io import PathManager
from torch import nn from torch import nn
......
...@@ -21,8 +21,8 @@ from d2go.utils.launch_environment import get_launch_environment ...@@ -21,8 +21,8 @@ from d2go.utils.launch_environment import get_launch_environment
from detectron2.utils.collect_env import collect_env_info from detectron2.utils.collect_env import collect_env_info
from detectron2.utils.logger import setup_logger from detectron2.utils.logger import setup_logger
from detectron2.utils.serialize import PicklableWrapper from detectron2.utils.serialize import PicklableWrapper
from fvcore.common.file_io import PathManager
from d2go.utils.helper import run_once from d2go.utils.helper import run_once
from detectron2.utils.file_io import PathManager
from mobile_cv.common.misc.py import FolderLock, MultiprocessingPdb, post_mortem_if_fail from mobile_cv.common.misc.py import FolderLock, MultiprocessingPdb, post_mortem_if_fail
......
...@@ -8,7 +8,7 @@ import os ...@@ -8,7 +8,7 @@ import os
import detectron2.utils.comm as comm import detectron2.utils.comm as comm
import torch import torch
from d2go.utils.visualization import VisualizerWrapper from d2go.utils.visualization import VisualizerWrapper
from fvcore.common.file_io import PathManager from detectron2.utils.file_io import PathManager
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
......
...@@ -8,7 +8,7 @@ import re ...@@ -8,7 +8,7 @@ import re
import time import time
from detectron2.checkpoint import DetectionCheckpointer from detectron2.checkpoint import DetectionCheckpointer
from fvcore.common.file_io import PathManager from detectron2.utils.file_io import PathManager
from pytorch_lightning.callbacks.model_checkpoint import ModelCheckpoint from pytorch_lightning.callbacks.model_checkpoint import ModelCheckpoint
......
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