diff --git a/backends/arm/common/debug.py b/backends/arm/common/debug.py index bca6c06d140..5a74805591d 100644 --- a/backends/arm/common/debug.py +++ b/backends/arm/common/debug.py @@ -7,7 +7,7 @@ import os from typing import Optional -import serializer.tosa_serializer as ts # type: ignore +import serializer.tosa_serializer as ts import torch from executorch.exir.print_program import inspect_node diff --git a/backends/arm/debug/schema.py b/backends/arm/debug/schema.py index 46742a8ce61..48978c51a81 100644 --- a/backends/arm/debug/schema.py +++ b/backends/arm/debug/schema.py @@ -10,7 +10,7 @@ from dataclasses import asdict, dataclass from typing import Any, Optional -import serializer.tosa_serializer as ts # type: ignore +import serializer.tosa_serializer as ts import torch from executorch.backends.arm.common.arm_compile_spec import ArmCompileSpec diff --git a/backends/arm/operators/op_abs.py b/backends/arm/operators/op_abs.py index 943c4778867..b6213bfb467 100644 --- a/backends/arm/operators/op_abs.py +++ b/backends/arm/operators/op_abs.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -36,9 +38,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) diff --git a/backends/arm/operators/op_add.py b/backends/arm/operators/op_add.py index 81b415363ea..4215e53902f 100644 --- a/backends/arm/operators/op_add.py +++ b/backends/arm/operators/op_add.py @@ -9,6 +9,7 @@ import executorch.backends.arm.tosa.quant_utils as tqutils import executorch.backends.arm.tosa.utils as tutils +import serializer.tosa_serializer as ts from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, @@ -42,9 +43,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, [*inputs, output], ts) valid_dtypes = [] @@ -132,9 +130,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, [*inputs, output], ts) diff --git a/backends/arm/operators/op_amax.py b/backends/arm/operators/op_amax.py index 1fb751597af..e576aed711a 100644 --- a/backends/arm/operators/op_amax.py +++ b/backends/arm/operators/op_amax.py @@ -4,6 +4,8 @@ # LICENSE file in the root directory of this source tree. from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm._passes.arm_pass_utils import get_first_fake_tensor from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, @@ -34,8 +36,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 3) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_amin.py b/backends/arm/operators/op_amin.py index 9ebe78b946d..5dca08a73f3 100644 --- a/backends/arm/operators/op_amin.py +++ b/backends/arm/operators/op_amin.py @@ -4,6 +4,8 @@ # LICENSE file in the root directory of this source tree. from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm._passes.arm_pass_utils import get_first_fake_tensor from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, @@ -34,8 +36,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 3) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_any.py b/backends/arm/operators/op_any.py index 0c47d6b190a..308c1af1738 100644 --- a/backends/arm/operators/op_any.py +++ b/backends/arm/operators/op_any.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, cast, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( # type: ignore NodeVisitor, register_node_visitor, @@ -33,8 +35,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 3) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_avg_pool2d.py b/backends/arm/operators/op_avg_pool2d.py index d28f5f27acf..bad9c653d05 100644 --- a/backends/arm/operators/op_avg_pool2d.py +++ b/backends/arm/operators/op_avg_pool2d.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm._passes.fold_qdq_with_annotated_qparams_pass import ( @@ -48,8 +50,6 @@ def _build_generic_avgpool2d( accumulator_type: Any, ) -> None: - import serializer.tosa_serializer as ts # type: ignore - input_tensor = inputs[0] kernel_size_list = inputs[1].special stride_size_list = inputs[2].special @@ -116,8 +116,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, [3, 4, 5, 6, 7]) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( @@ -155,8 +153,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, [3, 4, 5, 6, 7]) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_bitwise_not.py b/backends/arm/operators/op_bitwise_not.py index 908cf68e9b2..79a2b53a8bc 100644 --- a/backends/arm/operators/op_bitwise_not.py +++ b/backends/arm/operators/op_bitwise_not.py @@ -5,6 +5,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -38,9 +40,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_cat.py b/backends/arm/operators/op_cat.py index 65b3e2a9549..60c112f455f 100644 --- a/backends/arm/operators/op_cat.py +++ b/backends/arm/operators/op_cat.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -34,8 +36,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, [1, 2]) tensors = inputs[0].special diff --git a/backends/arm/operators/op_ceil.py b/backends/arm/operators/op_ceil.py index 5cf89710436..a33117e38e6 100644 --- a/backends/arm/operators/op_ceil.py +++ b/backends/arm/operators/op_ceil.py @@ -5,6 +5,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + import torch.fx from executorch.backends.arm.operators.node_visitor import ( @@ -38,8 +40,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore # noqa: F401 - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_clamp.py b/backends/arm/operators/op_clamp.py index b0bf044a213..0d58fa72c0c 100644 --- a/backends/arm/operators/op_clamp.py +++ b/backends/arm/operators/op_clamp.py @@ -9,6 +9,7 @@ from typing import Any, List, Tuple import numpy as np +import serializer.tosa_serializer as ts import torch from executorch.backends.arm.operators.node_visitor import ( @@ -67,8 +68,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, [2, 3]) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( @@ -118,8 +117,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, [2, 3]) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_constant_pad_nd.py b/backends/arm/operators/op_constant_pad_nd.py index 562c4c9ea0e..07d4876b750 100644 --- a/backends/arm/operators/op_constant_pad_nd.py +++ b/backends/arm/operators/op_constant_pad_nd.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm._passes.fold_qdq_with_annotated_qparams_pass import ( @@ -42,8 +44,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 3) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_cos.py b/backends/arm/operators/op_cos.py index 0350733190c..59238535be6 100644 --- a/backends/arm/operators/op_cos.py +++ b/backends/arm/operators/op_cos.py @@ -6,7 +6,7 @@ # pyre-unsafe from typing import List -import serializer.tosa_serializer as ts # type: ignore +import serializer.tosa_serializer as ts from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, diff --git a/backends/arm/operators/op_eq.py b/backends/arm/operators/op_eq.py index 76b6e67cd8d..18ada5ba3bd 100644 --- a/backends/arm/operators/op_eq.py +++ b/backends/arm/operators/op_eq.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -41,9 +43,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, inputs, ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_erf.py b/backends/arm/operators/op_erf.py index 7797b61e562..bea4be0058b 100644 --- a/backends/arm/operators/op_erf.py +++ b/backends/arm/operators/op_erf.py @@ -5,6 +5,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + import torch.fx from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, @@ -36,8 +38,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_exp.py b/backends/arm/operators/op_exp.py index f5d5aef2213..4f9b32687ea 100644 --- a/backends/arm/operators/op_exp.py +++ b/backends/arm/operators/op_exp.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -37,8 +39,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_floor.py b/backends/arm/operators/op_floor.py index 77d712096fa..8189076f73d 100644 --- a/backends/arm/operators/op_floor.py +++ b/backends/arm/operators/op_floor.py @@ -5,6 +5,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + import torch.fx from executorch.backends.arm.operators.node_visitor import ( @@ -38,8 +40,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore # noqa: F401 - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_ge.py b/backends/arm/operators/op_ge.py index 4bb20cac77f..f9367c9a2b5 100644 --- a/backends/arm/operators/op_ge.py +++ b/backends/arm/operators/op_ge.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -41,9 +43,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, inputs, ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_gt.py b/backends/arm/operators/op_gt.py index c25c959681e..4721205af77 100644 --- a/backends/arm/operators/op_gt.py +++ b/backends/arm/operators/op_gt.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -41,9 +43,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, inputs, ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_index_select.py b/backends/arm/operators/op_index_select.py index e357416fadb..79a0e5ecf5e 100644 --- a/backends/arm/operators/op_index_select.py +++ b/backends/arm/operators/op_index_select.py @@ -8,6 +8,7 @@ from typing import Any, List import executorch.backends.arm.tosa.quant_utils as tqutils # noqa: F401 +import serializer.tosa_serializer as ts from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, @@ -46,9 +47,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - if len(inputs) != 3: raise ValueError(f"Number of inputs are not 3: {len(inputs)}") diff --git a/backends/arm/operators/op_index_tensor.py b/backends/arm/operators/op_index_tensor.py index 2ef7eac352b..a7e22c5a14b 100644 --- a/backends/arm/operators/op_index_tensor.py +++ b/backends/arm/operators/op_index_tensor.py @@ -11,6 +11,7 @@ import executorch.backends.arm.tosa.utils as tutils import numpy as np +import serializer.tosa_serializer as ts from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, @@ -127,7 +128,6 @@ def define_node( If the number of total elements in the values tensor exceeds int32 limits then this approach falls apart. """ - import serializer.tosa_serializer as ts validate_same_dtype(self.target, [inputs[0], output]) diff --git a/backends/arm/operators/op_le.py b/backends/arm/operators/op_le.py index e62d669814f..9f2515341a2 100644 --- a/backends/arm/operators/op_le.py +++ b/backends/arm/operators/op_le.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -41,9 +43,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, inputs, ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_log.py b/backends/arm/operators/op_log.py index 051b10af062..0473b39589d 100644 --- a/backends/arm/operators/op_log.py +++ b/backends/arm/operators/op_log.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -37,8 +39,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_logical_not.py b/backends/arm/operators/op_logical_not.py index 640c3b4e44f..943b13f085f 100644 --- a/backends/arm/operators/op_logical_not.py +++ b/backends/arm/operators/op_logical_not.py @@ -5,6 +5,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + import torch.fx from executorch.backends.arm.operators.node_visitor import ( @@ -39,8 +41,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore # noqa: F401 - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_lt.py b/backends/arm/operators/op_lt.py index cccb0abd5d7..e48671474f3 100644 --- a/backends/arm/operators/op_lt.py +++ b/backends/arm/operators/op_lt.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -41,9 +43,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, inputs, ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_max_pool2d.py b/backends/arm/operators/op_max_pool2d.py index 39fcbf5cc64..dfe5a09d7d0 100644 --- a/backends/arm/operators/op_max_pool2d.py +++ b/backends/arm/operators/op_max_pool2d.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm.operators.node_visitor import ( @@ -41,9 +43,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, [3, 4, 5, 6]) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_maximum.py b/backends/arm/operators/op_maximum.py index 50c6e06a4bb..7e0c3a1cb16 100644 --- a/backends/arm/operators/op_maximum.py +++ b/backends/arm/operators/op_maximum.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -40,8 +42,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore from tosa.NanPropagationMode import NanPropagationMode # type: ignore validate_num_inputs(self.target, inputs, 2) diff --git a/backends/arm/operators/op_minimum.py b/backends/arm/operators/op_minimum.py index d5b97f186d3..3050e3f7a86 100644 --- a/backends/arm/operators/op_minimum.py +++ b/backends/arm/operators/op_minimum.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -40,8 +42,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore from tosa.NanPropagationMode import NanPropagationMode # type: ignore validate_num_inputs(self.target, inputs, 2) diff --git a/backends/arm/operators/op_mul.py b/backends/arm/operators/op_mul.py index 9178aa4d014..30b8eb23154 100644 --- a/backends/arm/operators/op_mul.py +++ b/backends/arm/operators/op_mul.py @@ -7,6 +7,7 @@ from typing import Any, List +import serializer.tosa_serializer as ts import torch from executorch.backends.arm.operators.node_visitor import ( @@ -38,9 +39,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_neg.py b/backends/arm/operators/op_neg.py index 98aeea14bea..29a9073e5ed 100644 --- a/backends/arm/operators/op_neg.py +++ b/backends/arm/operators/op_neg.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + import torch.fx from executorch.backends.arm._passes.fold_qdq_with_annotated_qparams_pass import ( @@ -53,8 +55,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore - supported_dtypes = [ ts.DType.INT8, ts.DType.INT16, diff --git a/backends/arm/operators/op_permute.py b/backends/arm/operators/op_permute.py index 92cc2b37479..17e7ec4455e 100644 --- a/backends/arm/operators/op_permute.py +++ b/backends/arm/operators/op_permute.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm.operators.node_visitor import ( @@ -110,8 +112,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_pow.py b/backends/arm/operators/op_pow.py index 8e7cffc0770..6545cd9470d 100644 --- a/backends/arm/operators/op_pow.py +++ b/backends/arm/operators/op_pow.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -39,8 +41,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_reciprocal.py b/backends/arm/operators/op_reciprocal.py index 5aa45f740c2..d73fbdc5761 100644 --- a/backends/arm/operators/op_reciprocal.py +++ b/backends/arm/operators/op_reciprocal.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm.operators.node_visitor import ( @@ -38,8 +40,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_repeat.py b/backends/arm/operators/op_repeat.py index 9ee4e9fedf8..9305147d7d0 100644 --- a/backends/arm/operators/op_repeat.py +++ b/backends/arm/operators/op_repeat.py @@ -7,6 +7,8 @@ from typing import Any +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, @@ -37,8 +39,6 @@ def define_node( inputs: list[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_rshift_tensor.py b/backends/arm/operators/op_rshift_tensor.py index 2a41d685f5d..70661583d4e 100644 --- a/backends/arm/operators/op_rshift_tensor.py +++ b/backends/arm/operators/op_rshift_tensor.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm.operators.node_visitor import ( @@ -34,8 +36,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_rsqrt.py b/backends/arm/operators/op_rsqrt.py index 362a30f1cf5..3042c8054dc 100644 --- a/backends/arm/operators/op_rsqrt.py +++ b/backends/arm/operators/op_rsqrt.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm.operators.node_visitor import ( @@ -38,8 +40,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_sigmoid.py b/backends/arm/operators/op_sigmoid.py index 2c4673d6b5f..445666599ef 100644 --- a/backends/arm/operators/op_sigmoid.py +++ b/backends/arm/operators/op_sigmoid.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -37,8 +39,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_sin.py b/backends/arm/operators/op_sin.py index 76aee063555..7b78070613e 100644 --- a/backends/arm/operators/op_sin.py +++ b/backends/arm/operators/op_sin.py @@ -6,7 +6,7 @@ # pyre-unsafe from typing import List -import serializer.tosa_serializer as ts # type: ignore +import serializer.tosa_serializer as ts from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, diff --git a/backends/arm/operators/op_slice.py b/backends/arm/operators/op_slice.py index 12d38060aa6..7290c1243be 100644 --- a/backends/arm/operators/op_slice.py +++ b/backends/arm/operators/op_slice.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -50,8 +52,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, [4, 5]) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_sub.py b/backends/arm/operators/op_sub.py index 5f037dc3d1c..12ed94ec083 100644 --- a/backends/arm/operators/op_sub.py +++ b/backends/arm/operators/op_sub.py @@ -9,6 +9,7 @@ import executorch.backends.arm.tosa.quant_utils as tqutils import executorch.backends.arm.tosa.utils as tutils +import serializer.tosa_serializer as ts from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, @@ -42,9 +43,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( @@ -128,9 +126,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, [*inputs, output], ts) diff --git a/backends/arm/operators/op_sum.py b/backends/arm/operators/op_sum.py index 00676d9f9b3..3f637d18390 100644 --- a/backends/arm/operators/op_sum.py +++ b/backends/arm/operators/op_sum.py @@ -9,6 +9,7 @@ import executorch.backends.arm.tosa.quant_utils as tqutils import executorch.backends.arm.tosa.utils as tutils +import serializer.tosa_serializer as ts from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, @@ -41,9 +42,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 3) validate_same_dtype(self.target, [inputs[0], output], ts) @@ -97,9 +95,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 3) validate_same_dtype(self.target, [inputs[0], output], ts) diff --git a/backends/arm/operators/op_tanh.py b/backends/arm/operators/op_tanh.py index 5837825a6a1..dda86190202 100644 --- a/backends/arm/operators/op_tanh.py +++ b/backends/arm/operators/op_tanh.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -38,8 +40,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_to_dim_order_copy.py b/backends/arm/operators/op_to_dim_order_copy.py index aa5873f698e..08c5f70887d 100644 --- a/backends/arm/operators/op_to_dim_order_copy.py +++ b/backends/arm/operators/op_to_dim_order_copy.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm.operators.node_visitor import ( @@ -40,8 +42,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 1) self._serialize_operator( diff --git a/backends/arm/operators/op_tosa_conv2d.py b/backends/arm/operators/op_tosa_conv2d.py index ec61995dc1b..8672ea4f7ba 100644 --- a/backends/arm/operators/op_tosa_conv2d.py +++ b/backends/arm/operators/op_tosa_conv2d.py @@ -4,6 +4,8 @@ # LICENSE file in the root directory of this source tree. # pyre-unsafe +import serializer.tosa_serializer as ts + """Provide a visitor for lowering 2D convolution to TOSA (INT/FP).""" import itertools @@ -59,7 +61,6 @@ def define_node( output: TosaArg, ) -> None: """Define the TOSA CONV2D/DEPTHWISE_CONV2D operator and post-rescale.""" - import serializer.tosa_serializer as ts # type: ignore from tosa.RoundingMode import RoundingMode # type: ignore input, weight, bias, stride, pad, dilation, _, _, group = inputs diff --git a/backends/arm/operators/op_tosa_rescale.py b/backends/arm/operators/op_tosa_rescale.py index d331ebc80d5..7c76d815645 100644 --- a/backends/arm/operators/op_tosa_rescale.py +++ b/backends/arm/operators/op_tosa_rescale.py @@ -7,6 +7,8 @@ from typing import Any, cast, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, @@ -35,7 +37,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore from tosa.RoundingMode import RoundingMode # type: ignore validate_num_inputs(self.target, inputs, 5) diff --git a/backends/arm/operators/op_tosa_resize.py b/backends/arm/operators/op_tosa_resize.py index 020395ee7c2..f56f6eb19b2 100644 --- a/backends/arm/operators/op_tosa_resize.py +++ b/backends/arm/operators/op_tosa_resize.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm.operators.node_visitor import ( @@ -39,8 +41,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, [3, 4]) if node.kwargs.get("resize_mode") == "bilinear": resize_mode = ResizeMode.BILINEAR diff --git a/backends/arm/operators/op_tosa_table.py b/backends/arm/operators/op_tosa_table.py index 41b40268f6d..12f1f8dc5bd 100644 --- a/backends/arm/operators/op_tosa_table.py +++ b/backends/arm/operators/op_tosa_table.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, @@ -34,8 +36,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_valid_dtype( self.target, inputs, [ts.DType.INT8, ts.DType.INT16], output.tosa_spec diff --git a/backends/arm/operators/op_tosa_transpose.py b/backends/arm/operators/op_tosa_transpose.py index 48766687a62..ff3e54e3d0e 100644 --- a/backends/arm/operators/op_tosa_transpose.py +++ b/backends/arm/operators/op_tosa_transpose.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm.operators.node_visitor import ( @@ -40,8 +42,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_view.py b/backends/arm/operators/op_view.py index 925404da917..d6c6aa588e8 100644 --- a/backends/arm/operators/op_view.py +++ b/backends/arm/operators/op_view.py @@ -6,6 +6,8 @@ # pyre-unsafe from typing import Any, cast, List +import serializer.tosa_serializer as ts + import torch from executorch.backends.arm.operators.node_visitor import ( @@ -37,8 +39,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, [inputs[0], output], ts) validate_valid_dtype( diff --git a/backends/arm/operators/op_where.py b/backends/arm/operators/op_where.py index dbdbbc67944..9b1518e2bbc 100644 --- a/backends/arm/operators/op_where.py +++ b/backends/arm/operators/op_where.py @@ -5,6 +5,8 @@ from typing import Any, List, Sequence +import serializer.tosa_serializer as ts + from executorch.backends.arm.operators.node_visitor import ( NodeVisitor, register_node_visitor, @@ -39,7 +41,6 @@ def _add_node_to_tosa_graph( output: TosaArg, supported_dtypes: Sequence, ) -> None: - import serializer.tosa_serializer as ts validate_num_inputs(self.target, inputs, 3) # Not first input, which is condition tensor. @@ -68,8 +69,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - bi_supported_dtypes = [ ts.DType.INT8, ts.DType.INT16, @@ -98,8 +97,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - mi_supported_dtypes = [ ts.DType.FP16, ts.DType.FP32, diff --git a/backends/arm/operators/operator_validation_utils.py b/backends/arm/operators/operator_validation_utils.py index cc8317497b8..d712b461304 100644 --- a/backends/arm/operators/operator_validation_utils.py +++ b/backends/arm/operators/operator_validation_utils.py @@ -148,7 +148,6 @@ def validate_valid_dtype( validate_valid_dtype, ) - import serializer.tosa_serializer as ts validate_valid_dtype( self.target, diff --git a/backends/arm/operators/ops_binary.py b/backends/arm/operators/ops_binary.py index 4e8e393732b..af0ece81c34 100644 --- a/backends/arm/operators/ops_binary.py +++ b/backends/arm/operators/ops_binary.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + import torch import torch.fx @@ -36,8 +38,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts # type: ignore # noqa: F401 - validate_num_inputs(self.target, inputs, 2) validate_same_dtype(self.target, [*inputs, output], ts) @@ -76,8 +76,6 @@ def define_node( register_node_visitor(BinaryOperator) -import serializer.tosa_serializer as ts # type: ignore - binary_operator_factory("aten.bitwise_and.Tensor", ts.TosaOp.Op().BITWISE_AND) binary_operator_factory("aten.bitwise_xor.Tensor", ts.TosaOp.Op().BITWISE_XOR) binary_operator_factory("aten.bitwise_or.Tensor", ts.TosaOp.Op().BITWISE_OR) diff --git a/backends/arm/operators/ops_identity.py b/backends/arm/operators/ops_identity.py index 62a307f3012..cb251ae12c1 100644 --- a/backends/arm/operators/ops_identity.py +++ b/backends/arm/operators/ops_identity.py @@ -7,6 +7,8 @@ from typing import Any, List +import serializer.tosa_serializer as ts + import torch import torch.fx @@ -39,8 +41,6 @@ def define_node( inputs: List[TosaArg], output: TosaArg, ) -> None: - import serializer.tosa_serializer as ts - validate_num_inputs(self.target, inputs, 1) validate_same_dtype(self.target, [*inputs, output], ts) diff --git a/backends/arm/test/tester/arm_tester.py b/backends/arm/test/tester/arm_tester.py index 0cba8d987c0..996ae7340c6 100644 --- a/backends/arm/test/tester/arm_tester.py +++ b/backends/arm/test/tester/arm_tester.py @@ -24,7 +24,7 @@ import executorch.backends.xnnpack.test.tester.tester as tester -import serializer.tosa_serializer as ts # type: ignore[import-untyped] +import serializer.tosa_serializer as ts import torch.fx import torch.utils._pytree as pytree diff --git a/backends/arm/tosa/backend.py b/backends/arm/tosa/backend.py index 7a7ea2ca377..6ffb7df4bfc 100644 --- a/backends/arm/tosa/backend.py +++ b/backends/arm/tosa/backend.py @@ -15,7 +15,7 @@ from itertools import count from typing import cast, Dict, final, List, Set -import serializer.tosa_serializer as ts # type: ignore +import serializer.tosa_serializer as ts from executorch.backends.arm.common.arm_compile_spec import ArmCompileSpec from executorch.backends.arm.common.debug import debug_fail, debug_tosa_dump from executorch.backends.arm.debug.schema import DebugHook diff --git a/backends/arm/tosa/mapping.py b/backends/arm/tosa/mapping.py index 64e4ae96e08..4bc60f9fb3f 100644 --- a/backends/arm/tosa/mapping.py +++ b/backends/arm/tosa/mapping.py @@ -14,7 +14,7 @@ from enum import Enum from typing import Any, Optional, Sequence -import serializer.tosa_serializer as ts # type: ignore +import serializer.tosa_serializer as ts import torch from executorch.backends.arm.tosa.specification import TosaSpecification diff --git a/backends/arm/tosa/quant_utils.py b/backends/arm/tosa/quant_utils.py index 562c77e30da..dd295ff3e73 100644 --- a/backends/arm/tosa/quant_utils.py +++ b/backends/arm/tosa/quant_utils.py @@ -11,7 +11,7 @@ from typing import Any, Tuple -import serializer.tosa_serializer as ts # type: ignore +import serializer.tosa_serializer as ts from executorch.backends.arm._passes.fold_qdq_with_annotated_qparams_pass import ( get_input_qparams, @@ -374,7 +374,6 @@ def build_rescale( rounding_mode: RoundingMode, per_channel=False, ): - import serializer.tosa_serializer as ts # type: ignore import tosa.Op as TosaOp # type: ignore diff --git a/backends/arm/tosa/utils.py b/backends/arm/tosa/utils.py index 15c8612d33f..f6f16724f30 100644 --- a/backends/arm/tosa/utils.py +++ b/backends/arm/tosa/utils.py @@ -9,7 +9,7 @@ from typing import Any import numpy as np -import serializer.tosa_serializer as ts # type: ignore +import serializer.tosa_serializer as ts import sympy # type: ignore