From d7c91a3876c36dd72e04f544ed548e66fac7810d Mon Sep 17 00:00:00 2001
From: cmoineau <cyril.moineau@cea.fr>
Date: Wed, 25 Sep 2024 07:22:35 +0000
Subject: [PATCH] Remove unused functions.

---
 aidge_export_arm_cortexm/operators.py | 254 +-------------------------
 1 file changed, 1 insertion(+), 253 deletions(-)

diff --git a/aidge_export_arm_cortexm/operators.py b/aidge_export_arm_cortexm/operators.py
index 4d6b43d..8653329 100644
--- a/aidge_export_arm_cortexm/operators.py
+++ b/aidge_export_arm_cortexm/operators.py
@@ -78,9 +78,6 @@ class Producer_ARMCortexM(ExportNode):
         # A Producer does nothing during forward
         return []
 
-    @classmethod
-    def exportable(cls, node):
-        return True # TODO add check i/o NCHW
 
 class Scaling():
     class ScalingMode:
@@ -272,9 +269,7 @@ class Pooling_ARMCortexM(ExportNodeCpp):
         ]
         self.kernel = node.get_operator().attr.kernel_dims
         self.stride = node.get_operator().attr.stride_dims
-    @classmethod
-    def exportable(cls, node):
-        return True # TODO add check i/o NCHW
+
 
 @ExportLibAidgeARM.register("FC", aidge_core.ImplSpec(aidge_core.IOSpec(aidge_core.dtype.float32)))
 class FC_ARMCortexM(ExportNodeCpp):
@@ -292,9 +287,6 @@ class FC_ARMCortexM(ExportNodeCpp):
         self.kernels_to_copy = [
             str(ROOT / "_Aidge_Arm" / "kernels" / "FullyConnected" / "Fc.hpp")
         ]
-    @classmethod
-    def exportable(cls, node):
-        return True # TODO add check i/o NCHW
 
 @ExportLibAidgeARM.register("MaxPooling2D", aidge_core.ImplSpec(aidge_core.IOSpec(aidge_core.dtype.float32)))
 class MaxPooling_ARMCortexM(Pooling_ARMCortexM):
@@ -431,247 +423,3 @@ class MatMul_ARMCortexM(ExportNodeCpp):
         self.kernels_to_copy = [
             str(ROOT / "_Aidge_Arm" / "kernels" / "Matmul" / "aidge_matmul_chw_float32.h"),
         ]
-
-
-# TODO: Is this used ?
-# @register("ConvReluScaling")
-# class ConvReluScaling_ARMCortexM(Conv_ARMCortexM):
-#      def __init__(self, node, board, library):
-#         super(Conv_ARMCortexM, self).__init__(node, board, library)
-
-#         if self.operator.has_attr("Begin_End_Borders"):
-#             self.padding = self.operator.attr.begin_end_borders
-
-#         self.activation = "Rectifier"
-
-#         # Should do this line but there is a bug while changing the dtype of generic operator...
-#         # self.dtype = aidge2c(node.get_operator().get_output(0).dtype())
-#         # Do this instead
-#         if self.operator.attr.quantized_nb_bits == 8:
-#             if self.operator.attr.is_output_unsigned:
-#                 self.dtype = aidge2c(aidge_core.dtype.uint8)
-#             else:
-#                 self.dtype = aidge2c(aidge_core.dtype.int8)
-
-#         # Impose Single Shift (perhaps change it to have a more modular system)
-#         self.scaling = Scaling(self.operator.attr.scaling_factor,
-#                                self.operator.attr.quantized_nb_bits)("floating_point")
-
-# @register("BatchNorm")
-# class BatchNorm2D_ARMCortexM(ExportNode):
-#     def __init__(self, node, board, library):
-
-#         super().__init__(node)
-#         self.board = board
-#         self.library = library
-#         self.dataformat = aidge_datatype2dataformat(node.get_operator().get_output(0).dtype())
-#         self.dtype = aidge_datatype2ctype(node.get_operator().get_output(0).dtype())
-#         self.epsilon = node.get_operator().attr.epsilon
-
-
-#         self.producers = []
-
-#         for i in range(0, len(node.inputs())):
-#             if node.input(i)[0].type()=="Producer":
-#                 producer = node.input(i)[0]
-#                 self.producers.append(Producer_ARMCortexM(producer))
-
-#     def export(self, export_folder:Path,list_configs:list):
-#         for i in range(len(self.producers)):
-#             self.producers[i].export(export_folder / "parameters" / f"{self.producers[i].name}.h")
-#             list_configs.append(f"parameters/{self.producers[i].name}.h")
-
-#         list_configs.append(f"layers/{self.name}.h")
-
-#         if self.library == "aidge":
-#             if self.dataformat == "float32":
-#                 copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "BatchNorm" / "aidge_batchnorm2d_chw_float32.c"),
-#                          str(export_folder / "src" / "kernels"))
-
-#             generate_file(
-#                 str(export_folder / "layers" / f"{self.name}.h"),
-#                 str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "batchnorm2d.jinja"),
-#                 name=self.name,
-#                 epsilon=self.epsilon,
-#                 input_dims = self.inputs_dims[0])
-
-#         return list_configs
-#     def forward(self, list_actions:list):
-#         if not self.is_last:
-#             list_actions.append(set_up_output(self.name, self.dtype))
-
-#         if self.library == "aidge":
-
-#             list_actions.append(generate_str(
-#                 str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "batchnorm2d.jinja"),
-#                 name=self.name,
-#                 dataformat=self.dataformat,
-#                 input_name=self.inputs[0].name(),
-#                 running_mean_name=self.inputs[3].name(),
-#                 running_var_name=self.inputs[4].name(),
-#                 weight_name=self.inputs[1].name(),
-#                 bias_name=self.inputs[2].name(),
-#                 output_name=self.name
-#             ))
-#         return list_actions
-
-# @register("Reshape")
-# class Reshape_ARMCortexM(ExportNode):
-#     def __init__(self, node, board, library):
-#         super().__init__(node)
-
-#         self.board = board
-#         self.library = library
-#         # node.set_name(self.inputs[0].name())
-#         self.dataformat = aidge_datatype2dataformat(node.get_operator().get_output(0).dtype())
-#         self.dtype = aidge_datatype2ctype(node.get_operator().get_output(0).dtype())
-
-
-#     def export(self, export_folder:Path, list_configs:list):
-
-#         list_configs.append(f"layers/{self.name}.h")
-
-#         if self.library == "aidge":
-#             if self.dataformat == "float32":
-#                 copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "Reshape" / "aidge_reshape_chw_float32.c"),
-#                          str(export_folder / "src" / "kernels"))
-
-#             generate_file(
-#                 str(export_folder / "layers" / f"{self.name}.h"),
-#                 str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "reshape.jinja"),
-#                 name=self.name,
-#                 nb_inputs=np.prod(self.inputs_dims[0]),
-#                 nb_outputs=np.prod(self.outputs_dims[0]))
-
-#         return list_configs
-
-#     def forward(self, list_actions:list):
-
-#         if not self.is_last:
-#             list_actions.append(set_up_output(self.name, self.dtype))
-
-#         if self.library == "aidge":
-#             list_actions.append(generate_str(
-#                 str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "reshape.jinja"),
-#                 name=self.name,
-#                 dataformat=self.dataformat,
-#                 input_name=self.inputs[0].name(),
-#                 output_name=self.name,
-#             ))
-
-#         return list_actions
-
-# @register("Gather")
-# class Gather_ARMCortexM(ExportNode):
-#     def __init__(self, node, board, library):
-#         super().__init__(node)
-
-#         self.board = board
-#         self.library = library
-#         self.dataformat = aidge_datatype2dataformat(node.get_operator().get_output(0).dtype())
-#         self.dtype = aidge_datatype2ctype(node.get_operator().get_output(0).dtype())
-#         self.indices =  node.get_operator().attr.indices
-#         self.axis =  node.get_operator().attr.axis
-
-#     def export(self, export_folder:Path, list_configs:list):
-
-#         list_configs.append(f"layers/{self.name}.h")
-
-#         export_params(f"{self.inputs[0].name()}_DIMS", np.array(self.inputs_dims[0],dtype=np.int32),export_folder / "dimensions" / f"{self.inputs[0].name()}_DIMS.h")
-#         list_configs.append(f"dimensions/{self.inputs[0].name()}_DIMS.h")
-
-#         export_params(f"{self.name}_INDEXES", np.array(self.indices,dtype=np.int32),export_folder / "dimensions" / f"{self.name}_INDEXES.h")
-#         list_configs.append(f"dimensions/{self.name}_INDEXES.h")
-
-
-#         if self.library == "aidge":
-#             if self.dataformat == "float32":
-#                 copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "Transform" / "Gather" / "aidge_gather_chw_float32.c"),
-#                          str(export_folder / "src" / "kernels"))
-
-#             generate_file(
-#                 str(export_folder / "layers" / f"{self.name}.h"),
-#                 str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "gather.jinja"),
-#                 name=self.name,
-#                 axis = self.axis,
-#                 indices = self.indices,
-#                 input_dims=self.inputs_dims[0],
-#                 nb_outputs=np.prod(self.outputs_dims[0])
-#             )
-
-#         return list_configs
-
-#     def forward(self, list_actions:list):
-
-#         if not self.is_last:
-#             list_actions.append(set_up_output(self.name, self.dtype))
-
-#         if self.library == "aidge":
-#             list_actions.append(generate_str(
-#                 str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "gather.jinja"),
-#                 name=self.name,
-#                 dataformat=self.dataformat,
-#                 input_name=self.inputs[0].name(),
-#                 output_name=self.name
-#             ))
-
-#         return list_actions
-
-# @register("Transpose")
-# class Transpose_ARMCortexM(ExportNode):
-#     def __init__(self, node, board, library):
-#         super().__init__(node)
-
-#         self.board = board
-#         self.library = library
-#         self.dataformat = aidge_datatype2dataformat(node.get_operator().get_output(0).dtype())
-#         self.dtype = aidge_datatype2ctype(node.get_operator().get_output(0).dtype())
-#         self.perm =  node.get_operator().attr.output_dims_order
-
-#     def export(self, export_folder:Path, list_configs:list):
-
-#         list_configs.append(f"layers/{self.name}.h")
-
-#         export_params(f"{self.inputs[0].name()}_DIMS", np.array(self.inputs_dims[0],dtype=np.int32),export_folder / "dimensions" / f"{self.inputs[0].name()}_DIMS.h")
-#         list_configs.append(f"dimensions/{self.inputs[0].name()}_DIMS.h")
-
-#         export_params(f"{self.name}_PERMUTATIONS", np.array(self.perm,dtype=np.int32),export_folder / "dimensions" / f"{self.name}_PERMUTATIONS.h")
-#         list_configs.append(f"dimensions/{self.name}_PERMUTATIONS.h")
-
-#         export_params(f"{self.name}_DIMS", np.array(self.outputs_dims[0],dtype=np.int32),export_folder / "dimensions" / f"{self.name}_DIMS.h")
-#         list_configs.append(f"dimensions/{self.name}_DIMS.h")
-
-#         if self.library == "aidge":
-#             if self.dataformat == "float32":
-#                 copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "Transform" / "Transpose" / "aidge_transpose_chw_float32.c"),
-#                          str(export_folder / "src" / "kernels"))
-
-#             generate_file(
-#                 str(export_folder / "layers" / f"{self.name}.h"),
-#                 str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "transpose.jinja"),
-#                 name=self.name,
-#                 perm = self.perm,
-#                 input_dims=self.inputs_dims[0],
-#                 output_dims=self.outputs_dims[0],
-#                 nb_outputs=np.prod(self.outputs_dims[0])
-#             )
-
-#             # print(self.outputs_dims)
-
-#         return list_configs
-
-#     def forward(self, list_actions:list):
-
-#         if not self.is_last:
-#             list_actions.append(set_up_output(self.name, self.dtype))
-
-#         if self.library == "aidge":
-#             list_actions.append(generate_str(
-#                 str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "transpose.jinja"),
-#                 name=self.name,
-#                 dataformat=self.dataformat,
-#                 input_name=self.inputs[0].name(),
-#                 output_name=self.name
-#                 ))
-
-#         return list_actions
-- 
GitLab