diff --git a/.circleci/unittest/linux/scripts/run-clang-format.py b/.circleci/unittest/linux/scripts/run-clang-format.py index b72246a19b5..9d6c66b90f6 100755 --- a/.circleci/unittest/linux/scripts/run-clang-format.py +++ b/.circleci/unittest/linux/scripts/run-clang-format.py @@ -32,7 +32,6 @@ """ import argparse -import codecs import difflib import fnmatch import io diff --git a/packaging/wheel/relocate.py b/packaging/wheel/relocate.py index 3dde79f08b4..3a94d3a58c1 100644 --- a/packaging/wheel/relocate.py +++ b/packaging/wheel/relocate.py @@ -19,7 +19,6 @@ # Third party imports if sys.platform == "linux": from auditwheel.lddtree import lddtree -from wheel.bdist_wheel import get_abi_tag ALLOWLIST = { diff --git a/references/classification/utils.py b/references/classification/utils.py index 707418ee217..d51a11ee8da 100644 --- a/references/classification/utils.py +++ b/references/classification/utils.py @@ -167,7 +167,9 @@ class ExponentialMovingAverage(torch.optim.swa_utils.AveragedModel): """ def __init__(self, model, decay, device="cpu"): - ema_avg = lambda avg_model_param, model_param, num_averaged: decay * avg_model_param + (1 - decay) * model_param + def ema_avg(avg_model_param, model_param, num_averaged): + return decay * avg_model_param + (1 - decay) * model_param + super().__init__(model, device, ema_avg) def update_parameters(self, model): diff --git a/references/detection/coco_utils.py b/references/detection/coco_utils.py index ad657068252..a0c29600817 100644 --- a/references/detection/coco_utils.py +++ b/references/detection/coco_utils.py @@ -5,7 +5,6 @@ import torch.utils.data import torchvision import transforms as T -from PIL import Image from pycocotools import mask as coco_mask from pycocotools.coco import COCO diff --git a/setup.cfg b/setup.cfg index 8929a5fd37f..f36195194cd 100644 --- a/setup.cfg +++ b/setup.cfg @@ -8,8 +8,9 @@ license_file = LICENSE max-line-length = 120 [flake8] +# note: we ignore all 501s (line too long) anyway as they're taken care of by black max-line-length = 120 -ignore = E203, E402, W503, W504, F821 +ignore = E203, E402, W503, W504, F821, E501 per-file-ignores = __init__.py: F401, F403, F405 ./hubconf.py: F401 diff --git a/setup.py b/setup.py index fb7b0bf3786..5ad76fd9b8e 100644 --- a/setup.py +++ b/setup.py @@ -3,11 +3,9 @@ import glob import io import os -import re import shutil import subprocess import sys -from distutils.version import StrictVersion import torch from pkg_resources import parse_version, get_distribution, DistributionNotFound diff --git a/test/common_utils.py b/test/common_utils.py index 7469478670a..f782613971c 100644 --- a/test/common_utils.py +++ b/test/common_utils.py @@ -1,24 +1,16 @@ -import argparse import contextlib import functools -import inspect import os import random import shutil -import sys import tempfile -import unittest -from collections import OrderedDict -from numbers import Number import numpy as np -import pytest import torch from PIL import Image -from torch._six import string_classes from torchvision import io -import __main__ +import __main__ # noqa: 401 IN_CIRCLE_CI = os.getenv("CIRCLECI", False) == "true" diff --git a/test/test_backbone_utils.py b/test/test_backbone_utils.py index 1b0c0251169..63687e42f57 100644 --- a/test/test_backbone_utils.py +++ b/test/test_backbone_utils.py @@ -1,10 +1,8 @@ import random -from functools import partial from itertools import chain import pytest import torch -import torchvision from common_utils import set_rng_seed from torchvision import models from torchvision.models._utils import IntermediateLayerGetter diff --git a/test/test_cpp_models.py b/test/test_cpp_models.py index 25b5c79c984..afa11568f70 100644 --- a/test/test_cpp_models.py +++ b/test/test_cpp_models.py @@ -5,7 +5,7 @@ import torch import torchvision.transforms.functional as F from PIL import Image -from torchvision import models, transforms +from torchvision import models try: from torchvision import _C_tests diff --git a/test/test_datasets_samplers.py b/test/test_datasets_samplers.py index 56c2a930dc8..7174d6321f7 100644 --- a/test/test_datasets_samplers.py +++ b/test/test_datasets_samplers.py @@ -1,18 +1,13 @@ -import contextlib -import os -import sys - import pytest import torch from common_utils import get_list_of_videos, assert_equal -from torchvision import get_video_backend from torchvision import io from torchvision.datasets.samplers import ( DistributedSampler, RandomClipSampler, UniformClipSampler, ) -from torchvision.datasets.video_utils import VideoClips, unfold +from torchvision.datasets.video_utils import VideoClips @pytest.mark.skipif(not io.video._av_available(), reason="this test requires av") diff --git a/test/test_datasets_utils.py b/test/test_datasets_utils.py index 00cdf8ad2c7..bece7dd1e9d 100644 --- a/test/test_datasets_utils.py +++ b/test/test_datasets_utils.py @@ -1,13 +1,8 @@ -import bz2 import contextlib import gzip -import itertools -import lzma import os import tarfile -import warnings import zipfile -from urllib.error import URLError import pytest import torchvision.datasets.utils as utils diff --git a/test/test_datasets_video_utils.py b/test/test_datasets_video_utils.py index 3377577a047..cfdbd6f6d02 100644 --- a/test/test_datasets_video_utils.py +++ b/test/test_datasets_video_utils.py @@ -1,6 +1,3 @@ -import contextlib -import os - import pytest import torch from common_utils import get_list_of_videos, assert_equal diff --git a/test/test_datasets_video_utils_opt.py b/test/test_datasets_video_utils_opt.py index 993e77cdf4c..5e6b19bfb95 100644 --- a/test/test_datasets_video_utils_opt.py +++ b/test/test_datasets_video_utils_opt.py @@ -1,7 +1,7 @@ import unittest import test_datasets_video_utils -from torchvision import set_video_backend +from torchvision import set_video_backend # noqa: 401 # Disabling the video backend switching temporarily # set_video_backend('video_reader') diff --git a/test/test_functional_tensor.py b/test/test_functional_tensor.py index de05d0b81fc..7e64b9752bf 100644 --- a/test/test_functional_tensor.py +++ b/test/test_functional_tensor.py @@ -2,8 +2,7 @@ import itertools import math import os -from functools import partial -from typing import Dict, List, Sequence, Tuple +from typing import Sequence import numpy as np import pytest diff --git a/test/test_internet.py b/test/test_internet.py index 1d63f38d5af..03828c151c0 100644 --- a/test/test_internet.py +++ b/test/test_internet.py @@ -6,7 +6,6 @@ """ import os -import warnings from urllib.error import URLError import pytest diff --git a/test/test_io.py b/test/test_io.py index 73356bb8092..3c4de195285 100644 --- a/test/test_io.py +++ b/test/test_io.py @@ -2,8 +2,6 @@ import os import sys import tempfile -import warnings -from urllib.error import URLError import pytest import torch diff --git a/test/test_io_opt.py b/test/test_io_opt.py index be0456665ec..f4e3d305295 100644 --- a/test/test_io_opt.py +++ b/test/test_io_opt.py @@ -1,7 +1,7 @@ import unittest import test_io -from torchvision import set_video_backend +from torchvision import set_video_backend # noqa: 401 # Disabling the video backend switching temporarily diff --git a/test/test_models.py b/test/test_models.py index a108c2633ec..5e5b3429778 100644 --- a/test/test_models.py +++ b/test/test_models.py @@ -2,7 +2,6 @@ import io import operator import os -import sys import traceback import warnings from collections import OrderedDict diff --git a/test/test_transforms_tensor.py b/test/test_transforms_tensor.py index 07b98f60999..5ee1c738a77 100644 --- a/test/test_transforms_tensor.py +++ b/test/test_transforms_tensor.py @@ -1,5 +1,4 @@ import os -from typing import Sequence import numpy as np import pytest diff --git a/torchvision/_internally_replaced_utils.py b/torchvision/_internally_replaced_utils.py index b37ba8acbc3..d147997b0b5 100644 --- a/torchvision/_internally_replaced_utils.py +++ b/torchvision/_internally_replaced_utils.py @@ -11,9 +11,9 @@ def _is_remote_location_available() -> bool: try: - from torch.hub import load_state_dict_from_url + from torch.hub import load_state_dict_from_url # noqa: 401 except ImportError: - from torch.utils.model_zoo import load_url as load_state_dict_from_url + from torch.utils.model_zoo import load_url as load_state_dict_from_url # noqa: 401 def _get_extension_path(lib_name): diff --git a/torchvision/datasets/cifar.py b/torchvision/datasets/cifar.py index f6b121f268a..1d124b32194 100644 --- a/torchvision/datasets/cifar.py +++ b/torchvision/datasets/cifar.py @@ -4,7 +4,6 @@ from typing import Any, Callable, Optional, Tuple import numpy as np -import torch from PIL import Image from .utils import check_integrity, download_and_extract_archive diff --git a/torchvision/datasets/widerface.py b/torchvision/datasets/widerface.py index dd054556b46..805a9dbec6f 100644 --- a/torchvision/datasets/widerface.py +++ b/torchvision/datasets/widerface.py @@ -6,7 +6,6 @@ from PIL import Image from .utils import ( - check_integrity, download_file_from_google_drive, download_and_extract_archive, extract_archive, diff --git a/torchvision/io/_video_opt.py b/torchvision/io/_video_opt.py index b94e25ea698..a887e35e08e 100644 --- a/torchvision/io/_video_opt.py +++ b/torchvision/io/_video_opt.py @@ -1,5 +1,4 @@ import math -import os import warnings from fractions import Fraction from typing import List, Tuple diff --git a/torchvision/models/densenet.py b/torchvision/models/densenet.py index 17acb556d6b..a34b50e41e9 100644 --- a/torchvision/models/densenet.py +++ b/torchvision/models/densenet.py @@ -65,11 +65,11 @@ def closure(*inputs): return cp.checkpoint(closure, *input) @torch.jit._overload_method # noqa: F811 - def forward(self, input: List[Tensor]) -> Tensor: + def forward(self, input: List[Tensor]) -> Tensor: # noqa: F811 pass @torch.jit._overload_method # noqa: F811 - def forward(self, input: Tensor) -> Tensor: + def forward(self, input: Tensor) -> Tensor: # noqa: F811 pass # torchscript does not yet support *args, so we overload method diff --git a/torchvision/models/detection/rpn.py b/torchvision/models/detection/rpn.py index c963b3c9944..c58e1a37af0 100644 --- a/torchvision/models/detection/rpn.py +++ b/torchvision/models/detection/rpn.py @@ -9,7 +9,7 @@ from . import _utils as det_utils # Import AnchorGenerator to keep compatibility. -from .anchor_utils import AnchorGenerator +from .anchor_utils import AnchorGenerator # noqa: 401 from .image_list import ImageList diff --git a/torchvision/models/detection/ssdlite.py b/torchvision/models/detection/ssdlite.py index 2ede62040b7..503b69d7380 100644 --- a/torchvision/models/detection/ssdlite.py +++ b/torchvision/models/detection/ssdlite.py @@ -1,7 +1,7 @@ import warnings from collections import OrderedDict from functools import partial -from typing import Any, Callable, Dict, List, Optional, Tuple +from typing import Any, Callable, Dict, List, Optional import torch from torch import nn, Tensor diff --git a/torchvision/models/mobilenetv2.py b/torchvision/models/mobilenetv2.py index 19c7e80dd69..4b12478ba18 100644 --- a/torchvision/models/mobilenetv2.py +++ b/torchvision/models/mobilenetv2.py @@ -1,5 +1,4 @@ import warnings -from functools import partial from typing import Callable, Any, Optional, List import torch diff --git a/torchvision/ops/_register_onnx_ops.py b/torchvision/ops/_register_onnx_ops.py index 76e62ae1728..124b0d75624 100644 --- a/torchvision/ops/_register_onnx_ops.py +++ b/torchvision/ops/_register_onnx_ops.py @@ -7,12 +7,7 @@ def _register_custom_op(): - from torch.onnx.symbolic_helper import ( - parse_args, - scalar_type_to_onnx, - scalar_type_to_pytorch_type, - cast_pytorch_to_onnx, - ) + from torch.onnx.symbolic_helper import parse_args from torch.onnx.symbolic_opset11 import select, squeeze, unsqueeze from torch.onnx.symbolic_opset9 import _cast_Long