From e65329f6569f416c40a5df7bb3d2924de0acd7f9 Mon Sep 17 00:00:00 2001
From: Yaman Umuroglu <maltanar@gmail.com>
Date: Mon, 5 Oct 2020 17:42:40 +0200
Subject: [PATCH] [Refactor]	 Transformation moved into transformation.base

---
 notebooks/advanced/1_custom_transformation_pass.ipynb       | 6 +++---
 src/finn/transformation/fpgadataflow/annotate_cycles.py     | 2 +-
 src/finn/transformation/fpgadataflow/annotate_resources.py  | 2 +-
 src/finn/transformation/fpgadataflow/cleanup.py             | 2 +-
 src/finn/transformation/fpgadataflow/compile_cppsim.py      | 2 +-
 .../transformation/fpgadataflow/convert_to_hls_layers.py    | 2 +-
 .../fpgadataflow/create_dataflow_partition.py               | 2 +-
 src/finn/transformation/fpgadataflow/create_stitched_ip.py  | 2 +-
 src/finn/transformation/fpgadataflow/floorplan.py           | 2 +-
 src/finn/transformation/fpgadataflow/hlssynth_ip.py         | 2 +-
 src/finn/transformation/fpgadataflow/insert_dwc.py          | 2 +-
 src/finn/transformation/fpgadataflow/insert_fifo.py         | 2 +-
 src/finn/transformation/fpgadataflow/insert_iodma.py        | 2 +-
 src/finn/transformation/fpgadataflow/insert_tlastmarker.py  | 2 +-
 src/finn/transformation/fpgadataflow/make_deployment.py     | 2 +-
 src/finn/transformation/fpgadataflow/make_pynq_driver.py    | 2 +-
 src/finn/transformation/fpgadataflow/make_zynq_proj.py      | 2 +-
 .../fpgadataflow/minimize_accumulator_width.py              | 2 +-
 src/finn/transformation/fpgadataflow/prepare_cppsim.py      | 2 +-
 src/finn/transformation/fpgadataflow/prepare_ip.py          | 2 +-
 src/finn/transformation/fpgadataflow/prepare_rtlsim.py      | 2 +-
 .../transformation/fpgadataflow/replace_verilog_relpaths.py | 2 +-
 src/finn/transformation/fpgadataflow/set_exec_mode.py       | 2 +-
 src/finn/transformation/fpgadataflow/synth_ooc.py           | 2 +-
 src/finn/transformation/fpgadataflow/vitis_build.py         | 2 +-
 src/finn/transformation/move_reshape.py                     | 2 +-
 src/finn/transformation/streamline/__init__.py              | 2 +-
 src/finn/transformation/streamline/absorb.py                | 2 +-
 src/finn/transformation/streamline/collapse_repeated.py     | 2 +-
 src/finn/transformation/streamline/remove.py                | 3 ++-
 src/finn/transformation/streamline/reorder.py               | 2 +-
 src/finn/transformation/streamline/round_thresholds.py      | 2 +-
 src/finn/transformation/streamline/sign_to_thres.py         | 2 +-
 33 files changed, 36 insertions(+), 35 deletions(-)

diff --git a/notebooks/advanced/1_custom_transformation_pass.ipynb b/notebooks/advanced/1_custom_transformation_pass.ipynb
index a9345401e..9c54d6f26 100644
--- a/notebooks/advanced/1_custom_transformation_pass.ipynb
+++ b/notebooks/advanced/1_custom_transformation_pass.ipynb
@@ -120,7 +120,7 @@
     }
    ],
    "source": [
-    "from finn.transformation import Transformation\n",
+    "from finn.transformation.base import Transformation\n",
     "\n",
     "showSrc(Transformation)"
    ]
@@ -199,7 +199,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "from finn.transformation import Transformation\n",
+    "from finn.transformation.base import Transformation\n",
     "\n",
     "class ConvertSubToAdd(Transformation):\n",
     "    def apply(self, model):\n",
@@ -352,7 +352,7 @@
     }
    ],
    "source": [
-    "from finn.transformation import NodeLocalTransformation\n",
+    "from finn.transformation.base import NodeLocalTransformation\n",
     "\n",
     "showSrc(NodeLocalTransformation)"
    ]
diff --git a/src/finn/transformation/fpgadataflow/annotate_cycles.py b/src/finn/transformation/fpgadataflow/annotate_cycles.py
index 521c84952..2c547203d 100644
--- a/src/finn/transformation/fpgadataflow/annotate_cycles.py
+++ b/src/finn/transformation/fpgadataflow/annotate_cycles.py
@@ -27,7 +27,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 import finn.custom_op.registry as registry
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.transformation.move_reshape import _is_fpgadataflow_node
 from finn.core.modelwrapper import ModelWrapper
 from finn.custom_op.registry import getCustomOp
diff --git a/src/finn/transformation/fpgadataflow/annotate_resources.py b/src/finn/transformation/fpgadataflow/annotate_resources.py
index d6ff05884..4e5015101 100644
--- a/src/finn/transformation/fpgadataflow/annotate_resources.py
+++ b/src/finn/transformation/fpgadataflow/annotate_resources.py
@@ -27,7 +27,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 import finn.custom_op.registry as registry
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.transformation.move_reshape import _is_fpgadataflow_node
 from finn.analysis.fpgadataflow.res_estimation import res_estimation
 from finn.analysis.fpgadataflow.hls_synth_res_estimation import hls_synth_res_estimation
diff --git a/src/finn/transformation/fpgadataflow/cleanup.py b/src/finn/transformation/fpgadataflow/cleanup.py
index 248a99b57..f08931707 100644
--- a/src/finn/transformation/fpgadataflow/cleanup.py
+++ b/src/finn/transformation/fpgadataflow/cleanup.py
@@ -31,7 +31,7 @@ import shutil
 
 import finn.custom_op.registry as registry
 from finn.util.fpgadataflow import is_fpgadataflow_node
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 
 
 class CleanUp(Transformation):
diff --git a/src/finn/transformation/fpgadataflow/compile_cppsim.py b/src/finn/transformation/fpgadataflow/compile_cppsim.py
index ddf00c799..e17feb468 100644
--- a/src/finn/transformation/fpgadataflow/compile_cppsim.py
+++ b/src/finn/transformation/fpgadataflow/compile_cppsim.py
@@ -28,7 +28,7 @@
 
 import finn.custom_op.registry as registry
 from finn.util.fpgadataflow import is_fpgadataflow_node
-from finn.transformation import NodeLocalTransformation
+from finn.transformation.base import NodeLocalTransformation
 
 
 class CompileCppSim(NodeLocalTransformation):
diff --git a/src/finn/transformation/fpgadataflow/convert_to_hls_layers.py b/src/finn/transformation/fpgadataflow/convert_to_hls_layers.py
index d4d5b0064..d6f2e04f7 100644
--- a/src/finn/transformation/fpgadataflow/convert_to_hls_layers.py
+++ b/src/finn/transformation/fpgadataflow/convert_to_hls_layers.py
@@ -32,7 +32,7 @@ import numpy as np
 import warnings
 
 from finn.core.datatype import DataType
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.custom_op.registry import getCustomOp
 from finn.transformation.infer_shapes import InferShapes
 from finn.transformation.infer_datatypes import InferDataTypes
diff --git a/src/finn/transformation/fpgadataflow/create_dataflow_partition.py b/src/finn/transformation/fpgadataflow/create_dataflow_partition.py
index fb8b4358a..90a92d11c 100644
--- a/src/finn/transformation/fpgadataflow/create_dataflow_partition.py
+++ b/src/finn/transformation/fpgadataflow/create_dataflow_partition.py
@@ -30,7 +30,7 @@ import copy
 
 from onnx import helper
 
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.basic import get_by_name, make_build_dir
 
 
diff --git a/src/finn/transformation/fpgadataflow/create_stitched_ip.py b/src/finn/transformation/fpgadataflow/create_stitched_ip.py
index 0def25d84..3470e9525 100644
--- a/src/finn/transformation/fpgadataflow/create_stitched_ip.py
+++ b/src/finn/transformation/fpgadataflow/create_stitched_ip.py
@@ -30,7 +30,7 @@ import os
 import warnings
 import subprocess
 
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.basic import get_by_name, make_build_dir
 from finn.custom_op.registry import getCustomOp
 from finn.util.basic import get_num_default_workers
diff --git a/src/finn/transformation/fpgadataflow/floorplan.py b/src/finn/transformation/fpgadataflow/floorplan.py
index 1d9a51875..eaade4a33 100644
--- a/src/finn/transformation/fpgadataflow/floorplan.py
+++ b/src/finn/transformation/fpgadataflow/floorplan.py
@@ -27,7 +27,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 from finn.custom_op.registry import getCustomOp
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.basic import get_by_name
 
 
diff --git a/src/finn/transformation/fpgadataflow/hlssynth_ip.py b/src/finn/transformation/fpgadataflow/hlssynth_ip.py
index 8315b6ec1..e79d70544 100644
--- a/src/finn/transformation/fpgadataflow/hlssynth_ip.py
+++ b/src/finn/transformation/fpgadataflow/hlssynth_ip.py
@@ -29,7 +29,7 @@
 import os
 import finn.custom_op.registry as registry
 from finn.util.fpgadataflow import is_fpgadataflow_node
-from finn.transformation import NodeLocalTransformation
+from finn.transformation.base import NodeLocalTransformation
 import warnings
 
 
diff --git a/src/finn/transformation/fpgadataflow/insert_dwc.py b/src/finn/transformation/fpgadataflow/insert_dwc.py
index 3fe60292e..195a005ff 100644
--- a/src/finn/transformation/fpgadataflow/insert_dwc.py
+++ b/src/finn/transformation/fpgadataflow/insert_dwc.py
@@ -2,7 +2,7 @@ from onnx import TensorProto
 from onnx import helper as oh
 
 from finn.custom_op.registry import getCustomOp
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.fpgadataflow import is_fpgadataflow_node
 
 
diff --git a/src/finn/transformation/fpgadataflow/insert_fifo.py b/src/finn/transformation/fpgadataflow/insert_fifo.py
index 6f7fde0c4..1c2664288 100644
--- a/src/finn/transformation/fpgadataflow/insert_fifo.py
+++ b/src/finn/transformation/fpgadataflow/insert_fifo.py
@@ -2,7 +2,7 @@ from onnx import TensorProto
 from onnx import helper as oh
 
 from finn.custom_op.registry import getCustomOp
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.fpgadataflow import is_fpgadataflow_node
 import numpy as np
 
diff --git a/src/finn/transformation/fpgadataflow/insert_iodma.py b/src/finn/transformation/fpgadataflow/insert_iodma.py
index 72e5ec4fd..feaa534e1 100644
--- a/src/finn/transformation/fpgadataflow/insert_iodma.py
+++ b/src/finn/transformation/fpgadataflow/insert_iodma.py
@@ -31,7 +31,7 @@ from onnx import helper as oh
 
 from finn.util.basic import get_by_name
 from finn.custom_op.registry import getCustomOp
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.transformation.general import SortGraph
 import finn.core.data_layout as DataLayout
 import math
diff --git a/src/finn/transformation/fpgadataflow/insert_tlastmarker.py b/src/finn/transformation/fpgadataflow/insert_tlastmarker.py
index bbb0e43fd..8ffb08321 100644
--- a/src/finn/transformation/fpgadataflow/insert_tlastmarker.py
+++ b/src/finn/transformation/fpgadataflow/insert_tlastmarker.py
@@ -30,7 +30,7 @@ from onnx import TensorProto
 from onnx import helper as oh
 
 from finn.custom_op.registry import getCustomOp
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.basic import get_by_name
 
 import numpy as np
diff --git a/src/finn/transformation/fpgadataflow/make_deployment.py b/src/finn/transformation/fpgadataflow/make_deployment.py
index 2880e4aba..6d37f567c 100644
--- a/src/finn/transformation/fpgadataflow/make_deployment.py
+++ b/src/finn/transformation/fpgadataflow/make_deployment.py
@@ -32,7 +32,7 @@ import subprocess
 from distutils.dir_util import copy_tree
 from shutil import copy
 
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.basic import make_build_dir
 import finn.transformation.fpgadataflow.templates as templates
 
diff --git a/src/finn/transformation/fpgadataflow/make_pynq_driver.py b/src/finn/transformation/fpgadataflow/make_pynq_driver.py
index 2f4bee159..e8e305924 100644
--- a/src/finn/transformation/fpgadataflow/make_pynq_driver.py
+++ b/src/finn/transformation/fpgadataflow/make_pynq_driver.py
@@ -28,7 +28,7 @@
 
 
 import shutil
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.basic import gen_finn_dt_tensor, make_build_dir
 import finn.util.data_packing as dpk
 import finn.core.datatype as dtp
diff --git a/src/finn/transformation/fpgadataflow/make_zynq_proj.py b/src/finn/transformation/fpgadataflow/make_zynq_proj.py
index e263c450a..1a4b67d1e 100644
--- a/src/finn/transformation/fpgadataflow/make_zynq_proj.py
+++ b/src/finn/transformation/fpgadataflow/make_zynq_proj.py
@@ -30,7 +30,7 @@ import os
 import subprocess
 
 from finn.custom_op.registry import getCustomOp
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.core.modelwrapper import ModelWrapper
 from finn.util.basic import get_by_name, make_build_dir
 from finn.util.basic import get_num_default_workers
diff --git a/src/finn/transformation/fpgadataflow/minimize_accumulator_width.py b/src/finn/transformation/fpgadataflow/minimize_accumulator_width.py
index 2c54a5efb..0a0c45b6b 100644
--- a/src/finn/transformation/fpgadataflow/minimize_accumulator_width.py
+++ b/src/finn/transformation/fpgadataflow/minimize_accumulator_width.py
@@ -27,7 +27,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 from finn.custom_op.registry import getCustomOp
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.fpgadataflow import is_fpgadataflow_node
 
 
diff --git a/src/finn/transformation/fpgadataflow/prepare_cppsim.py b/src/finn/transformation/fpgadataflow/prepare_cppsim.py
index 6eae560e1..26354bdf7 100644
--- a/src/finn/transformation/fpgadataflow/prepare_cppsim.py
+++ b/src/finn/transformation/fpgadataflow/prepare_cppsim.py
@@ -31,7 +31,7 @@ import os
 import finn.custom_op.registry as registry
 from finn.util.basic import make_build_dir
 from finn.util.fpgadataflow import is_fpgadataflow_node
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.basic import get_num_default_workers
 import multiprocessing as mp
 import copy
diff --git a/src/finn/transformation/fpgadataflow/prepare_ip.py b/src/finn/transformation/fpgadataflow/prepare_ip.py
index 21f8e0052..53cb0af16 100644
--- a/src/finn/transformation/fpgadataflow/prepare_ip.py
+++ b/src/finn/transformation/fpgadataflow/prepare_ip.py
@@ -28,7 +28,7 @@
 
 import os
 import finn.custom_op.registry as registry
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.basic import make_build_dir
 from finn.util.fpgadataflow import is_fpgadataflow_node
 import warnings
diff --git a/src/finn/transformation/fpgadataflow/prepare_rtlsim.py b/src/finn/transformation/fpgadataflow/prepare_rtlsim.py
index 8c28ab7e2..d2ec5561a 100644
--- a/src/finn/transformation/fpgadataflow/prepare_rtlsim.py
+++ b/src/finn/transformation/fpgadataflow/prepare_rtlsim.py
@@ -31,7 +31,7 @@ from finn.util.fpgadataflow import is_fpgadataflow_node
 from finn.transformation.fpgadataflow.replace_verilog_relpaths import (
     ReplaceVerilogRelPaths,
 )
-from finn.transformation import NodeLocalTransformation
+from finn.transformation.base import NodeLocalTransformation
 
 try:
     from pyverilator import PyVerilator
diff --git a/src/finn/transformation/fpgadataflow/replace_verilog_relpaths.py b/src/finn/transformation/fpgadataflow/replace_verilog_relpaths.py
index e63ae4e02..c57770412 100644
--- a/src/finn/transformation/fpgadataflow/replace_verilog_relpaths.py
+++ b/src/finn/transformation/fpgadataflow/replace_verilog_relpaths.py
@@ -30,7 +30,7 @@ import os
 
 import finn.custom_op.registry as registry
 from finn.util.fpgadataflow import is_fpgadataflow_node
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 
 
 class ReplaceVerilogRelPaths(Transformation):
diff --git a/src/finn/transformation/fpgadataflow/set_exec_mode.py b/src/finn/transformation/fpgadataflow/set_exec_mode.py
index 40996e5f6..6a76031f4 100644
--- a/src/finn/transformation/fpgadataflow/set_exec_mode.py
+++ b/src/finn/transformation/fpgadataflow/set_exec_mode.py
@@ -28,7 +28,7 @@
 
 import finn.custom_op.registry as registry
 from finn.util.fpgadataflow import is_fpgadataflow_node
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 
 
 class SetExecMode(Transformation):
diff --git a/src/finn/transformation/fpgadataflow/synth_ooc.py b/src/finn/transformation/fpgadataflow/synth_ooc.py
index 8fd7e4724..acc20e4ad 100644
--- a/src/finn/transformation/fpgadataflow/synth_ooc.py
+++ b/src/finn/transformation/fpgadataflow/synth_ooc.py
@@ -29,7 +29,7 @@
 import os
 from shutil import copy2
 
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.vivado import out_of_context_synth
 from finn.util.basic import make_build_dir
 
diff --git a/src/finn/transformation/fpgadataflow/vitis_build.py b/src/finn/transformation/fpgadataflow/vitis_build.py
index 482dc8d78..2e1f3fee2 100644
--- a/src/finn/transformation/fpgadataflow/vitis_build.py
+++ b/src/finn/transformation/fpgadataflow/vitis_build.py
@@ -30,7 +30,7 @@ import os
 import subprocess
 
 from finn.core.modelwrapper import ModelWrapper
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.custom_op.registry import getCustomOp
 
 from finn.transformation.fpgadataflow.create_dataflow_partition import (
diff --git a/src/finn/transformation/move_reshape.py b/src/finn/transformation/move_reshape.py
index 9943d371d..a07eaf142 100644
--- a/src/finn/transformation/move_reshape.py
+++ b/src/finn/transformation/move_reshape.py
@@ -1,4 +1,4 @@
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.basic import get_by_name
 
 
diff --git a/src/finn/transformation/streamline/__init__.py b/src/finn/transformation/streamline/__init__.py
index bf0307031..e78b798ff 100644
--- a/src/finn/transformation/streamline/__init__.py
+++ b/src/finn/transformation/streamline/__init__.py
@@ -30,7 +30,7 @@ from pkgutil import extend_path
 
 __path__ = extend_path(__path__, __name__)
 
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.transformation.infer_datatypes import InferDataTypes
 from finn.transformation.general import (
     ConvertSubToAdd,
diff --git a/src/finn/transformation/streamline/absorb.py b/src/finn/transformation/streamline/absorb.py
index 0f2c5525d..fa2d7a714 100644
--- a/src/finn/transformation/streamline/absorb.py
+++ b/src/finn/transformation/streamline/absorb.py
@@ -32,7 +32,7 @@ import warnings
 
 from finn.core.datatype import DataType
 import finn.core.data_layout as DataLayout
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.util.basic import get_by_name
 from finn.custom_op.registry import getCustomOp
 from finn.transformation.infer_shapes import InferShapes
diff --git a/src/finn/transformation/streamline/collapse_repeated.py b/src/finn/transformation/streamline/collapse_repeated.py
index 769bed841..19f1ec3e8 100644
--- a/src/finn/transformation/streamline/collapse_repeated.py
+++ b/src/finn/transformation/streamline/collapse_repeated.py
@@ -28,7 +28,7 @@
 
 from onnx import helper as oh
 
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.transformation.infer_shapes import InferShapes
 from finn.core.datatype import DataType
 
diff --git a/src/finn/transformation/streamline/remove.py b/src/finn/transformation/streamline/remove.py
index ddc4233dd..12c6984c6 100644
--- a/src/finn/transformation/streamline/remove.py
+++ b/src/finn/transformation/streamline/remove.py
@@ -27,10 +27,11 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 from finn.transformation.infer_shapes import InferShapes
 import numpy as np
 
+
 class RemoveIdentityOps(Transformation):
     """Remove identity ops like Add/Sub with zero or Mul/Div with one"""
 
diff --git a/src/finn/transformation/streamline/reorder.py b/src/finn/transformation/streamline/reorder.py
index f4c1dc130..bae3c9f22 100644
--- a/src/finn/transformation/streamline/reorder.py
+++ b/src/finn/transformation/streamline/reorder.py
@@ -31,7 +31,7 @@ import warnings
 from onnx import helper as oh
 from onnx import TensorProto
 
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 import finn.core.data_layout as DataLayout
 from finn.transformation.infer_shapes import InferShapes
 from finn.transformation.infer_datatypes import InferDataTypes
diff --git a/src/finn/transformation/streamline/round_thresholds.py b/src/finn/transformation/streamline/round_thresholds.py
index 8626ef406..ba476504a 100644
--- a/src/finn/transformation/streamline/round_thresholds.py
+++ b/src/finn/transformation/streamline/round_thresholds.py
@@ -28,7 +28,7 @@
 
 import numpy as np
 
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 
 
 class RoundAndClipThresholds(Transformation):
diff --git a/src/finn/transformation/streamline/sign_to_thres.py b/src/finn/transformation/streamline/sign_to_thres.py
index d2b51df7a..4e35012ce 100644
--- a/src/finn/transformation/streamline/sign_to_thres.py
+++ b/src/finn/transformation/streamline/sign_to_thres.py
@@ -30,7 +30,7 @@ import numpy as np
 from onnx import helper as oh
 
 from finn.core.datatype import DataType
-from finn.transformation import Transformation
+from finn.transformation.base import Transformation
 
 
 class ConvertSignToThres(Transformation):
-- 
GitLab