From a3abfa5cb57203b6a8ba7dff763f4057db8282a8 Mon Sep 17 00:00:00 2001 From: Xuehai Pan Date: Mon, 15 Jul 2024 14:56:25 +0800 Subject: [PATCH] [BE][Easy][1/19] enforce style for empty lines in import segments (#129752) See https://github.com/pytorch/pytorch/pull/129751#issue-2380881501. Most changes are auto-generated by linter. You can review these PRs via: ```bash git diff --ignore-all-space --ignore-blank-lines HEAD~1 ``` Pull Request resolved: https://github.com/pytorch/pytorch/pull/129752 Approved by: https://github.com/ezyang, https://github.com/malfet --- .circleci/codegen_validation/normalize_yaml_fragment.py | 1 + .circleci/scripts/trigger_azure_pipeline.py | 1 + android/pytorch_android/generate_test_torchscripts.py | 1 + android/test_app/make_assets.py | 1 + android/test_app/make_assets_custom.py | 1 + .../native/quantized/cpu/qnnpack/deps/clog/configure.py | 1 + .../cuda/flash_attn/kernels/generate_kernels.py | 1 + .../cuda/mem_eff_attention/kernels/generate_kernels.py | 1 + docs/cpp/source/conf.py | 4 +++- docs/source/conf.py | 6 ++++-- docs/source/scripts/build_activation_images.py | 1 + docs/source/scripts/build_opsets.py | 2 +- docs/source/scripts/exportdb/generate_example_rst.py | 1 - .../build_onnx_torchscript_supported_aten_op_csv_table.py | 1 + ios/TestApp/benchmark/coreml_backend.py | 1 - ios/TestApp/benchmark/trace_model.py | 1 + ios/TestApp/custom_build/custom_build.py | 1 + ios/TestApp/run_on_aws_devicefarm.py | 1 + scripts/analysis/format_test_csv.py | 1 + scripts/compile_tests/common.py | 1 + scripts/compile_tests/failures_histogram.py | 1 - scripts/compile_tests/passrate.py | 2 +- scripts/compile_tests/update_failures.py | 2 +- scripts/diagnose_protobuf.py | 1 + scripts/export/update_schema.py | 1 + scripts/get_python_cmake_flags.py | 1 + scripts/jit/log_extract.py | 1 + scripts/release_notes/apply_categories.py | 1 + scripts/release_notes/namespace_check.py | 1 + setup.py | 3 ++- tools/linter/adapters/ufmt_linter.py | 1 - 31 files changed, 33 insertions(+), 11 deletions(-) diff --git a/.circleci/codegen_validation/normalize_yaml_fragment.py b/.circleci/codegen_validation/normalize_yaml_fragment.py index 32899cc729c..6d15f1a5a5b 100755 --- a/.circleci/codegen_validation/normalize_yaml_fragment.py +++ b/.circleci/codegen_validation/normalize_yaml_fragment.py @@ -5,6 +5,7 @@ import sys import yaml + # Need to import modules that lie on an upward-relative path sys.path.append(os.path.join(sys.path[0], "..")) diff --git a/.circleci/scripts/trigger_azure_pipeline.py b/.circleci/scripts/trigger_azure_pipeline.py index fc15b5810e4..c0ac8bbd3ad 100644 --- a/.circleci/scripts/trigger_azure_pipeline.py +++ b/.circleci/scripts/trigger_azure_pipeline.py @@ -8,6 +8,7 @@ import time import requests + AZURE_PIPELINE_BASE_URL = "https://aiinfra.visualstudio.com/PyTorch/" AZURE_DEVOPS_PAT_BASE64 = os.environ.get("AZURE_DEVOPS_PAT_BASE64_SECRET", "") PIPELINE_ID = "911" diff --git a/android/pytorch_android/generate_test_torchscripts.py b/android/pytorch_android/generate_test_torchscripts.py index a487bd1242e..9c548740968 100644 --- a/android/pytorch_android/generate_test_torchscripts.py +++ b/android/pytorch_android/generate_test_torchscripts.py @@ -3,6 +3,7 @@ from typing import Dict, List, Optional, Tuple import torch from torch import Tensor + OUTPUT_DIR = "src/androidTest/assets/" diff --git a/android/test_app/make_assets.py b/android/test_app/make_assets.py index a6fd9e9315d..81c1cf16bdb 100644 --- a/android/test_app/make_assets.py +++ b/android/test_app/make_assets.py @@ -2,6 +2,7 @@ from torchvision import models import torch + print(torch.version.__version__) resnet18 = models.resnet18(weights=models.ResNet18_Weights.IMAGENET1K_V1) diff --git a/android/test_app/make_assets_custom.py b/android/test_app/make_assets_custom.py index e1e50f17202..fa31dfb57ac 100644 --- a/android/test_app/make_assets_custom.py +++ b/android/test_app/make_assets_custom.py @@ -9,6 +9,7 @@ from torchvision import models import torch + # Download and trace the model. model = models.mobilenet_v2(weights=models.MobileNet_V2_Weights.IMAGENET1K_V1) model.eval() diff --git a/aten/src/ATen/native/quantized/cpu/qnnpack/deps/clog/configure.py b/aten/src/ATen/native/quantized/cpu/qnnpack/deps/clog/configure.py index 852e0454972..0f0674084e6 100755 --- a/aten/src/ATen/native/quantized/cpu/qnnpack/deps/clog/configure.py +++ b/aten/src/ATen/native/quantized/cpu/qnnpack/deps/clog/configure.py @@ -8,6 +8,7 @@ import confu + parser = confu.standard_parser("clog configuration script") diff --git a/aten/src/ATen/native/transformers/cuda/flash_attn/kernels/generate_kernels.py b/aten/src/ATen/native/transformers/cuda/flash_attn/kernels/generate_kernels.py index ca1fe27f949..b125d431f49 100644 --- a/aten/src/ATen/native/transformers/cuda/flash_attn/kernels/generate_kernels.py +++ b/aten/src/ATen/native/transformers/cuda/flash_attn/kernels/generate_kernels.py @@ -7,6 +7,7 @@ from dataclasses import dataclass from pathlib import Path from typing import List, Optional + DTYPE_MAP = { "fp16": "cutlass::half_t", "bf16": "cutlass::bfloat16_t", diff --git a/aten/src/ATen/native/transformers/cuda/mem_eff_attention/kernels/generate_kernels.py b/aten/src/ATen/native/transformers/cuda/mem_eff_attention/kernels/generate_kernels.py index a010d1e9867..0fb723d9d8f 100644 --- a/aten/src/ATen/native/transformers/cuda/mem_eff_attention/kernels/generate_kernels.py +++ b/aten/src/ATen/native/transformers/cuda/mem_eff_attention/kernels/generate_kernels.py @@ -15,6 +15,7 @@ from dataclasses import dataclass, field from pathlib import Path from typing import Dict, List, Optional, Tuple, TypeVar + DTYPES = { "f32": "float", "f16": "cutlass::half_t", diff --git a/docs/cpp/source/conf.py b/docs/cpp/source/conf.py index 917d370b2d9..838f5f2fd1d 100644 --- a/docs/cpp/source/conf.py +++ b/docs/cpp/source/conf.py @@ -18,11 +18,13 @@ # NB: C++ API doc generation using doxygen / breathe / exhale is currently only # enabled on nightlies (and not trunk or on PRs) due to OOM errors in CI. # See https://github.com/pytorch/pytorch/issues/79992. + import os +import textwrap + # sys.path.insert(0, os.path.abspath('.')) -import textwrap # -- General configuration ------------------------------------------------ diff --git a/docs/source/conf.py b/docs/source/conf.py index 43082959e0b..ed4c715b52d 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -24,9 +24,9 @@ from os import path # source code directory, relative to this file, for sphinx-autobuild # sys.path.insert(0, os.path.abspath('../..')) - import torch + try: import torchvision # noqa: F401 except ImportError: @@ -38,6 +38,7 @@ RELEASE = os.environ.get("RELEASE", False) import pytorch_sphinx_theme + # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. @@ -3475,6 +3476,7 @@ html_css_files = [ from sphinx.ext.coverage import CoverageBuilder + # NB: Due to some duplications of the following modules/functions, we keep # them as expected failures for the time being instead of return 1 ignore_duplicated_modules = { @@ -3722,11 +3724,11 @@ import sphinx.ext.doctest # -- A patch that prevents Sphinx from cross-referencing ivar tags ------- # See http://stackoverflow.com/a/41184353/3343043 - from docutils import nodes from sphinx import addnodes from sphinx.util.docfields import TypedField + # Without this, doctest adds any example with a `>>>` as a test doctest_test_doctest_blocks = "" doctest_default_flags = sphinx.ext.doctest.doctest.ELLIPSIS diff --git a/docs/source/scripts/build_activation_images.py b/docs/source/scripts/build_activation_images.py index 21e27a0ca1a..27e35f22a81 100644 --- a/docs/source/scripts/build_activation_images.py +++ b/docs/source/scripts/build_activation_images.py @@ -11,6 +11,7 @@ from matplotlib import pyplot as plt import torch + matplotlib.use("Agg") diff --git a/docs/source/scripts/build_opsets.py b/docs/source/scripts/build_opsets.py index f0c4d3b9a9c..84bc97b76d4 100644 --- a/docs/source/scripts/build_opsets.py +++ b/docs/source/scripts/build_opsets.py @@ -4,9 +4,9 @@ from pathlib import Path import torch import torch._prims as prims - from torchgen.gen import parse_native_yaml + ROOT = Path(__file__).absolute().parent.parent.parent.parent NATIVE_FUNCTION_YAML_PATH = ROOT / Path("aten/src/ATen/native/native_functions.yaml") TAGS_YAML_PATH = ROOT / Path("aten/src/ATen/native/tags.yaml") diff --git a/docs/source/scripts/exportdb/generate_example_rst.py b/docs/source/scripts/exportdb/generate_example_rst.py index 6f4839eaa79..0107386680a 100644 --- a/docs/source/scripts/exportdb/generate_example_rst.py +++ b/docs/source/scripts/exportdb/generate_example_rst.py @@ -5,7 +5,6 @@ from pathlib import Path import torch import torch._dynamo as torchdynamo - from torch._export.db.case import ExportCase from torch._export.db.examples import all_examples from torch.export import export diff --git a/docs/source/scripts/onnx/build_onnx_torchscript_supported_aten_op_csv_table.py b/docs/source/scripts/onnx/build_onnx_torchscript_supported_aten_op_csv_table.py index 88e055a8cfe..f46dddfce0f 100644 --- a/docs/source/scripts/onnx/build_onnx_torchscript_supported_aten_op_csv_table.py +++ b/docs/source/scripts/onnx/build_onnx_torchscript_supported_aten_op_csv_table.py @@ -8,6 +8,7 @@ import os from torch.onnx import _onnx_supported_ops + # Constants BUILD_DIR = "build/onnx" SUPPORTED_OPS_CSV_FILE = "auto_gen_supported_op_list.csv" diff --git a/ios/TestApp/benchmark/coreml_backend.py b/ios/TestApp/benchmark/coreml_backend.py index 7b2473637cc..7b2b486dda0 100644 --- a/ios/TestApp/benchmark/coreml_backend.py +++ b/ios/TestApp/benchmark/coreml_backend.py @@ -1,7 +1,6 @@ from torchvision import models import torch - from torch.backends._coreml.preprocess import CompileSpec, CoreMLComputeUnit, TensorSpec diff --git a/ios/TestApp/benchmark/trace_model.py b/ios/TestApp/benchmark/trace_model.py index 8614f396c76..c93ef356c25 100644 --- a/ios/TestApp/benchmark/trace_model.py +++ b/ios/TestApp/benchmark/trace_model.py @@ -3,6 +3,7 @@ from torchvision import models import torch from torch.utils.mobile_optimizer import optimize_for_mobile + model = models.mobilenet_v2(weights=models.MobileNet_V2_Weights.IMAGENET1K_V1) model.eval() example = torch.rand(1, 3, 224, 224) diff --git a/ios/TestApp/custom_build/custom_build.py b/ios/TestApp/custom_build/custom_build.py index c07a66aeda3..86797ba4361 100644 --- a/ios/TestApp/custom_build/custom_build.py +++ b/ios/TestApp/custom_build/custom_build.py @@ -3,6 +3,7 @@ from torchvision import models import torch + model = models.mobilenet_v2(weights=models.MobileNet_V2_Weights.IMAGENET1K_V1) model.eval() example = torch.rand(1, 3, 224, 224) diff --git a/ios/TestApp/run_on_aws_devicefarm.py b/ios/TestApp/run_on_aws_devicefarm.py index 46ad8b4bc72..72fecbee854 100755 --- a/ios/TestApp/run_on_aws_devicefarm.py +++ b/ios/TestApp/run_on_aws_devicefarm.py @@ -12,6 +12,7 @@ from typing import Any import boto3 import requests + POLLING_DELAY_IN_SECOND = 5 MAX_UPLOAD_WAIT_IN_SECOND = 600 diff --git a/scripts/analysis/format_test_csv.py b/scripts/analysis/format_test_csv.py index d92a8f88294..609199d19b2 100644 --- a/scripts/analysis/format_test_csv.py +++ b/scripts/analysis/format_test_csv.py @@ -20,6 +20,7 @@ import csv import subprocess import sys + parser = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter ) diff --git a/scripts/compile_tests/common.py b/scripts/compile_tests/common.py index 818eae37d07..f6abdb1207c 100644 --- a/scripts/compile_tests/common.py +++ b/scripts/compile_tests/common.py @@ -2,6 +2,7 @@ import functools import os import warnings + try: import lxml.etree diff --git a/scripts/compile_tests/failures_histogram.py b/scripts/compile_tests/failures_histogram.py index 6e65888a1c7..9991043c766 100644 --- a/scripts/compile_tests/failures_histogram.py +++ b/scripts/compile_tests/failures_histogram.py @@ -2,7 +2,6 @@ import argparse import re from common import download_reports, get_testcases, key, open_test_results, skipped_test - from passrate import compute_pass_rate diff --git a/scripts/compile_tests/passrate.py b/scripts/compile_tests/passrate.py index 6271c3ba3f9..425363c6d5d 100644 --- a/scripts/compile_tests/passrate.py +++ b/scripts/compile_tests/passrate.py @@ -7,9 +7,9 @@ from common import ( key, open_test_results, ) - from download_reports import download_reports + """ Usage: passrate.py commit_sha diff --git a/scripts/compile_tests/update_failures.py b/scripts/compile_tests/update_failures.py index 2842a20f249..b5511038c29 100755 --- a/scripts/compile_tests/update_failures.py +++ b/scripts/compile_tests/update_failures.py @@ -12,9 +12,9 @@ from common import ( key, open_test_results, ) - from download_reports import download_reports + """ Usage: update_failures.py /path/to/dynamo_test_failures.py /path/to/test commit_sha diff --git a/scripts/diagnose_protobuf.py b/scripts/diagnose_protobuf.py index aa2844dbf0a..65af4618228 100644 --- a/scripts/diagnose_protobuf.py +++ b/scripts/diagnose_protobuf.py @@ -17,6 +17,7 @@ import os import re from subprocess import PIPE, Popen + # Get python protobuf version. try: import google.protobuf diff --git a/scripts/export/update_schema.py b/scripts/export/update_schema.py index 674e409a734..ea073090f26 100644 --- a/scripts/export/update_schema.py +++ b/scripts/export/update_schema.py @@ -5,6 +5,7 @@ from yaml import dump, Dumper from torch._export.serde import schema_check + if __name__ == "__main__": parser = argparse.ArgumentParser(prog="update_schema") parser.add_argument( diff --git a/scripts/get_python_cmake_flags.py b/scripts/get_python_cmake_flags.py index 8422a75f8ab..a49debcc884 100644 --- a/scripts/get_python_cmake_flags.py +++ b/scripts/get_python_cmake_flags.py @@ -16,6 +16,7 @@ import sys import sysconfig + flags = [ f"-DPython_EXECUTABLE:FILEPATH={sys.executable}", ] diff --git a/scripts/jit/log_extract.py b/scripts/jit/log_extract.py index 14c45049a68..95d882b461d 100644 --- a/scripts/jit/log_extract.py +++ b/scripts/jit/log_extract.py @@ -11,6 +11,7 @@ from torch.utils.jit.log_extract import ( run_nvfuser, ) + """ Usage: 1. Run your script and pipe into a log file diff --git a/scripts/release_notes/apply_categories.py b/scripts/release_notes/apply_categories.py index 96b552b86f1..786b1a95908 100644 --- a/scripts/release_notes/apply_categories.py +++ b/scripts/release_notes/apply_categories.py @@ -6,6 +6,7 @@ import csv import commitlist + category_csv = "results/category_data.csv" commitlist_csv = "results/commitlist.csv" diff --git a/scripts/release_notes/namespace_check.py b/scripts/release_notes/namespace_check.py index 7d9f55c9552..fe2934b7346 100644 --- a/scripts/release_notes/namespace_check.py +++ b/scripts/release_notes/namespace_check.py @@ -4,6 +4,7 @@ from os import path import torch + # Import all utils so that getattr below can find them all_submod_list = [ diff --git a/setup.py b/setup.py index f2946f65d4f..dec89e0a813 100644 --- a/setup.py +++ b/setup.py @@ -201,6 +201,7 @@ import os import sys + if sys.platform == "win32" and sys.maxsize.bit_length() == 31: print( "32-bit Windows Python runtime is not supported. Please switch to 64-bit Python." @@ -209,6 +210,7 @@ if sys.platform == "win32" and sys.maxsize.bit_length() == 31: import platform + BUILD_LIBTORCH_WHL = os.getenv("BUILD_LIBTORCH_WHL", "0") == "1" BUILD_PYTHON_ONLY = os.getenv("BUILD_PYTHON_ONLY", "0") == "1" @@ -236,7 +238,6 @@ import setuptools.command.install import setuptools.command.sdist from setuptools import Extension, find_packages, setup from setuptools.dist import Distribution - from tools.build_pytorch_libs import build_caffe2 from tools.generate_torch_version import get_torch_version from tools.setup_helpers.cmake import CMake diff --git a/tools/linter/adapters/ufmt_linter.py b/tools/linter/adapters/ufmt_linter.py index f0aff44f0df..4614d83f6bc 100644 --- a/tools/linter/adapters/ufmt_linter.py +++ b/tools/linter/adapters/ufmt_linter.py @@ -29,7 +29,6 @@ ISORT_WHITELIST = re.compile( fnmatch.translate, [ # ** - "**", # .ci/** ".ci/**", # .github/**