Commit b3a9204c authored by John Reese's avatar John Reese Committed by Facebook GitHub Bot
Browse files

apply import merging for fbcode (7 of 11)

Summary:
Applies new import merging and sorting from µsort v1.0.

When merging imports, µsort will make a best-effort to move associated
comments to match merged elements, but there are known limitations due to
the diynamic nature of Python and developer tooling. These changes should
not produce any dangerous runtime changes, but may require touch-ups to
satisfy linters and other tooling.

Note that µsort uses case-insensitive, lexicographical sorting, which
results in a different ordering compared to isort. This provides a more
consistent sorting order, matching the case-insensitive order used when
sorting import statements by module name, and ensures that "frog", "FROG",
and "Frog" always sort next to each other.

For details on µsort's sorting and merging semantics, see the user guide:
https://usort.readthedocs.io/en/stable/guide.html#sorting

Reviewed By: lisroach

Differential Revision: D36402205

fbshipit-source-id: a4efc688d02da80c6e96685aa8eb00411615a366
parent 16d090fb
...@@ -3,9 +3,7 @@ ...@@ -3,9 +3,7 @@
# NOTE: making necessary imports to register with Registery # NOTE: making necessary imports to register with Registery
from . import backbone # noqa from . import backbone, meta_arch, modeldef # noqa # noqa # noqa
from . import meta_arch # noqa
from . import modeldef # noqa
# namespace forwarding # namespace forwarding
from .meta_arch.build import build_model from .meta_arch.build import build_model
......
#!/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
# @fb-only: from . import fb # noqa # @fb-only: from . import fb, fbnet_v2 # noqa
from . import fbnet_v2
# Explicitly expose all registry-based modules # Explicitly expose all registry-based modules
......
...@@ -12,10 +12,10 @@ import torch.nn as nn ...@@ -12,10 +12,10 @@ import torch.nn as nn
from d2go.modeling.modeldef.fbnet_modeldef_registry import FBNetV2ModelArch from d2go.modeling.modeldef.fbnet_modeldef_registry import FBNetV2ModelArch
from detectron2.layers import ShapeSpec from detectron2.layers import ShapeSpec
from detectron2.modeling import ( from detectron2.modeling import (
BACKBONE_REGISTRY,
RPN_HEAD_REGISTRY,
Backbone, Backbone,
BACKBONE_REGISTRY,
build_anchor_generator, build_anchor_generator,
RPN_HEAD_REGISTRY,
) )
from detectron2.modeling.backbone.fpn import FPN, LastLevelMaxPool, LastLevelP6P7 from detectron2.modeling.backbone.fpn import FPN, LastLevelMaxPool, LastLevelP6P7
from detectron2.modeling.roi_heads import box_head, keypoint_head, mask_head from detectron2.modeling.roi_heads import box_head, keypoint_head, mask_head
...@@ -24,10 +24,10 @@ from mobile_cv.arch.fbnet_v2 import fbnet_builder as mbuilder ...@@ -24,10 +24,10 @@ from mobile_cv.arch.fbnet_v2 import fbnet_builder as mbuilder
from mobile_cv.arch.utils.helper import format_dict_expanding_list_values from mobile_cv.arch.utils.helper import format_dict_expanding_list_values
from .modules import ( from .modules import (
KeypointRCNNConvUpsamplePredictorNoUpscale,
KeypointRCNNIRFPredictorNoUpscale,
KeypointRCNNPredictor, KeypointRCNNPredictor,
KeypointRCNNPredictorNoUpscale, KeypointRCNNPredictorNoUpscale,
KeypointRCNNIRFPredictorNoUpscale,
KeypointRCNNConvUpsamplePredictorNoUpscale,
MaskRCNNConv1x1Predictor, MaskRCNNConv1x1Predictor,
RPNHeadConvRegressor, RPNHeadConvRegressor,
) )
......
...@@ -8,7 +8,7 @@ from typing import List ...@@ -8,7 +8,7 @@ from typing import List
import detectron2.utils.comm as comm import detectron2.utils.comm as comm
import numpy as np import numpy as np
import torch import torch
from d2go.config import temp_defrost, CfgNode as CN from d2go.config import CfgNode as CN, temp_defrost
from detectron2.engine import hooks from detectron2.engine import hooks
from detectron2.layers import ShapeSpec from detectron2.layers import ShapeSpec
from detectron2.modeling import GeneralizedRCNN from detectron2.modeling import GeneralizedRCNN
......
...@@ -2,5 +2,4 @@ ...@@ -2,5 +2,4 @@
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved # Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
# NOTE: making necessary imports to register with Registry # NOTE: making necessary imports to register with Registry
# @fb-only: from . import fb # noqa from . import fb, fcos # noqa # @fb-only # noqa
from . import fcos # noqa
...@@ -15,13 +15,13 @@ from detectron2.projects.point_rend import PointRendMaskHead ...@@ -15,13 +15,13 @@ from detectron2.projects.point_rend import PointRendMaskHead
from detectron2.utils.registry import Registry from detectron2.utils.registry import Registry
from mobile_cv.arch.utils import fuse_utils from mobile_cv.arch.utils import fuse_utils
from mobile_cv.arch.utils.quantize_utils import ( from mobile_cv.arch.utils.quantize_utils import (
QuantWrapper,
wrap_non_quant_group_norm, wrap_non_quant_group_norm,
wrap_quant_subclass, wrap_quant_subclass,
QuantWrapper,
) )
from mobile_cv.predictor.api import FuncInfo from mobile_cv.predictor.api import FuncInfo
from torch.ao.quantization import convert from torch.ao.quantization import convert
from torch.ao.quantization.quantize_fx import prepare_fx, prepare_qat_fx, convert_fx from torch.ao.quantization.quantize_fx import convert_fx, prepare_fx, prepare_qat_fx
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
......
...@@ -6,5 +6,4 @@ ...@@ -6,5 +6,4 @@
This is the centralized place to define modeldef for all projects under D2Go. This is the centralized place to define modeldef for all projects under D2Go.
""" """
# @fb-only: from . import fb # noqa from . import fb, modeldef # noqa # @fb-only # noqa
from . import modeldef # noqa
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
import copy import copy
from d2go.modeling.modeldef.fbnet_modeldef_registry import FBNetV2ModelArch from d2go.modeling.modeldef.fbnet_modeldef_registry import FBNetV2ModelArch
from mobile_cv.arch.fbnet_v2.modeldef_utils import _ex, e1, e2, e1p, e3, e4, e6 from mobile_cv.arch.fbnet_v2.modeldef_utils import _ex, e1, e1p, e2, e3, e4, e6
def _mutated_tuple(tp, pos, value): def _mutated_tuple(tp, pos, value):
......
...@@ -8,10 +8,7 @@ from typing import Any, Dict, List ...@@ -8,10 +8,7 @@ from typing import Any, Dict, List
import numpy as np import numpy as np
import torch import torch
from d2go.config import CfgNode as CN from d2go.config import CfgNode as CN
from d2go.data.dataset_mappers import ( from d2go.data.dataset_mappers import D2GO_DATA_MAPPER_REGISTRY, D2GoDatasetMapper
D2GO_DATA_MAPPER_REGISTRY,
D2GoDatasetMapper,
)
from d2go.utils.helper import alias from d2go.utils.helper import alias
from detectron2.layers import cat from detectron2.layers import cat
from detectron2.modeling import ROI_HEADS_REGISTRY, StandardROIHeads from detectron2.modeling import ROI_HEADS_REGISTRY, StandardROIHeads
......
...@@ -11,8 +11,7 @@ import detectron2.utils.comm as comm ...@@ -11,8 +11,7 @@ import detectron2.utils.comm as comm
import torch import torch
from d2go.quantization import learnable_qat from d2go.quantization import learnable_qat
from detectron2.checkpoint import DetectionCheckpointer from detectron2.checkpoint import DetectionCheckpointer
from detectron2.engine import HookBase from detectron2.engine import HookBase, SimpleTrainer
from detectron2.engine import SimpleTrainer
from mobile_cv.arch.quantization.observer import update_stat as observer_update_stat from mobile_cv.arch.quantization.observer import update_stat as observer_update_stat
from mobile_cv.arch.utils import fuse_utils from mobile_cv.arch.utils import fuse_utils
from mobile_cv.common.misc.iter_utils import recursive_iterate from mobile_cv.common.misc.iter_utils import recursive_iterate
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
import importlib import importlib
from typing import Type, Union, Optional from typing import Optional, Type, Union
from .default_runner import ( from .default_runner import (
BaseRunner, BaseRunner,
......
...@@ -4,7 +4,7 @@ from abc import ABC ...@@ -4,7 +4,7 @@ from abc import ABC
from copy import deepcopy from copy import deepcopy
from dataclasses import dataclass from dataclasses import dataclass
from types import MethodType from types import MethodType
from typing import Any, Callable, Dict, List, Set, Optional, Tuple, Union from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Union
import torch import torch
from d2go.config import CfgNode from d2go.config import CfgNode
...@@ -14,11 +14,11 @@ from pytorch_lightning import LightningModule, Trainer ...@@ -14,11 +14,11 @@ from pytorch_lightning import LightningModule, Trainer
from pytorch_lightning.callbacks import Callback from pytorch_lightning.callbacks import Callback
from pytorch_lightning.utilities import rank_zero_info from pytorch_lightning.utilities import rank_zero_info
from torch.ao.quantization import ( # @manual from torch.ao.quantization import ( # @manual
get_default_qat_qconfig,
get_default_qconfig,
QConfig, QConfig,
QConfigDynamic, QConfigDynamic,
QuantType, QuantType,
get_default_qat_qconfig,
get_default_qconfig,
) )
from torch.ao.quantization.quantize_fx import convert_fx, prepare_fx, prepare_qat_fx from torch.ao.quantization.quantize_fx import convert_fx, prepare_fx, prepare_qat_fx
from torch.ao.quantization.utils import get_quant_type from torch.ao.quantization.utils import get_quant_type
......
...@@ -6,16 +6,12 @@ import logging ...@@ -6,16 +6,12 @@ import logging
import os import os
from collections import OrderedDict from collections import OrderedDict
from functools import lru_cache from functools import lru_cache
from typing import Type, Optional, List, Union from typing import List, Optional, Type, Union
import d2go.utils.abnormal_checker as abnormal_checker import d2go.utils.abnormal_checker as abnormal_checker
import detectron2.utils.comm as comm import detectron2.utils.comm as comm
import torch import torch
from d2go.config import ( from d2go.config import CfgNode, CONFIG_SCALING_METHOD_REGISTRY, temp_defrost
CfgNode,
CONFIG_SCALING_METHOD_REGISTRY,
temp_defrost,
)
from d2go.config.utils import get_cfg_diff_table from d2go.config.utils import get_cfg_diff_table
from d2go.data.build import build_d2go_train_loader from d2go.data.build import build_d2go_train_loader
from d2go.data.dataset_mappers import build_dataset_mapper from d2go.data.dataset_mappers import build_dataset_mapper
...@@ -28,19 +24,12 @@ from d2go.data.utils import ( ...@@ -28,19 +24,12 @@ from d2go.data.utils import (
) )
from d2go.export.d2_meta_arch import patch_d2_meta_arch from d2go.export.d2_meta_arch import patch_d2_meta_arch
from d2go.modeling import kmeans_anchors, model_ema from d2go.modeling import kmeans_anchors, model_ema
from d2go.modeling.model_freezing_utils import ( from d2go.modeling.model_freezing_utils import freeze_matched_bn, set_requires_grad
freeze_matched_bn,
set_requires_grad,
)
from d2go.optimizer import build_optimizer_mapper from d2go.optimizer import build_optimizer_mapper
from d2go.quantization.modeling import ( from d2go.quantization.modeling import QATCheckpointer, QATHook, setup_qat_model
QATCheckpointer,
setup_qat_model,
QATHook,
)
from d2go.utils.flop_calculator import attach_profilers from d2go.utils.flop_calculator import attach_profilers
from d2go.utils.get_default_cfg import get_default_cfg from d2go.utils.get_default_cfg import get_default_cfg
from d2go.utils.helper import TensorboardXWriter, D2Trainer from d2go.utils.helper import D2Trainer, TensorboardXWriter
from d2go.utils.misc import get_tensorboard_log_dir from d2go.utils.misc import get_tensorboard_log_dir
from d2go.utils.visualization import DataLoaderVisWrapper, VisualizationEvaluator from d2go.utils.visualization import DataLoaderVisWrapper, VisualizationEvaluator
from detectron2.checkpoint import DetectionCheckpointer, PeriodicCheckpointer from detectron2.checkpoint import DetectionCheckpointer, PeriodicCheckpointer
...@@ -49,21 +38,18 @@ from detectron2.data import ( ...@@ -49,21 +38,18 @@ from detectron2.data import (
build_detection_train_loader as d2_build_detection_train_loader, build_detection_train_loader as d2_build_detection_train_loader,
MetadataCatalog, MetadataCatalog,
) )
from detectron2.engine import HookBase from detectron2.engine import AMPTrainer, HookBase, hooks, SimpleTrainer
from detectron2.engine import SimpleTrainer, AMPTrainer, hooks
from detectron2.evaluation import ( from detectron2.evaluation import (
COCOEvaluator, COCOEvaluator,
RotatedCOCOEvaluator,
DatasetEvaluators, DatasetEvaluators,
LVISEvaluator,
inference_on_dataset, inference_on_dataset,
LVISEvaluator,
print_csv_format, print_csv_format,
RotatedCOCOEvaluator,
verify_results, verify_results,
) )
from detectron2.modeling import GeneralizedRCNNWithTTA, build_model from detectron2.modeling import build_model, GeneralizedRCNNWithTTA
from detectron2.solver import ( from detectron2.solver import build_lr_scheduler as d2_build_lr_scheduler
build_lr_scheduler as d2_build_lr_scheduler,
)
from detectron2.utils.events import CommonMetricPrinter, JSONWriter from detectron2.utils.events import CommonMetricPrinter, JSONWriter
from detectron2.utils.registry import Registry from detectron2.utils.registry import Registry
from mobile_cv.predictor.api import PredictorWrapper from mobile_cv.predictor.api import PredictorWrapper
......
...@@ -13,14 +13,10 @@ import torch ...@@ -13,14 +13,10 @@ import torch
from d2go.config import CfgNode from d2go.config import CfgNode
from d2go.data.build import build_d2go_train_loader from d2go.data.build import build_d2go_train_loader
from d2go.data.datasets import inject_coco_datasets, register_dynamic_datasets from d2go.data.datasets import inject_coco_datasets, register_dynamic_datasets
from d2go.data.utils import ( from d2go.data.utils import update_cfg_if_using_adhoc_dataset
update_cfg_if_using_adhoc_dataset,
)
from d2go.export.d2_meta_arch import patch_d2_meta_arch from d2go.export.d2_meta_arch import patch_d2_meta_arch
from d2go.modeling import build_model from d2go.modeling import build_model
from d2go.modeling.model_freezing_utils import ( from d2go.modeling.model_freezing_utils import set_requires_grad
set_requires_grad,
)
from d2go.optimizer import build_optimizer_mapper from d2go.optimizer import build_optimizer_mapper
from d2go.quantization.modeling import ( from d2go.quantization.modeling import (
default_prepare_for_quant, default_prepare_for_quant,
...@@ -28,9 +24,9 @@ from d2go.quantization.modeling import ( ...@@ -28,9 +24,9 @@ from d2go.quantization.modeling import (
) )
from d2go.runner.callbacks.quantization import maybe_prepare_for_quantization, PREPARED from d2go.runner.callbacks.quantization import maybe_prepare_for_quantization, PREPARED
from d2go.runner.default_runner import ( from d2go.runner.default_runner import (
_get_tbx_writer,
Detectron2GoRunner, Detectron2GoRunner,
GeneralizedRCNNRunner, GeneralizedRCNNRunner,
_get_tbx_writer,
) )
from d2go.utils.ema_state import EMAState from d2go.utils.ema_state import EMAState
from d2go.utils.misc import get_tensorboard_log_dir from d2go.utils.misc import get_tensorboard_log_dir
...@@ -39,7 +35,7 @@ from detectron2.solver import ( ...@@ -39,7 +35,7 @@ from detectron2.solver import (
build_lr_scheduler as d2_build_lr_scheduler, build_lr_scheduler as d2_build_lr_scheduler,
build_optimizer as d2_build_optimizer, build_optimizer as d2_build_optimizer,
) )
from pytorch_lightning.utilities import rank_zero_only, rank_zero_info from pytorch_lightning.utilities import rank_zero_info, rank_zero_only
from pytorch_lightning.utilities.logger import _flatten_dict from pytorch_lightning.utilities.logger import _flatten_dict
_STATE_DICT_KEY = "state_dict" _STATE_DICT_KEY = "state_dict"
......
...@@ -11,14 +11,14 @@ from typing import Optional ...@@ -11,14 +11,14 @@ from typing import Optional
import detectron2.utils.comm as comm import detectron2.utils.comm as comm
import torch import torch
from d2go.config import ( from d2go.config import (
CfgNode,
auto_scale_world_size, auto_scale_world_size,
CfgNode,
reroute_config_path, reroute_config_path,
temp_defrost, temp_defrost,
) )
from d2go.config.utils import get_diff_cfg from d2go.config.utils import get_diff_cfg
from d2go.distributed import get_local_rank, get_num_processes_per_machine from d2go.distributed import get_local_rank, get_num_processes_per_machine
from d2go.runner import create_runner, BaseRunner from d2go.runner import BaseRunner, create_runner
from d2go.utils.helper import run_once from d2go.utils.helper import run_once
from d2go.utils.launch_environment import get_launch_environment 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
......
...@@ -3,5 +3,4 @@ ...@@ -3,5 +3,4 @@
# import to make sure Registry works # import to make sure Registry works
# @fb-only: from . import fb # noqa from . import fb, flop_calculator # noqa # @fb-only # noqa
from . import flop_calculator # noqa
...@@ -13,7 +13,7 @@ from d2go.utils.helper import run_once ...@@ -13,7 +13,7 @@ from d2go.utils.helper import run_once
from detectron2.utils.analysis import FlopCountAnalysis from detectron2.utils.analysis import FlopCountAnalysis
from detectron2.utils.file_io import PathManager from detectron2.utils.file_io import PathManager
from detectron2.utils.registry import Registry from detectron2.utils.registry import Registry
from fvcore.nn import flop_count_table, flop_count_str from fvcore.nn import flop_count_str, flop_count_table
PROFILER_REGISTRY = Registry("PROFILER") PROFILER_REGISTRY = Registry("PROFILER")
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved # Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
from d2go.config import CfgNode as CN from d2go.config import CfgNode as CN
from d2go.data.build import ( from d2go.data.build import (
add_weighted_training_sampler_default_configs,
add_random_subset_training_sampler_default_configs, add_random_subset_training_sampler_default_configs,
add_weighted_training_sampler_default_configs,
) )
from d2go.data.config import add_d2go_data_default_configs from d2go.data.config import add_d2go_data_default_configs
from d2go.modeling import kmeans_anchors, model_ema from d2go.modeling import kmeans_anchors, model_ema
......
...@@ -19,8 +19,7 @@ import typing ...@@ -19,8 +19,7 @@ import typing
import warnings import warnings
import zipfile import zipfile
from contextlib import contextmanager from contextlib import contextmanager
from functools import partial from functools import partial, wraps
from functools import wraps
from random import random from random import random
from typing import ( from typing import (
Any, Any,
...@@ -44,9 +43,9 @@ from detectron2.checkpoint import DetectionCheckpointer ...@@ -44,9 +43,9 @@ from detectron2.checkpoint import DetectionCheckpointer
from detectron2.config import get_cfg from detectron2.config import get_cfg
from detectron2.data import MetadataCatalog from detectron2.data import MetadataCatalog
from detectron2.engine import ( from detectron2.engine import (
DefaultTrainer,
default_argument_parser, default_argument_parser,
default_setup, default_setup,
DefaultTrainer,
hooks, hooks,
launch, launch,
) )
......
...@@ -7,7 +7,7 @@ from d2go.quantization.modeling import set_backend_and_create_qconfig ...@@ -7,7 +7,7 @@ from d2go.quantization.modeling import set_backend_and_create_qconfig
from d2go.utils.testing.data_loader_helper import create_local_dataset from d2go.utils.testing.data_loader_helper import create_local_dataset
from detectron2.modeling import META_ARCH_REGISTRY from detectron2.modeling import META_ARCH_REGISTRY
from detectron2.structures import Boxes, ImageList, Instances from detectron2.structures import Boxes, ImageList, Instances
from torch.ao.quantization.quantize_fx import prepare_qat_fx, convert_fx from torch.ao.quantization.quantize_fx import convert_fx, prepare_qat_fx
@META_ARCH_REGISTRY.register() @META_ARCH_REGISTRY.register()
......
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