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