From 44c10a3afc6d9bc2f457ad3f8266a83de5f9b312 Mon Sep 17 00:00:00 2001 From: Shaoshuai Shi Date: Thu, 30 Jul 2020 15:44:44 +0800 Subject: [PATCH] sort python imports with isort --- pcdet/__init__.py | 3 +-- pcdet/config.py | 3 ++- pcdet/datasets/__init__.py | 6 ++++-- pcdet/datasets/augmentor/augmentor_utils.py | 1 + pcdet/datasets/augmentor/data_augmentor.py | 4 +++- pcdet/datasets/augmentor/database_sampler.py | 6 ++++-- pcdet/datasets/dataset.py | 6 ++++-- pcdet/datasets/kitti/kitti_dataset.py | 9 +++++---- .../kitti/kitti_object_eval_python/eval.py | 6 ++++-- .../kitti_object_eval_python/evaluate.py | 3 ++- .../kitti_object_eval_python/kitti_common.py | 1 + .../kitti_object_eval_python/rotate_iou.py | 1 + pcdet/datasets/nuscenes/nuscenes_dataset.py | 8 +++++--- pcdet/datasets/nuscenes/nuscenes_utils.py | 10 +++++----- pcdet/datasets/processor/data_processor.py | 2 ++ pcdet/models/__init__.py | 6 ++++-- pcdet/models/backbones_2d/__init__.py | 3 +-- .../models/backbones_2d/base_bev_backbone.py | 2 +- pcdet/models/backbones_3d/__init__.py | 2 +- pcdet/models/backbones_3d/pfe/__init__.py | 1 - .../backbones_3d/pfe/voxel_set_abstraction.py | 4 ++-- .../models/backbones_3d/pointnet2_backbone.py | 1 + pcdet/models/backbones_3d/spconv_backbone.py | 5 +++-- pcdet/models/backbones_3d/spconv_unet.py | 8 +++++--- pcdet/models/backbones_3d/vfe/__init__.py | 2 +- pcdet/models/backbones_3d/vfe/mean_vfe.py | 1 + pcdet/models/backbones_3d/vfe/pillar_vfe.py | 1 + pcdet/models/dense_heads/__init__.py | 8 ++++---- pcdet/models/dense_heads/anchor_head_multi.py | 5 +++-- .../models/dense_heads/anchor_head_single.py | 2 +- .../dense_heads/anchor_head_template.py | 3 ++- pcdet/models/dense_heads/point_head_box.py | 3 ++- pcdet/models/dense_heads/point_head_simple.py | 3 ++- .../models/dense_heads/point_head_template.py | 3 ++- .../dense_heads/point_intra_part_head.py | 3 ++- .../target_assigner/atss_target_assigner.py | 3 ++- .../axis_aligned_target_assigner.py | 7 +++---- pcdet/models/detectors/__init__.py | 6 +++--- pcdet/models/detectors/detector3d_template.py | 10 ++++++---- pcdet/models/model_utils/model_nms_utils.py | 1 + pcdet/models/roi_heads/__init__.py | 4 ++-- pcdet/models/roi_heads/partA2_head.py | 7 ++++--- pcdet/models/roi_heads/pointrcnn_head.py | 3 ++- pcdet/models/roi_heads/pvrcnn_head.py | 5 +++-- pcdet/models/roi_heads/roi_head_template.py | 6 +++--- .../target_assigner/proposal_target_layer.py | 1 + pcdet/ops/iou3d_nms/iou3d_nms_utils.py | 3 ++- .../pointnet2_batch/pointnet2_modules.py | 3 ++- .../pointnet2_batch/pointnet2_utils.py | 6 +++--- .../pointnet2_stack/pointnet2_modules.py | 5 +++-- .../pointnet2_stack/pointnet2_utils.py | 3 +-- .../roiaware_pool3d/roiaware_pool3d_utils.py | 1 + .../roipoint_pool3d/roipoint_pool3d_utils.py | 3 ++- pcdet/utils/box_coder_utils.py | 2 +- pcdet/utils/box_utils.py | 9 +++++---- pcdet/utils/common_utils.py | 13 +++++++------ pcdet/utils/loss_utils.py | 1 + pcdet/utils/object3d_kitti.py | 1 - setup.py | 4 ++-- tools/demo.py | 12 +++++++----- tools/eval_utils/eval_utils.py | 8 +++++--- tools/test.py | 19 ++++++++++--------- tools/train.py | 18 ++++++++++-------- tools/train_utils/optimization/__init__.py | 6 ++++-- .../train_utils/optimization/fastai_optim.py | 2 +- .../optimization/learning_schedules_fastai.py | 4 +++- tools/train_utils/train_utils.py | 5 +++-- tools/visual_utils/visualize_utils.py | 2 +- 68 files changed, 187 insertions(+), 131 deletions(-) diff --git a/pcdet/__init__.py b/pcdet/__init__.py index 6cb762da4..9fdf7d2a8 100644 --- a/pcdet/__init__.py +++ b/pcdet/__init__.py @@ -1,5 +1,5 @@ -from pathlib import Path import subprocess +from pathlib import Path from .version import __version__ @@ -22,4 +22,3 @@ def get_git_commit_number(): if script_version not in __version__: __version__ = __version__ + '+py%s' % script_version - diff --git a/pcdet/config.py b/pcdet/config.py index f2b0cdd5e..db42ad53b 100644 --- a/pcdet/config.py +++ b/pcdet/config.py @@ -1,6 +1,7 @@ -from easydict import EasyDict from pathlib import Path + import yaml +from easydict import EasyDict def log_config_to_file(cfg, pre='cfg', logger=None): diff --git a/pcdet/datasets/__init__.py b/pcdet/datasets/__init__.py index 20ea33c96..cef9bed2e 100644 --- a/pcdet/datasets/__init__.py +++ b/pcdet/datasets/__init__.py @@ -1,10 +1,12 @@ import torch from torch.utils.data import DataLoader +from torch.utils.data import DistributedSampler as _DistributedSampler + +from pcdet.utils import common_utils + from .dataset import DatasetTemplate from .kitti.kitti_dataset import KittiDataset from .nuscenes.nuscenes_dataset import NuScenesDataset -from torch.utils.data import DistributedSampler as _DistributedSampler -from pcdet.utils import common_utils __all__ = { 'DatasetTemplate': DatasetTemplate, diff --git a/pcdet/datasets/augmentor/augmentor_utils.py b/pcdet/datasets/augmentor/augmentor_utils.py index dbe1891ce..1c491edab 100644 --- a/pcdet/datasets/augmentor/augmentor_utils.py +++ b/pcdet/datasets/augmentor/augmentor_utils.py @@ -1,4 +1,5 @@ import numpy as np + from ...utils import common_utils diff --git a/pcdet/datasets/augmentor/data_augmentor.py b/pcdet/datasets/augmentor/data_augmentor.py index 3edb96aa0..91e2c0a57 100644 --- a/pcdet/datasets/augmentor/data_augmentor.py +++ b/pcdet/datasets/augmentor/data_augmentor.py @@ -1,7 +1,9 @@ from functools import partial + import numpy as np -from . import augmentor_utils, database_sampler + from ...utils import common_utils +from . import augmentor_utils, database_sampler class DataAugmentor(object): diff --git a/pcdet/datasets/augmentor/database_sampler.py b/pcdet/datasets/augmentor/database_sampler.py index 0fbed3633..1083b4178 100644 --- a/pcdet/datasets/augmentor/database_sampler.py +++ b/pcdet/datasets/augmentor/database_sampler.py @@ -1,7 +1,9 @@ -import numpy as np import pickle -from ...utils import box_utils + +import numpy as np + from ...ops.iou3d_nms import iou3d_nms_utils +from ...utils import box_utils class DataBaseSampler(object): diff --git a/pcdet/datasets/dataset.py b/pcdet/datasets/dataset.py index 07a87e576..902c873cc 100644 --- a/pcdet/datasets/dataset.py +++ b/pcdet/datasets/dataset.py @@ -1,11 +1,13 @@ -from pathlib import Path from collections import defaultdict +from pathlib import Path + import numpy as np import torch.utils.data as torch_data + +from ..utils import common_utils from .augmentor.data_augmentor import DataAugmentor from .processor.data_processor import DataProcessor from .processor.point_feature_encoder import PointFeatureEncoder -from ..utils import common_utils class DatasetTemplate(torch_data.Dataset): diff --git a/pcdet/datasets/kitti/kitti_dataset.py b/pcdet/datasets/kitti/kitti_dataset.py index 56397fe58..07a3ea8e5 100644 --- a/pcdet/datasets/kitti/kitti_dataset.py +++ b/pcdet/datasets/kitti/kitti_dataset.py @@ -1,10 +1,12 @@ -import pickle import copy +import pickle + import numpy as np from skimage import io -from ...utils import box_utils, common_utils, calibration_kitti, object3d_kitti -from ..dataset import DatasetTemplate + from ...ops.roiaware_pool3d import roiaware_pool3d_utils +from ...utils import box_utils, calibration_kitti, common_utils, object3d_kitti +from ..dataset import DatasetTemplate class KittiDataset(DatasetTemplate): @@ -435,4 +437,3 @@ def create_kitti_infos(dataset_cfg, class_names, data_path, save_path, workers=4 data_path=ROOT_DIR / 'data' / 'kitti', save_path=ROOT_DIR / 'data' / 'kitti' ) - diff --git a/pcdet/datasets/kitti/kitti_object_eval_python/eval.py b/pcdet/datasets/kitti/kitti_object_eval_python/eval.py index 8cc7c5181..1d2a317af 100644 --- a/pcdet/datasets/kitti/kitti_object_eval_python/eval.py +++ b/pcdet/datasets/kitti/kitti_object_eval_python/eval.py @@ -1,6 +1,8 @@ -import numpy as np -import numba import io as sysio + +import numba +import numpy as np + from .rotate_iou import rotate_iou_gpu_eval diff --git a/pcdet/datasets/kitti/kitti_object_eval_python/evaluate.py b/pcdet/datasets/kitti/kitti_object_eval_python/evaluate.py index fff891375..7e1dab6f0 100644 --- a/pcdet/datasets/kitti/kitti_object_eval_python/evaluate.py +++ b/pcdet/datasets/kitti/kitti_object_eval_python/evaluate.py @@ -1,8 +1,9 @@ import time + import fire import .kitti_common as kitti -from .eval import get_official_eval_result, get_coco_eval_result +from .eval import get_coco_eval_result, get_official_eval_result def _read_imageset_file(path): diff --git a/pcdet/datasets/kitti/kitti_object_eval_python/kitti_common.py b/pcdet/datasets/kitti/kitti_object_eval_python/kitti_common.py index bde58af1e..27c91444d 100644 --- a/pcdet/datasets/kitti/kitti_object_eval_python/kitti_common.py +++ b/pcdet/datasets/kitti/kitti_object_eval_python/kitti_common.py @@ -7,6 +7,7 @@ import numpy as np from skimage import io + def get_image_index_str(img_idx): return "{:06d}".format(img_idx) diff --git a/pcdet/datasets/kitti/kitti_object_eval_python/rotate_iou.py b/pcdet/datasets/kitti/kitti_object_eval_python/rotate_iou.py index e5ced00f8..543d8f26f 100644 --- a/pcdet/datasets/kitti/kitti_object_eval_python/rotate_iou.py +++ b/pcdet/datasets/kitti/kitti_object_eval_python/rotate_iou.py @@ -9,6 +9,7 @@ import numpy as np from numba import cuda + @numba.jit(nopython=True) def div_up(m, n): return m // n + (m % n > 0) diff --git a/pcdet/datasets/nuscenes/nuscenes_dataset.py b/pcdet/datasets/nuscenes/nuscenes_dataset.py index e4e3d9763..89fbbca2a 100644 --- a/pcdet/datasets/nuscenes/nuscenes_dataset.py +++ b/pcdet/datasets/nuscenes/nuscenes_dataset.py @@ -1,11 +1,13 @@ -import pickle import copy +import pickle +from pathlib import Path + import numpy as np from tqdm import tqdm -from pathlib import Path + +from ...ops.roiaware_pool3d import roiaware_pool3d_utils from ...utils import common_utils from ..dataset import DatasetTemplate -from ...ops.roiaware_pool3d import roiaware_pool3d_utils class NuScenesDataset(DatasetTemplate): diff --git a/pcdet/datasets/nuscenes/nuscenes_utils.py b/pcdet/datasets/nuscenes/nuscenes_utils.py index 13cde794d..462fcf5db 100644 --- a/pcdet/datasets/nuscenes/nuscenes_utils.py +++ b/pcdet/datasets/nuscenes/nuscenes_utils.py @@ -3,15 +3,15 @@ https://github.com/traveller59/second.pytorch and https://github.com/poodarchu/Det3D """ -from pathlib import Path -import tqdm -import numpy as np import operator from functools import reduce +from pathlib import Path + +import numpy as np +import tqdm +from nuscenes.utils.data_classes import Box from nuscenes.utils.geometry_utils import transform_matrix from pyquaternion import Quaternion -from nuscenes.utils.data_classes import Box - map_name_from_general_to_detection = { 'human.pedestrian.adult': 'pedestrian', diff --git a/pcdet/datasets/processor/data_processor.py b/pcdet/datasets/processor/data_processor.py index 20f98fc81..39ff04fe7 100644 --- a/pcdet/datasets/processor/data_processor.py +++ b/pcdet/datasets/processor/data_processor.py @@ -1,5 +1,7 @@ from functools import partial + import numpy as np + from ...utils import box_utils, common_utils diff --git a/pcdet/models/__init__.py b/pcdet/models/__init__.py index 1c06ae5a1..bc9a2f2cb 100644 --- a/pcdet/models/__init__.py +++ b/pcdet/models/__init__.py @@ -1,6 +1,8 @@ -import torch -import numpy as np from collections import namedtuple + +import numpy as np +import torch + from .detectors import build_detector diff --git a/pcdet/models/backbones_2d/__init__.py b/pcdet/models/backbones_2d/__init__.py index 1977a89a7..f5aa5cddf 100644 --- a/pcdet/models/backbones_2d/__init__.py +++ b/pcdet/models/backbones_2d/__init__.py @@ -1,6 +1,5 @@ from .base_bev_backbone import BaseBEVBackbone - __all__ = { 'BaseBEVBackbone': BaseBEVBackbone -} \ No newline at end of file +} diff --git a/pcdet/models/backbones_2d/base_bev_backbone.py b/pcdet/models/backbones_2d/base_bev_backbone.py index b2738aad8..07fe70f08 100644 --- a/pcdet/models/backbones_2d/base_bev_backbone.py +++ b/pcdet/models/backbones_2d/base_bev_backbone.py @@ -1,6 +1,6 @@ +import numpy as np import torch import torch.nn as nn -import numpy as np class BaseBEVBackbone(nn.Module): diff --git a/pcdet/models/backbones_3d/__init__.py b/pcdet/models/backbones_3d/__init__.py index b3768c6f0..bc1347d4b 100644 --- a/pcdet/models/backbones_3d/__init__.py +++ b/pcdet/models/backbones_3d/__init__.py @@ -1,6 +1,6 @@ +from .pointnet2_backbone import PointNet2Backbone, PointNet2MSG from .spconv_backbone import VoxelBackBone8x, VoxelResBackBone8x from .spconv_unet import UNetV2 -from .pointnet2_backbone import PointNet2Backbone, PointNet2MSG __all__ = { 'VoxelBackBone8x': VoxelBackBone8x, diff --git a/pcdet/models/backbones_3d/pfe/__init__.py b/pcdet/models/backbones_3d/pfe/__init__.py index 536f0a08a..b65a3f59b 100644 --- a/pcdet/models/backbones_3d/pfe/__init__.py +++ b/pcdet/models/backbones_3d/pfe/__init__.py @@ -1,6 +1,5 @@ from .voxel_set_abstraction import VoxelSetAbstraction - __all__ = { 'VoxelSetAbstraction': VoxelSetAbstraction } diff --git a/pcdet/models/backbones_3d/pfe/voxel_set_abstraction.py b/pcdet/models/backbones_3d/pfe/voxel_set_abstraction.py index 90911478d..7d23240c0 100644 --- a/pcdet/models/backbones_3d/pfe/voxel_set_abstraction.py +++ b/pcdet/models/backbones_3d/pfe/voxel_set_abstraction.py @@ -1,8 +1,9 @@ import torch import torch.nn as nn -from ....utils import common_utils + from ....ops.pointnet2.pointnet2_stack import pointnet2_modules as pointnet2_stack_modules from ....ops.pointnet2.pointnet2_stack import pointnet2_utils as pointnet2_stack_utils +from ....utils import common_utils def bilinear_interpolate_torch(im, x, y): @@ -236,4 +237,3 @@ def forward(self, batch_dict): batch_dict['point_features'] = point_features # (BxN, C) batch_dict['point_coords'] = point_coords # (BxN, 4) return batch_dict - diff --git a/pcdet/models/backbones_3d/pointnet2_backbone.py b/pcdet/models/backbones_3d/pointnet2_backbone.py index 1ada969bd..694b36bc2 100644 --- a/pcdet/models/backbones_3d/pointnet2_backbone.py +++ b/pcdet/models/backbones_3d/pointnet2_backbone.py @@ -1,5 +1,6 @@ import torch import torch.nn as nn + from ...ops.pointnet2.pointnet2_batch import pointnet2_modules from ...ops.pointnet2.pointnet2_stack import pointnet2_modules as pointnet2_modules_stack from ...ops.pointnet2.pointnet2_stack import pointnet2_utils as pointnet2_utils_stack diff --git a/pcdet/models/backbones_3d/spconv_backbone.py b/pcdet/models/backbones_3d/spconv_backbone.py index 439f78f78..560f0ac92 100644 --- a/pcdet/models/backbones_3d/spconv_backbone.py +++ b/pcdet/models/backbones_3d/spconv_backbone.py @@ -1,7 +1,8 @@ -import torch.nn as nn -import spconv from functools import partial +import spconv +import torch.nn as nn + def post_act_block(in_channels, out_channels, kernel_size, indice_key=None, stride=1, padding=0, conv_type='subm', norm_fn=None): diff --git a/pcdet/models/backbones_3d/spconv_unet.py b/pcdet/models/backbones_3d/spconv_unet.py index b1ca0698c..4c8b0fa6a 100644 --- a/pcdet/models/backbones_3d/spconv_unet.py +++ b/pcdet/models/backbones_3d/spconv_unet.py @@ -1,9 +1,11 @@ +from functools import partial + +import spconv import torch import torch.nn as nn -import spconv -from functools import partial -from .spconv_backbone import post_act_block + from ...utils import common_utils +from .spconv_backbone import post_act_block class SparseBasicBlock(spconv.SparseModule): diff --git a/pcdet/models/backbones_3d/vfe/__init__.py b/pcdet/models/backbones_3d/vfe/__init__.py index ffca09652..f53403693 100644 --- a/pcdet/models/backbones_3d/vfe/__init__.py +++ b/pcdet/models/backbones_3d/vfe/__init__.py @@ -1,6 +1,6 @@ -from .vfe_template import VFETemplate from .mean_vfe import MeanVFE from .pillar_vfe import PillarVFE +from .vfe_template import VFETemplate __all__ = { 'VFETemplate': VFETemplate, diff --git a/pcdet/models/backbones_3d/vfe/mean_vfe.py b/pcdet/models/backbones_3d/vfe/mean_vfe.py index d6b19dd4a..42bd21ff3 100644 --- a/pcdet/models/backbones_3d/vfe/mean_vfe.py +++ b/pcdet/models/backbones_3d/vfe/mean_vfe.py @@ -1,4 +1,5 @@ import torch + from .vfe_template import VFETemplate diff --git a/pcdet/models/backbones_3d/vfe/pillar_vfe.py b/pcdet/models/backbones_3d/vfe/pillar_vfe.py index 13dfb5e46..40b049dca 100644 --- a/pcdet/models/backbones_3d/vfe/pillar_vfe.py +++ b/pcdet/models/backbones_3d/vfe/pillar_vfe.py @@ -1,6 +1,7 @@ import torch import torch.nn as nn import torch.nn.functional as F + from .vfe_template import VFETemplate diff --git a/pcdet/models/dense_heads/__init__.py b/pcdet/models/dense_heads/__init__.py index b4ff0fdd8..7eac80d93 100644 --- a/pcdet/models/dense_heads/__init__.py +++ b/pcdet/models/dense_heads/__init__.py @@ -1,9 +1,9 @@ -from .anchor_head_template import AnchorHeadTemplate +from .anchor_head_multi import AnchorHeadMulti from .anchor_head_single import AnchorHeadSingle -from .point_intra_part_head import PointIntraPartOffsetHead -from .point_head_simple import PointHeadSimple +from .anchor_head_template import AnchorHeadTemplate from .point_head_box import PointHeadBox -from .anchor_head_multi import AnchorHeadMulti +from .point_head_simple import PointHeadSimple +from .point_intra_part_head import PointIntraPartOffsetHead __all__ = { 'AnchorHeadTemplate': AnchorHeadTemplate, diff --git a/pcdet/models/dense_heads/anchor_head_multi.py b/pcdet/models/dense_heads/anchor_head_multi.py index a1d1d24ca..390131e51 100644 --- a/pcdet/models/dense_heads/anchor_head_multi.py +++ b/pcdet/models/dense_heads/anchor_head_multi.py @@ -1,8 +1,9 @@ import numpy as np +import torch import torch.nn as nn -from .anchor_head_template import AnchorHeadTemplate + from ..backbones_2d import BaseBEVBackbone -import torch +from .anchor_head_template import AnchorHeadTemplate class SingleHead(BaseBEVBackbone): diff --git a/pcdet/models/dense_heads/anchor_head_single.py b/pcdet/models/dense_heads/anchor_head_single.py index cbf0bf718..0abed8441 100644 --- a/pcdet/models/dense_heads/anchor_head_single.py +++ b/pcdet/models/dense_heads/anchor_head_single.py @@ -1,5 +1,6 @@ import numpy as np import torch.nn as nn + from .anchor_head_template import AnchorHeadTemplate @@ -72,4 +73,3 @@ def forward(self, data_dict): data_dict['cls_preds_normalized'] = False return data_dict - diff --git a/pcdet/models/dense_heads/anchor_head_template.py b/pcdet/models/dense_heads/anchor_head_template.py index 9c5222a9d..db8167a49 100644 --- a/pcdet/models/dense_heads/anchor_head_template.py +++ b/pcdet/models/dense_heads/anchor_head_template.py @@ -1,10 +1,11 @@ import numpy as np import torch import torch.nn as nn + +from ...utils import box_coder_utils, common_utils, loss_utils from .target_assigner.anchor_generator import AnchorGenerator from .target_assigner.atss_target_assigner import ATSSTargetAssigner from .target_assigner.axis_aligned_target_assigner import AxisAlignedTargetAssigner -from ...utils import box_coder_utils, loss_utils, common_utils class AnchorHeadTemplate(nn.Module): diff --git a/pcdet/models/dense_heads/point_head_box.py b/pcdet/models/dense_heads/point_head_box.py index 15f6e6bda..06930b91b 100644 --- a/pcdet/models/dense_heads/point_head_box.py +++ b/pcdet/models/dense_heads/point_head_box.py @@ -1,6 +1,7 @@ import torch -from .point_head_template import PointHeadTemplate + from ...utils import box_coder_utils, box_utils +from .point_head_template import PointHeadTemplate class PointHeadBox(PointHeadTemplate): diff --git a/pcdet/models/dense_heads/point_head_simple.py b/pcdet/models/dense_heads/point_head_simple.py index 484a42305..1be84153d 100644 --- a/pcdet/models/dense_heads/point_head_simple.py +++ b/pcdet/models/dense_heads/point_head_simple.py @@ -1,6 +1,7 @@ import torch -from .point_head_template import PointHeadTemplate + from ...utils import box_utils +from .point_head_template import PointHeadTemplate class PointHeadSimple(PointHeadTemplate): diff --git a/pcdet/models/dense_heads/point_head_template.py b/pcdet/models/dense_heads/point_head_template.py index 1532cbb19..c821ab60c 100644 --- a/pcdet/models/dense_heads/point_head_template.py +++ b/pcdet/models/dense_heads/point_head_template.py @@ -1,8 +1,9 @@ import torch import torch.nn as nn import torch.nn.functional as F -from ...utils import loss_utils, common_utils + from ...ops.roiaware_pool3d import roiaware_pool3d_utils +from ...utils import common_utils, loss_utils class PointHeadTemplate(nn.Module): diff --git a/pcdet/models/dense_heads/point_intra_part_head.py b/pcdet/models/dense_heads/point_intra_part_head.py index e4fb10358..794365e35 100644 --- a/pcdet/models/dense_heads/point_intra_part_head.py +++ b/pcdet/models/dense_heads/point_intra_part_head.py @@ -1,6 +1,7 @@ import torch + +from ...utils import box_coder_utils, box_utils from .point_head_template import PointHeadTemplate -from ...utils import box_utils, box_coder_utils class PointIntraPartOffsetHead(PointHeadTemplate): diff --git a/pcdet/models/dense_heads/target_assigner/atss_target_assigner.py b/pcdet/models/dense_heads/target_assigner/atss_target_assigner.py index dbddf05d7..112af2cf7 100644 --- a/pcdet/models/dense_heads/target_assigner/atss_target_assigner.py +++ b/pcdet/models/dense_heads/target_assigner/atss_target_assigner.py @@ -1,6 +1,7 @@ import torch -from ....utils import common_utils + from ....ops.iou3d_nms import iou3d_nms_utils +from ....utils import common_utils class ATSSTargetAssigner(object): diff --git a/pcdet/models/dense_heads/target_assigner/axis_aligned_target_assigner.py b/pcdet/models/dense_heads/target_assigner/axis_aligned_target_assigner.py index 87faaac6e..0190a719a 100644 --- a/pcdet/models/dense_heads/target_assigner/axis_aligned_target_assigner.py +++ b/pcdet/models/dense_heads/target_assigner/axis_aligned_target_assigner.py @@ -1,7 +1,8 @@ -import torch import numpy as np -from ....utils import box_utils +import torch + from ....ops.iou3d_nms import iou3d_nms_utils +from ....utils import box_utils class AxisAlignedTargetAssigner(object): @@ -210,5 +211,3 @@ def assign_targets_single(self, anchors, 'reg_weights': reg_weights, } return ret_dict - - diff --git a/pcdet/models/detectors/__init__.py b/pcdet/models/detectors/__init__.py index 699f69ba4..785430f5b 100644 --- a/pcdet/models/detectors/__init__.py +++ b/pcdet/models/detectors/__init__.py @@ -1,9 +1,9 @@ from .detector3d_template import Detector3DTemplate -from .second_net import SECONDNet from .PartA2_net import PartA2Net -from .pv_rcnn import PVRCNN -from .pointpillar import PointPillar from .point_rcnn import PointRCNN +from .pointpillar import PointPillar +from .pv_rcnn import PVRCNN +from .second_net import SECONDNet __all__ = { 'Detector3DTemplate': Detector3DTemplate, diff --git a/pcdet/models/detectors/detector3d_template.py b/pcdet/models/detectors/detector3d_template.py index 3089cf19b..79dc1b8fc 100644 --- a/pcdet/models/detectors/detector3d_template.py +++ b/pcdet/models/detectors/detector3d_template.py @@ -1,11 +1,13 @@ -import torch import os + +import torch import torch.nn as nn -from .. import backbones_3d, backbones_2d, dense_heads, roi_heads -from ..backbones_3d import vfe, pfe + +from ...ops.iou3d_nms import iou3d_nms_utils +from .. import backbones_2d, backbones_3d, dense_heads, roi_heads from ..backbones_2d import map_to_bev +from ..backbones_3d import pfe, vfe from ..model_utils import model_nms_utils -from ...ops.iou3d_nms import iou3d_nms_utils class Detector3DTemplate(nn.Module): diff --git a/pcdet/models/model_utils/model_nms_utils.py b/pcdet/models/model_utils/model_nms_utils.py index 6a3c86de2..eb11d2d34 100644 --- a/pcdet/models/model_utils/model_nms_utils.py +++ b/pcdet/models/model_utils/model_nms_utils.py @@ -1,4 +1,5 @@ import torch + from ...ops.iou3d_nms import iou3d_nms_utils diff --git a/pcdet/models/roi_heads/__init__.py b/pcdet/models/roi_heads/__init__.py index 618688d4f..bf7d584c4 100644 --- a/pcdet/models/roi_heads/__init__.py +++ b/pcdet/models/roi_heads/__init__.py @@ -1,7 +1,7 @@ -from .roi_head_template import RoIHeadTemplate from .partA2_head import PartA2FCHead -from .pvrcnn_head import PVRCNNHead from .pointrcnn_head import PointRCNNHead +from .pvrcnn_head import PVRCNNHead +from .roi_head_template import RoIHeadTemplate __all__ = { 'RoIHeadTemplate': RoIHeadTemplate, diff --git a/pcdet/models/roi_heads/partA2_head.py b/pcdet/models/roi_heads/partA2_head.py index 2d8970703..84eb32ea8 100644 --- a/pcdet/models/roi_heads/partA2_head.py +++ b/pcdet/models/roi_heads/partA2_head.py @@ -1,9 +1,10 @@ +import numpy as np +import spconv import torch import torch.nn as nn -import spconv -import numpy as np -from .roi_head_template import RoIHeadTemplate + from ...ops.roiaware_pool3d import roiaware_pool3d_utils +from .roi_head_template import RoIHeadTemplate class PartA2FCHead(RoIHeadTemplate): diff --git a/pcdet/models/roi_heads/pointrcnn_head.py b/pcdet/models/roi_heads/pointrcnn_head.py index 189bce7fe..84c778643 100644 --- a/pcdet/models/roi_heads/pointrcnn_head.py +++ b/pcdet/models/roi_heads/pointrcnn_head.py @@ -1,9 +1,10 @@ import torch import torch.nn as nn -from .roi_head_template import RoIHeadTemplate + from ...ops.pointnet2.pointnet2_batch import pointnet2_modules from ...ops.roipoint_pool3d import roipoint_pool3d_utils from ...utils import common_utils +from .roi_head_template import RoIHeadTemplate class PointRCNNHead(RoIHeadTemplate): diff --git a/pcdet/models/roi_heads/pvrcnn_head.py b/pcdet/models/roi_heads/pvrcnn_head.py index 2d94f9813..15397eccb 100644 --- a/pcdet/models/roi_heads/pvrcnn_head.py +++ b/pcdet/models/roi_heads/pvrcnn_head.py @@ -1,7 +1,8 @@ import torch.nn as nn -from .roi_head_template import RoIHeadTemplate -from ...utils import common_utils + from ...ops.pointnet2.pointnet2_stack import pointnet2_modules as pointnet2_stack_modules +from ...utils import common_utils +from .roi_head_template import RoIHeadTemplate class PVRCNNHead(RoIHeadTemplate): diff --git a/pcdet/models/roi_heads/roi_head_template.py b/pcdet/models/roi_heads/roi_head_template.py index 090eab028..a27d07e99 100644 --- a/pcdet/models/roi_heads/roi_head_template.py +++ b/pcdet/models/roi_heads/roi_head_template.py @@ -2,9 +2,10 @@ import torch import torch.nn as nn import torch.nn.functional as F -from .target_assigner.proposal_target_layer import ProposalTargetLayer + +from ...utils import box_coder_utils, common_utils, loss_utils from ..model_utils.model_nms_utils import class_agnostic_nms -from ...utils import common_utils, loss_utils, box_coder_utils +from .target_assigner.proposal_target_layer import ProposalTargetLayer class RoIHeadTemplate(nn.Module): @@ -255,4 +256,3 @@ def generate_predicted_boxes(self, batch_size, rois, cls_preds, box_preds): batch_box_preds[:, 0:3] += roi_xyz batch_box_preds = batch_box_preds.view(batch_size, -1, code_size) return batch_cls_preds, batch_box_preds - diff --git a/pcdet/models/roi_heads/target_assigner/proposal_target_layer.py b/pcdet/models/roi_heads/target_assigner/proposal_target_layer.py index 14e4755f1..da333a89e 100644 --- a/pcdet/models/roi_heads/target_assigner/proposal_target_layer.py +++ b/pcdet/models/roi_heads/target_assigner/proposal_target_layer.py @@ -1,6 +1,7 @@ import numpy as np import torch import torch.nn as nn + from ....ops.iou3d_nms import iou3d_nms_utils diff --git a/pcdet/ops/iou3d_nms/iou3d_nms_utils.py b/pcdet/ops/iou3d_nms/iou3d_nms_utils.py index 44842a35d..66f00847c 100644 --- a/pcdet/ops/iou3d_nms/iou3d_nms_utils.py +++ b/pcdet/ops/iou3d_nms/iou3d_nms_utils.py @@ -4,8 +4,9 @@ All Rights Reserved 2019-2020. """ import torch -from . import iou3d_nms_cuda + from ...utils import common_utils +from . import iou3d_nms_cuda def boxes_bev_iou_cpu(boxes_a, boxes_b): diff --git a/pcdet/ops/pointnet2/pointnet2_batch/pointnet2_modules.py b/pcdet/ops/pointnet2/pointnet2_batch/pointnet2_modules.py index fe125d09e..37733c7e0 100644 --- a/pcdet/ops/pointnet2/pointnet2_batch/pointnet2_modules.py +++ b/pcdet/ops/pointnet2/pointnet2_batch/pointnet2_modules.py @@ -1,9 +1,10 @@ +from typing import List + import torch import torch.nn as nn import torch.nn.functional as F from . import pointnet2_utils -from typing import List class _PointnetSAModuleBase(nn.Module): diff --git a/pcdet/ops/pointnet2/pointnet2_batch/pointnet2_utils.py b/pcdet/ops/pointnet2/pointnet2_batch/pointnet2_utils.py index 4f13ca696..c64a10be0 100644 --- a/pcdet/ops/pointnet2/pointnet2_batch/pointnet2_utils.py +++ b/pcdet/ops/pointnet2/pointnet2_batch/pointnet2_utils.py @@ -1,8 +1,8 @@ +from typing import Tuple + import torch -from torch.autograd import Variable -from torch.autograd import Function import torch.nn as nn -from typing import Tuple +from torch.autograd import Function, Variable from . import pointnet2_batch_cuda as pointnet2 diff --git a/pcdet/ops/pointnet2/pointnet2_stack/pointnet2_modules.py b/pcdet/ops/pointnet2/pointnet2_stack/pointnet2_modules.py index 0d9291111..659af35d9 100644 --- a/pcdet/ops/pointnet2/pointnet2_stack/pointnet2_modules.py +++ b/pcdet/ops/pointnet2/pointnet2_stack/pointnet2_modules.py @@ -1,8 +1,10 @@ +from typing import List + import torch import torch.nn as nn import torch.nn.functional as F + from . import pointnet2_utils -from typing import List class StackSAModuleMSG(nn.Module): @@ -133,4 +135,3 @@ def forward(self, unknown, unknown_batch_cnt, known, known_batch_cnt, unknown_fe new_features = new_features.squeeze(dim=0).squeeze(dim=-1).permute(1, 0) # (N1 + N2 ..., C) return new_features - diff --git a/pcdet/ops/pointnet2/pointnet2_stack/pointnet2_utils.py b/pcdet/ops/pointnet2/pointnet2_stack/pointnet2_utils.py index 0e9ecacaa..0557817e6 100644 --- a/pcdet/ops/pointnet2/pointnet2_stack/pointnet2_utils.py +++ b/pcdet/ops/pointnet2/pointnet2_stack/pointnet2_utils.py @@ -1,7 +1,6 @@ import torch -from torch.autograd import Variable -from torch.autograd import Function import torch.nn as nn +from torch.autograd import Function, Variable from . import pointnet2_stack_cuda as pointnet2 diff --git a/pcdet/ops/roiaware_pool3d/roiaware_pool3d_utils.py b/pcdet/ops/roiaware_pool3d/roiaware_pool3d_utils.py index 720d2bd34..d8ca924d3 100644 --- a/pcdet/ops/roiaware_pool3d/roiaware_pool3d_utils.py +++ b/pcdet/ops/roiaware_pool3d/roiaware_pool3d_utils.py @@ -1,6 +1,7 @@ import torch import torch.nn as nn from torch.autograd import Function + from ...utils import common_utils from . import roiaware_pool3d_cuda diff --git a/pcdet/ops/roipoint_pool3d/roipoint_pool3d_utils.py b/pcdet/ops/roipoint_pool3d/roipoint_pool3d_utils.py index 16c60f7a6..1e13396cc 100644 --- a/pcdet/ops/roipoint_pool3d/roipoint_pool3d_utils.py +++ b/pcdet/ops/roipoint_pool3d/roipoint_pool3d_utils.py @@ -1,8 +1,9 @@ import torch import torch.nn as nn from torch.autograd import Function -from . import roipoint_pool3d_cuda + from ...utils import box_utils +from . import roipoint_pool3d_cuda class RoIPointPool3d(nn.Module): diff --git a/pcdet/utils/box_coder_utils.py b/pcdet/utils/box_coder_utils.py index 422eb1f16..472d9732f 100644 --- a/pcdet/utils/box_coder_utils.py +++ b/pcdet/utils/box_coder_utils.py @@ -1,5 +1,5 @@ -import torch import numpy as np +import torch class ResidualCoder(object): diff --git a/pcdet/utils/box_utils.py b/pcdet/utils/box_utils.py index 9f2195519..1e572398d 100644 --- a/pcdet/utils/box_utils.py +++ b/pcdet/utils/box_utils.py @@ -1,9 +1,11 @@ import numpy as np +import scipy import torch -from . import common_utils -from ..ops.roiaware_pool3d import roiaware_pool3d_utils from scipy.spatial import Delaunay -import scipy + +from ..ops.roiaware_pool3d import roiaware_pool3d_utils +from . import common_utils + def in_hull(p, hull): """ @@ -283,4 +285,3 @@ def boxes3d_nearest_bev_iou(boxes_a, boxes_b): boxes_bev_b = boxes3d_lidar_to_aligned_bev_boxes(boxes_b) return boxes_iou_normal(boxes_bev_a, boxes_bev_b) - diff --git a/pcdet/utils/common_utils.py b/pcdet/utils/common_utils.py index 538e0c3de..37885b9a1 100644 --- a/pcdet/utils/common_utils.py +++ b/pcdet/utils/common_utils.py @@ -1,13 +1,14 @@ -import numpy as np -import torch -import random import logging import os -import torch.multiprocessing as mp -import torch.distributed as dist -import subprocess import pickle +import random import shutil +import subprocess + +import numpy as np +import torch +import torch.distributed as dist +import torch.multiprocessing as mp def check_numpy_to_torch(x): diff --git a/pcdet/utils/loss_utils.py b/pcdet/utils/loss_utils.py index 216730439..323bfcf15 100644 --- a/pcdet/utils/loss_utils.py +++ b/pcdet/utils/loss_utils.py @@ -2,6 +2,7 @@ import torch import torch.nn as nn import torch.nn.functional as F + from . import box_utils diff --git a/pcdet/utils/object3d_kitti.py b/pcdet/utils/object3d_kitti.py index 0de85bff5..10528f604 100644 --- a/pcdet/utils/object3d_kitti.py +++ b/pcdet/utils/object3d_kitti.py @@ -81,4 +81,3 @@ def to_kitti_format(self): self.box2d[2], self.box2d[3], self.h, self.w, self.l, self.loc[0], self.loc[1], self.loc[2], self.ry) return kitti_str - diff --git a/setup.py b/setup.py index 4f42d0236..ab7afe398 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,7 @@ import os -from setuptools import setup, find_packages import subprocess + +from setuptools import find_packages, setup from torch.utils.cpp_extension import BuildExtension, CUDAExtension @@ -108,4 +109,3 @@ def write_version_to_file(version, target_file): ), ], ) - diff --git a/tools/demo.py b/tools/demo.py index 6d0897128..0bda7ae00 100644 --- a/tools/demo.py +++ b/tools/demo.py @@ -1,14 +1,16 @@ -import torch import argparse import glob -import numpy as np from pathlib import Path + +import mayavi.mlab as mlab +import numpy as np +import torch + +from pcdet.config import cfg, cfg_from_yaml_file from pcdet.datasets import DatasetTemplate from pcdet.models import build_network, load_data_to_gpu -from pcdet.config import cfg, cfg_from_yaml_file from pcdet.utils import common_utils from visual_utils import visualize_utils as V -import mayavi.mlab as mlab class DemoDataset(DatasetTemplate): @@ -98,4 +100,4 @@ def main(): if __name__ == '__main__': - main() \ No newline at end of file + main() diff --git a/tools/eval_utils/eval_utils.py b/tools/eval_utils/eval_utils.py index 540e39ddd..5231701f1 100644 --- a/tools/eval_utils/eval_utils.py +++ b/tools/eval_utils/eval_utils.py @@ -1,10 +1,12 @@ -import tqdm -import time import pickle +import time + import numpy as np import torch -from pcdet.utils import common_utils +import tqdm + from pcdet.models import load_data_to_gpu +from pcdet.utils import common_utils def statistics_info(cfg, ret_dict, metric, disp_dict): diff --git a/tools/test.py b/tools/test.py index 76be07368..cf1ed109a 100644 --- a/tools/test.py +++ b/tools/test.py @@ -1,18 +1,20 @@ +import argparse +import datetime +import glob import os +import re +import time +from pathlib import Path + import numpy as np import torch from tensorboardX import SummaryWriter -import time -import glob -import re -import datetime -import argparse -from pathlib import Path + +from eval_utils import eval_utils +from pcdet.config import cfg, cfg_from_list, cfg_from_yaml_file, log_config_to_file from pcdet.datasets import build_dataloader from pcdet.models import build_network from pcdet.utils import common_utils -from pcdet.config import cfg, cfg_from_list, cfg_from_yaml_file, log_config_to_file -from eval_utils import eval_utils def parse_config(): @@ -195,4 +197,3 @@ def main(): if __name__ == '__main__': main() - diff --git a/tools/train.py b/tools/train.py index 2f30a2164..5bffc2b91 100644 --- a/tools/train.py +++ b/tools/train.py @@ -1,19 +1,21 @@ +import argparse +import datetime +import glob import os +from pathlib import Path +from test import repeat_eval_ckpt + import torch +import torch.distributed as dist import torch.nn as nn from tensorboardX import SummaryWriter -from pcdet.config import cfg, log_config_to_file, cfg_from_list, cfg_from_yaml_file -from pcdet.utils import common_utils + +from pcdet.config import cfg, cfg_from_list, cfg_from_yaml_file, log_config_to_file from pcdet.datasets import build_dataloader from pcdet.models import build_network, model_fn_decorator +from pcdet.utils import common_utils from train_utils.optimization import build_optimizer, build_scheduler from train_utils.train_utils import train_model -import torch.distributed as dist -from test import repeat_eval_ckpt -from pathlib import Path -import argparse -import datetime -import glob def parse_config(): diff --git a/tools/train_utils/optimization/__init__.py b/tools/train_utils/optimization/__init__.py index f677cc339..db1fb5613 100644 --- a/tools/train_utils/optimization/__init__.py +++ b/tools/train_utils/optimization/__init__.py @@ -1,9 +1,11 @@ +from functools import partial + import torch.nn as nn import torch.optim as optim import torch.optim.lr_scheduler as lr_sched -from functools import partial + from .fastai_optim import OptimWrapper -from .learning_schedules_fastai import OneCycle, CosineWarmupLR +from .learning_schedules_fastai import CosineWarmupLR, OneCycle def build_optimizer(model, optim_cfg): diff --git a/tools/train_utils/optimization/fastai_optim.py b/tools/train_utils/optimization/fastai_optim.py index 7aaadce8c..5c5413599 100644 --- a/tools/train_utils/optimization/fastai_optim.py +++ b/tools/train_utils/optimization/fastai_optim.py @@ -4,8 +4,8 @@ import torch from torch import nn -from torch.nn.utils import parameters_to_vector from torch._utils import _unflatten_dense_tensors +from torch.nn.utils import parameters_to_vector bn_types = (nn.BatchNorm1d, nn.BatchNorm2d, nn.BatchNorm3d, nn.SyncBatchNorm) diff --git a/tools/train_utils/optimization/learning_schedules_fastai.py b/tools/train_utils/optimization/learning_schedules_fastai.py index 32d22a72e..9c9ab2efd 100644 --- a/tools/train_utils/optimization/learning_schedules_fastai.py +++ b/tools/train_utils/optimization/learning_schedules_fastai.py @@ -1,9 +1,11 @@ # This file is modified from https://github.com/traveller59/second.pytorch -import numpy as np import math from functools import partial + +import numpy as np import torch.optim.lr_scheduler as lr_sched + from .fastai_optim import OptimWrapper diff --git a/tools/train_utils/train_utils.py b/tools/train_utils/train_utils.py index 0985bc55c..3777dbd16 100644 --- a/tools/train_utils/train_utils.py +++ b/tools/train_utils/train_utils.py @@ -1,6 +1,7 @@ -import torch -import os import glob +import os + +import torch import tqdm from torch.nn.utils import clip_grad_norm_ diff --git a/tools/visual_utils/visualize_utils.py b/tools/visual_utils/visualize_utils.py index 91752cce6..f16627bbe 100644 --- a/tools/visual_utils/visualize_utils.py +++ b/tools/visual_utils/visualize_utils.py @@ -1,5 +1,5 @@ -import numpy as np import mayavi.mlab as mlab +import numpy as np import torch box_colormap = [