From fcd57913ae3c3fce9352e84a0db266a67c499076 Mon Sep 17 00:00:00 2001 From: Ma Zerun Date: Thu, 17 Feb 2022 02:17:20 +0800 Subject: [PATCH] [Enhance] Upgrade isort pre-commit hooks. (#687) * Use new version flake8 and isort hooks * Fix missing copyright --- .pre-commit-config.yaml | 12 ++++-------- mmcls/apis/train.py | 2 +- mmcls/core/optimizers/__init__.py | 1 + mmcls/core/visualization/__init__.py | 1 + mmcls/core/visualization/image.py | 1 + mmcls/datasets/builder.py | 4 ++-- mmcls/models/backbones/conformer.py | 1 + mmcls/models/backbones/repvgg.py | 1 + mmcls/models/utils/augment/utils.py | 1 + setup.cfg | 3 +-- tests/data/retinanet.py | 1 + tests/test_data/test_builder.py | 1 + tests/test_data/test_pipelines/test_auto_augment.py | 9 +++++---- .../test_models/test_backbones/test_efficientnet.py | 1 + tests/test_models/test_backbones/test_repvgg.py | 1 + tests/test_models/test_utils/test_se.py | 1 + tests/test_runtime/test_hooks.py | 1 + tests/test_runtime/test_num_class_hook.py | 1 + tests/test_runtime/test_optimizer.py | 1 + tests/test_runtime/test_preciseBN_hook.py | 1 + tools/deployment/onnx2tensorrt.py | 2 +- tools/deployment/pytorch2onnx.py | 4 ++-- tools/visualizations/vis_cam.py | 12 ++++++------ 23 files changed, 37 insertions(+), 26 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 56e66cc1..3e83e664 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,15 +1,11 @@ exclude: ^tests/data/ repos: - - repo: https://gitlab.com/pycqa/flake8.git - rev: 3.8.3 + - repo: https://github.com/PyCQA/flake8 + rev: 4.0.1 hooks: - id: flake8 - - repo: https://github.com/asottile/seed-isort-config - rev: v2.2.0 - hooks: - - id: seed-isort-config - - repo: https://github.com/timothycrosley/isort - rev: 4.3.21 + - repo: https://github.com/PyCQA/isort + rev: 5.10.1 hooks: - id: isort - repo: https://github.com/pre-commit/mirrors-yapf diff --git a/mmcls/apis/train.py b/mmcls/apis/train.py index 46b07f7c..225e4700 100644 --- a/mmcls/apis/train.py +++ b/mmcls/apis/train.py @@ -115,7 +115,7 @@ def train_model(model, else: model = MMDataParallel(model, device_ids=cfg.gpu_ids) if not model.device_ids: - from mmcv import digit_version, __version__ + from mmcv import __version__, digit_version assert digit_version(__version__) >= (1, 4, 4), \ 'To train with CPU, please confirm your mmcv version ' \ 'is not lower than v1.4.4' diff --git a/mmcls/core/optimizers/__init__.py b/mmcls/core/optimizers/__init__.py index 937da98f..aa9cc43e 100644 --- a/mmcls/core/optimizers/__init__.py +++ b/mmcls/core/optimizers/__init__.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. from .lamb import Lamb __all__ = [ diff --git a/mmcls/core/visualization/__init__.py b/mmcls/core/visualization/__init__.py index 481b8194..bdd0c189 100644 --- a/mmcls/core/visualization/__init__.py +++ b/mmcls/core/visualization/__init__.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. from .image import (BaseFigureContextManager, ImshowInfosContextManager, color_val_matplotlib, imshow_infos) diff --git a/mmcls/core/visualization/image.py b/mmcls/core/visualization/image.py index b89003f1..d0169748 100644 --- a/mmcls/core/visualization/image.py +++ b/mmcls/core/visualization/image.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. import matplotlib.pyplot as plt import mmcv import numpy as np diff --git a/mmcls/datasets/builder.py b/mmcls/datasets/builder.py index 544f64d7..bc07bb15 100644 --- a/mmcls/datasets/builder.py +++ b/mmcls/datasets/builder.py @@ -25,8 +25,8 @@ SAMPLERS = Registry('sampler') def build_dataset(cfg, default_args=None): - from .dataset_wrappers import (ConcatDataset, RepeatDataset, - ClassBalancedDataset, KFoldDataset) + from .dataset_wrappers import (ClassBalancedDataset, ConcatDataset, + KFoldDataset, RepeatDataset) if isinstance(cfg, (list, tuple)): dataset = ConcatDataset([build_dataset(c, default_args) for c in cfg]) elif cfg['type'] == 'RepeatDataset': diff --git a/mmcls/models/backbones/conformer.py b/mmcls/models/backbones/conformer.py index 0eab9c6a..4050b89b 100644 --- a/mmcls/models/backbones/conformer.py +++ b/mmcls/models/backbones/conformer.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. from typing import Sequence import torch diff --git a/mmcls/models/backbones/repvgg.py b/mmcls/models/backbones/repvgg.py index b257a12b..0186e623 100644 --- a/mmcls/models/backbones/repvgg.py +++ b/mmcls/models/backbones/repvgg.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. import torch import torch.nn.functional as F import torch.utils.checkpoint as cp diff --git a/mmcls/models/utils/augment/utils.py b/mmcls/models/utils/augment/utils.py index 0544af3e..e972d54b 100644 --- a/mmcls/models/utils/augment/utils.py +++ b/mmcls/models/utils/augment/utils.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. import torch.nn.functional as F diff --git a/setup.cfg b/setup.cfg index f15ce980..8c24f5ff 100644 --- a/setup.cfg +++ b/setup.cfg @@ -12,9 +12,8 @@ split_before_expression_after_opening_paren = true [isort] line_length = 79 multi_line_output = 0 -known_standard_library = pkg_resources,setuptools +extra_standard_library = pkg_resources,setuptools known_first_party = mmcls -known_third_party = PIL,cv2,matplotlib,mmcv,mmdet,modelindex,numpy,onnxruntime,packaging,pytest,pytorch_sphinx_theme,requests,rich,sphinx,tensorflow,torch,torchvision,ts no_lines_before = STDLIB,LOCALFOLDER default_section = THIRDPARTY diff --git a/tests/data/retinanet.py b/tests/data/retinanet.py index e0012091..e7e6ea00 100644 --- a/tests/data/retinanet.py +++ b/tests/data/retinanet.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. # small RetinaNet num_classes = 3 diff --git a/tests/test_data/test_builder.py b/tests/test_data/test_builder.py index 44d34890..c911b982 100644 --- a/tests/test_data/test_builder.py +++ b/tests/test_data/test_builder.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. import os.path as osp from copy import deepcopy from unittest.mock import patch diff --git a/tests/test_data/test_pipelines/test_auto_augment.py b/tests/test_data/test_pipelines/test_auto_augment.py index f5c896ef..388ff46d 100644 --- a/tests/test_data/test_pipelines/test_auto_augment.py +++ b/tests/test_data/test_pipelines/test_auto_augment.py @@ -760,7 +760,7 @@ def test_equalize(nb_rand_test=100): def _imequalize(img): # equalize the image using PIL.ImageOps.equalize - from PIL import ImageOps, Image + from PIL import Image, ImageOps img = Image.fromarray(img) equalized_img = np.asarray(ImageOps.equalize(img)) return equalized_img @@ -932,8 +932,9 @@ def test_posterize(): def test_contrast(nb_rand_test=100): def _adjust_contrast(img, factor): - from PIL.ImageEnhance import Contrast from PIL import Image + from PIL.ImageEnhance import Contrast + # Image.fromarray defaultly supports RGB, not BGR. # convert from BGR to RGB img = Image.fromarray(img[..., ::-1], mode='RGB') @@ -1066,8 +1067,8 @@ def test_brightness(nb_rand_test=100): def _adjust_brightness(img, factor): # adjust the brightness of image using # PIL.ImageEnhance.Brightness - from PIL.ImageEnhance import Brightness from PIL import Image + from PIL.ImageEnhance import Brightness img = Image.fromarray(img) brightened_img = Brightness(img).enhance(factor) return np.asarray(brightened_img) @@ -1128,8 +1129,8 @@ def test_sharpness(nb_rand_test=100): def _adjust_sharpness(img, factor): # adjust the sharpness of image using # PIL.ImageEnhance.Sharpness - from PIL.ImageEnhance import Sharpness from PIL import Image + from PIL.ImageEnhance import Sharpness img = Image.fromarray(img) sharpened_img = Sharpness(img).enhance(factor) return np.asarray(sharpened_img) diff --git a/tests/test_models/test_backbones/test_efficientnet.py b/tests/test_models/test_backbones/test_efficientnet.py index 3d3a70d1..d424b230 100644 --- a/tests/test_models/test_backbones/test_efficientnet.py +++ b/tests/test_models/test_backbones/test_efficientnet.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. import pytest import torch from torch.nn.modules import GroupNorm diff --git a/tests/test_models/test_backbones/test_repvgg.py b/tests/test_models/test_backbones/test_repvgg.py index 0bbf6f31..f4c78abc 100644 --- a/tests/test_models/test_backbones/test_repvgg.py +++ b/tests/test_models/test_backbones/test_repvgg.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. import os import tempfile diff --git a/tests/test_models/test_utils/test_se.py b/tests/test_models/test_utils/test_se.py index 988db048..8cb8c509 100644 --- a/tests/test_models/test_utils/test_se.py +++ b/tests/test_models/test_utils/test_se.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. import pytest import torch from torch.nn.modules import GroupNorm diff --git a/tests/test_runtime/test_hooks.py b/tests/test_runtime/test_hooks.py index 288c955f..70140d9e 100644 --- a/tests/test_runtime/test_hooks.py +++ b/tests/test_runtime/test_hooks.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. import logging import shutil import tempfile diff --git a/tests/test_runtime/test_num_class_hook.py b/tests/test_runtime/test_num_class_hook.py index b5ed432b..fe8fb059 100644 --- a/tests/test_runtime/test_num_class_hook.py +++ b/tests/test_runtime/test_num_class_hook.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. import logging import tempfile from unittest.mock import MagicMock diff --git a/tests/test_runtime/test_optimizer.py b/tests/test_runtime/test_optimizer.py index e501eea7..2fdaeb08 100644 --- a/tests/test_runtime/test_optimizer.py +++ b/tests/test_runtime/test_optimizer.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. import functools from collections import OrderedDict from copy import deepcopy diff --git a/tests/test_runtime/test_preciseBN_hook.py b/tests/test_runtime/test_preciseBN_hook.py index 25789b00..d9cd7156 100644 --- a/tests/test_runtime/test_preciseBN_hook.py +++ b/tests/test_runtime/test_preciseBN_hook.py @@ -1,3 +1,4 @@ +# Copyright (c) OpenMMLab. All rights reserved. import numpy as np import pytest import torch diff --git a/tools/deployment/onnx2tensorrt.py b/tools/deployment/onnx2tensorrt.py index 489364e2..0bb163cf 100644 --- a/tools/deployment/onnx2tensorrt.py +++ b/tools/deployment/onnx2tensorrt.py @@ -52,8 +52,8 @@ def onnx2tensorrt(onnx_file, print(f'Successfully created TensorRT engine: {trt_file}') if verify: - import torch import onnxruntime as ort + import torch input_img = torch.randn(*input_shape) input_img_cpu = input_img.detach().cpu().numpy() diff --git a/tools/deployment/pytorch2onnx.py b/tools/deployment/pytorch2onnx.py index adb612d8..87fafa3d 100644 --- a/tools/deployment/pytorch2onnx.py +++ b/tools/deployment/pytorch2onnx.py @@ -108,9 +108,9 @@ def pytorch2onnx(model, model.forward = origin_forward if do_simplify: - from mmcv import digit_version - import onnxsim import onnx + import onnxsim + from mmcv import digit_version min_required_version = '0.3.0' assert digit_version(mmcv.__version__) >= digit_version( diff --git a/tools/visualizations/vis_cam.py b/tools/visualizations/vis_cam.py index 657e10bf..a1fcadac 100644 --- a/tools/visualizations/vis_cam.py +++ b/tools/visualizations/vis_cam.py @@ -17,10 +17,10 @@ from mmcls.apis import init_model from mmcls.datasets.pipelines import Compose try: - from pytorch_grad_cam import (EigenCAM, GradCAM, GradCAMPlusPlus, XGradCAM, - EigenGradCAM, LayerCAM) - from pytorch_grad_cam.activations_and_gradients import ( - ActivationsAndGradients) + from pytorch_grad_cam import (EigenCAM, EigenGradCAM, GradCAM, + GradCAMPlusPlus, LayerCAM, XGradCAM) + from pytorch_grad_cam.activations_and_gradients import \ + ActivationsAndGradients from pytorch_grad_cam.utils.image import show_cam_on_image except ImportError: raise ImportError('Please run `pip install "grad-cam>=1.3.6"` to install ' @@ -336,8 +336,8 @@ def main(): if args.target_category: grad_cam_v = pkg_resources.get_distribution('grad_cam').version if digit_version(grad_cam_v) >= digit_version('1.3.7'): - from pytorch_grad_cam.utils.model_targets import ( - ClassifierOutputTarget) + from pytorch_grad_cam.utils.model_targets import \ + ClassifierOutputTarget targets = [ClassifierOutputTarget(c) for c in args.target_category] else: targets = args.target_category