diff --git a/aidge_export_arm_cortexm/operators.py b/aidge_export_arm_cortexm/operators.py index 63bb7d341863d7881d4454fc802736b16896d19c..bbc111d3d12845e8c20f3fc367d943b7fafa5eb5 100644 --- a/aidge_export_arm_cortexm/operators.py +++ b/aidge_export_arm_cortexm/operators.py @@ -56,7 +56,7 @@ class Producer_ARMCortexM(ExportNode): self.values = np.transpose(self.values, (0, 2, 3, 1)) def export(self, export_folder: Path): - header_path = f"include/parameters/{self.attributes['name']}.h" + header_path = f"include/parameters/{self.attributes['name']}.hpp" export_params( self.attributes['out_name'][0], self.values.reshape(-1), @@ -180,15 +180,15 @@ class Scaling(): @operator_register(ExportLibAidgeARM, "ReLU") class ReLU_ARMCortexM(ExportNodeCpp): def __init__(self, node, mem_info, is_input, is_output): - super().__init__(node) + super().__init__(node, mem_info, is_input, is_output) self.attributes["activation_type"] = "RELU" self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "relu.jinja") - self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "relu.jinja") + self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "relu.jinja") self.include_list = [] self.kernels_to_copy = [ - str(ROOT / "_Aidge_Arm" / "kernels" / "Activation" / "Relu" / "aidge_relu_float32.c"), + str(ROOT / "_Aidge_Arm" / "kernels" / "Relu" / "aidge_relu_float32.c"), ] @classmethod def exportable(cls, node): @@ -205,7 +205,7 @@ class Conv_ARMCortexM(ExportNodeCpp): self.attributes["padding"] = [0, 0] self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "conv_config.jinja") - self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "conv_kernel.jinja") + self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "conv_kernel.jinja") self.include_list = [] self.kernels_to_copy = [] @classmethod @@ -231,7 +231,7 @@ class PaddedConv_ARMCortexM(ExportNodeCpp): ).attr.dilation_dims self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "conv_config.jinja") - self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "conv_kernel.jinja") + self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "conv_kernel.jinja") self.include_list = [] self.kernels_to_copy = [] @classmethod @@ -251,7 +251,7 @@ class Pooling_ARMCortexM(ExportNodeCpp): self.attributes["padding"] = [0, 0] self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "pool_config.jinja") - self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "pool_kernel.jinja") + self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "pool_kernel.jinja") self.include_list = [] self.kernels_to_copy = [] self.kernel = node.get_operator().attr.kernel_dims @@ -271,7 +271,7 @@ class FC_ARMCortexM(ExportNodeCpp): self.attributes["padding"] = [0, 0] self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "fc_config.jinja") - self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "fc_kernel.jinja") + self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "fc_kernel.jinja") self.include_list = [] self.kernels_to_copy = [] @classmethod @@ -302,9 +302,11 @@ class FC_ARMCortexM(ExportNodeCpp): self.attributes["padding"] = [0, 0] self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "fc_config.jinja") - self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "fc_kernel.jinja") + self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "fc_kernel.jinja") self.include_list = [] - self.kernels_to_copy = [] + self.kernels_to_copy = [ + str(ROOT / "_Aidge_Arm" / "kernels" / "FullyConnected" / "Fc.hpp") + ] @operator_register(ExportLibAidgeARM, "Add") class Add_ARMCortexM(ExportNodeCpp): @@ -313,11 +315,11 @@ class Add_ARMCortexM(ExportNodeCpp): self.attributes["elemwise_op"] = "\"ADD\"" self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "elemwise.jinja") - self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "elemwise.jinja") + self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "elemwise.jinja") self.include_list = [] self.kernels_to_copy = [ - str(ROOT / "_Aidge_Arm" / "kernels" / "ElemWise" / "Add" / "aidge_add_float32.h"), - str(ROOT / "_Aidge_Arm" / "kernels" / "SupportFunctions" / "aidge_supportfunctions.h") + str(ROOT / "_Aidge_Arm" / "kernels" / "Add" / "aidge_add_float32.h"), + str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "aidge_supportfunctions.h") ] @operator_register(ExportLibAidgeARM, "Mul") @@ -327,11 +329,11 @@ class Mul_ARMCortexM(ExportNodeCpp): self.attributes["elemwise_op"] = "\"MUL\"" self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "elemwise.jinja") - self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "elemwise.jinja") + self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "elemwise.jinja") self.include_list = [] self.kernels_to_copy = [ - str(ROOT / "_Aidge_Arm" / "kernels" / "ElemWise" / "Add" / "aidge_mul_float32.h"), - str(ROOT / "_Aidge_Arm" / "kernels" / "SupportFunctions" / "aidge_supportfunctions.h") + str(ROOT / "_Aidge_Arm" / "kernels" / "Mul" / "aidge_mul_float32.h"), + str(ROOT / "_Aidge_Arm" / "kernels" / "Utils" / "aidge_supportfunctions.h") ] @operator_register(ExportLibAidgeARM, "Softmax") @@ -341,10 +343,10 @@ class Softmax_ARMCortexM(ExportNodeCpp): self.attributes["activation_type"] = "\"SOFTMAX\"" self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "activation.jinja") - self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "activation_chw.jinja") + self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "activation_chw.jinja") self.include_list = [] self.kernels_to_copy = [ - str(ROOT / "_Aidge_Arm" / "kernels" / "ElemWise" / "Add" / "aidge_softmax_chw_float32.h"), + str(ROOT / "_Aidge_Arm" / "kernels" / "Softmax" / "aidge_softmax_chw_float32.h"), ] @operator_register(ExportLibAidgeARM, "Sigmoid") @@ -354,10 +356,10 @@ class Sigmoid_ARMCortexM(ExportNodeCpp): self.attributes["activation_type"] = "\"SIGMOID\"" self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "activation.jinja") - self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "activation_chw.jinja") + self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "activation_chw.jinja") self.include_list = [] self.kernels_to_copy = [ - str(ROOT / "_Aidge_Arm" / "kernels" / "ElemWise" / "Add" / "aidge_sigmoid_float32.h"), + str(ROOT / "_Aidge_Arm" / "kernels" / "Sigmoid" / "aidge_sigmoid_float32.h"), ] @operator_register(ExportLibAidgeARM, "MatMul") @@ -366,10 +368,10 @@ class MatMul_ARMCortexM(ExportNodeCpp): super().__init__(node, mem_info, is_input, is_output) self.config_template = str(ROOT / "_Aidge_Arm" / "templates" / "configuration" / "matmul.jinja") - self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "matmul.jinja") + self.forward_template = str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "matmul.jinja") self.include_list = [] self.kernels_to_copy = [ - str(ROOT / "_Aidge_Arm" / "kernels" / "ElemWise" / "Add" / "aidge_matmul_chw_float32.h"), + str(ROOT / "_Aidge_Arm" / "kernels" / "Matmul" / "aidge_matmul_chw_float32.h"), ] @@ -443,7 +445,7 @@ class MatMul_ARMCortexM(ExportNodeCpp): # if self.library == "aidge": # list_actions.append(generate_str( -# str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "batchnorm2d.jinja"), +# str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "batchnorm2d.jinja"), # name=self.name, # dataformat=self.dataformat, # input_name=self.inputs[0].name(), @@ -492,7 +494,7 @@ class MatMul_ARMCortexM(ExportNodeCpp): # if self.library == "aidge": # list_actions.append(generate_str( -# str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "reshape.jinja"), +# str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "reshape.jinja"), # name=self.name, # dataformat=self.dataformat, # input_name=self.inputs[0].name(), @@ -548,7 +550,7 @@ class MatMul_ARMCortexM(ExportNodeCpp): # if self.library == "aidge": # list_actions.append(generate_str( -# str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "gather.jinja"), +# str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "gather.jinja"), # name=self.name, # dataformat=self.dataformat, # input_name=self.inputs[0].name(), @@ -607,7 +609,7 @@ class MatMul_ARMCortexM(ExportNodeCpp): # if self.library == "aidge": # list_actions.append(generate_str( -# str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "transpose.jinja"), +# str(ROOT / "_Aidge_Arm" / "templates" / "forward_call" / "transpose.jinja"), # name=self.name, # dataformat=self.dataformat, # input_name=self.inputs[0].name(),