diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Activation/Softmax/aidge_softmax_float32.c b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Activation/Softmax/aidge_softmax_chw_float32.c similarity index 95% rename from aidge_export_arm_cortexm/_Aidge_Arm/kernels/Activation/Softmax/aidge_softmax_float32.c rename to aidge_export_arm_cortexm/_Aidge_Arm/kernels/Activation/Softmax/aidge_softmax_chw_float32.c index cafa9e46ae946d274b815b3c21adcd8469185742..93d710e5955f478e11ead1c7f848dc5d716b28f0 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Activation/Softmax/aidge_softmax_float32.c +++ b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Activation/Softmax/aidge_softmax_chw_float32.c @@ -1,6 +1,6 @@ #include <math.h> -void aidge_softmax_float32 (float* inputs, +void aidge_softmax_chw_float32 (float* inputs, float* outputs, int inputDims[], int axis, diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/BatchNorm/aidge_batchnorm2d_float32.c b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/BatchNorm/aidge_batchnorm2d_chw_float32.c similarity index 94% rename from aidge_export_arm_cortexm/_Aidge_Arm/kernels/BatchNorm/aidge_batchnorm2d_float32.c rename to aidge_export_arm_cortexm/_Aidge_Arm/kernels/BatchNorm/aidge_batchnorm2d_chw_float32.c index a6d65b2ae2b6f557de349cc72d84496ad5215d3a..62cc292e3e29bf81fbb878659899f8aa0d591f45 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/BatchNorm/aidge_batchnorm2d_float32.c +++ b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/BatchNorm/aidge_batchnorm2d_chw_float32.c @@ -1,7 +1,7 @@ #include <math.h> -void aidge_batchnorm2d_float32 (float* inputs, +void aidge_batchnorm2d_chw_float32 (float* inputs, float* outputs, float* input_mean, float* input_var, diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/MatMul/aidge_matmul_float32.c b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/MatMul/aidge_matmul_chw_float32.c similarity index 98% rename from aidge_export_arm_cortexm/_Aidge_Arm/kernels/MatMul/aidge_matmul_float32.c rename to aidge_export_arm_cortexm/_Aidge_Arm/kernels/MatMul/aidge_matmul_chw_float32.c index a28659ab7dce21dddb8f0ea28144649184749705..764d3d046e969227665a2bf55ef9e2c66fbf4b4f 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/MatMul/aidge_matmul_float32.c +++ b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/MatMul/aidge_matmul_chw_float32.c @@ -1,4 +1,4 @@ -void aidge_matmul_float32(float* input_a, +void aidge_matmul_chw_float32(float* input_a, float* input_b, float* output, int dim_a[], diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Reshape/aidge_reshape_float32.c b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Reshape/aidge_reshape_chw_float32.c similarity index 78% rename from aidge_export_arm_cortexm/_Aidge_Arm/kernels/Reshape/aidge_reshape_float32.c rename to aidge_export_arm_cortexm/_Aidge_Arm/kernels/Reshape/aidge_reshape_chw_float32.c index 8ddbef43832c7221d811e5e4e9c0f0a949efec6d..e55d77c7cf43cb2fee719a24b835797175ebbfab 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Reshape/aidge_reshape_float32.c +++ b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Reshape/aidge_reshape_chw_float32.c @@ -1,5 +1,5 @@ -void aidge_reshape_float32(float* inputs, +void aidge_reshape_chw_float32(float* inputs, float* outputs, unsigned int size) { diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Transform/Gather/aidge_gather_float32.c b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Transform/Gather/aidge_gather_chw_float32.c similarity index 96% rename from aidge_export_arm_cortexm/_Aidge_Arm/kernels/Transform/Gather/aidge_gather_float32.c rename to aidge_export_arm_cortexm/_Aidge_Arm/kernels/Transform/Gather/aidge_gather_chw_float32.c index 71abc521c1d007ae8ea1dc9c38be1d94ac6f5e81..62fee42da890f2a07aa8cc4a943ce1ad017c2534 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Transform/Gather/aidge_gather_float32.c +++ b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Transform/Gather/aidge_gather_chw_float32.c @@ -1,6 +1,6 @@ -void aidge_gather_float32 (float* inputs, +void aidge_gather_chw_float32 (float* inputs, float* outputs, int axis, int indices[], diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Transform/Transpose/aidge_transpose_float32.c b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Transform/Transpose/aidge_transpose_chw_float32.c similarity index 94% rename from aidge_export_arm_cortexm/_Aidge_Arm/kernels/Transform/Transpose/aidge_transpose_float32.c rename to aidge_export_arm_cortexm/_Aidge_Arm/kernels/Transform/Transpose/aidge_transpose_chw_float32.c index 2256ecdc9ac2f6ca2fa703cd86e4149f2db8a817..7b0313abced3b30f98853e3f0c2557562b0f27a3 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Transform/Transpose/aidge_transpose_float32.c +++ b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Transform/Transpose/aidge_transpose_chw_float32.c @@ -1,4 +1,4 @@ -void aidge_transpose_float32 (float* inputs, +void aidge_transpose_chw_float32 (float* inputs, float* outputs, int input_dims[], int perm[], diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/activation_chw.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/activation_chw.jinja new file mode 100644 index 0000000000000000000000000000000000000000..796a3718483e4fe995e9904c3faeb24693ad5431 --- /dev/null +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/activation_chw.jinja @@ -0,0 +1 @@ + aidge_{{activation_type|lower}}_chw_{{dataformat}}({{input_name}}, {{output_name}}, {% if activation_type is eq('softmax') %} {{input_name}}_DIMS, {{name|upper}}_AXIS, {{name|upper}}_INPUT_DIMS_SIZE,{% endif %} {{name|upper}}_OUTPUTS_SIZE); \ No newline at end of file diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/batchnorm2d.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/batchnorm2d.jinja index da6ff8918c47c866361b2ff3588228e643cf00a9..5e7c73c8e55233b2c3d93c99fe3dc6e7682fe503 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/batchnorm2d.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/batchnorm2d.jinja @@ -1 +1 @@ -aidge_batchnorm2d_{{dataformat}} ({{input_name}}, {{output_name}}, {{running_mean_name}}, {{running_var_name}}, {{weight_name}}, {{bias_name}}, {{ name|upper }}_EPSILON, {{ name|upper }}_NB_CHANNELS, {{ name|upper }}_CHANNELS_WIDTH, {{ name|upper }}_CHANNELS_HEIGHT); \ No newline at end of file +aidge_batchnorm2d_chw_{{dataformat}} ({{input_name}}, {{output_name}}, {{running_mean_name}}, {{running_var_name}}, {{weight_name}}, {{bias_name}}, {{ name|upper }}_EPSILON, {{ name|upper }}_NB_CHANNELS, {{ name|upper }}_CHANNELS_WIDTH, {{ name|upper }}_CHANNELS_HEIGHT); \ No newline at end of file diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/gather.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/gather.jinja index 5abb0b497a8156f8fcbc2a4740671bf46ac4f8b7..f709c8699dbe75793df18d8e341010b3793b8ad6 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/gather.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/gather.jinja @@ -1 +1 @@ -aidge_gather_{{dataformat}} ({{input_name}}, {{output_name}}, {{name|upper}}_AXIS, {{name}}_INDEXES , {{input_name}}_DIMS, {{name|upper}}_INPUT_DIMS_SIZE,{{name|upper}}_INDEXES_DIMS_SIZE,{{name|upper}}_OUTPUT_SIZE); \ No newline at end of file +aidge_gather_chw_{{dataformat}} ({{input_name}}, {{output_name}}, {{name|upper}}_AXIS, {{name}}_INDEXES , {{input_name}}_DIMS, {{name|upper}}_INPUT_DIMS_SIZE,{{name|upper}}_INDEXES_DIMS_SIZE,{{name|upper}}_OUTPUT_SIZE); \ No newline at end of file diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/matmul.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/matmul.jinja index b9315fe441823a297934a2e42deb53d22bd98f8e..15ff05fec3bb40332ac7968d20f594009f7903a4 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/matmul.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/matmul.jinja @@ -1 +1 @@ -aidge_matmul_{{dataformat}} ({{inputa_name}}, {{inputb_name}}, {{output_name}}, {{inputa_name}}_DIMS, {{inputb_name}}_DIMS, {{output_name}}_DIMS ,{{name|upper}}_INPUT_A_DIMS_SIZE,{{name|upper}}_INPUT_B_DIMS_SIZE,{{name|upper}}_OUTPUT_DIMS_SIZE); \ No newline at end of file +aidge_matmul_chw_{{dataformat}} ({{inputa_name}}, {{inputb_name}}, {{output_name}}, {{inputa_name}}_DIMS, {{inputb_name}}_DIMS, {{output_name}}_DIMS ,{{name|upper}}_INPUT_A_DIMS_SIZE,{{name|upper}}_INPUT_B_DIMS_SIZE,{{name|upper}}_OUTPUT_DIMS_SIZE); \ No newline at end of file diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/reshape.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/reshape.jinja index 839624da766dab0ff1e4d2c1e5659c342afca796..059e90e33512c1d0ba8da8b716e78e375b28eda6 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/reshape.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/reshape.jinja @@ -1 +1 @@ -aidge_reshape_{{dataformat}}({{input_name}}, {{output_name}}, {{name|upper}}_OUTPUTS_SIZE); \ No newline at end of file +aidge_reshape_chw_{{dataformat}}({{input_name}}, {{output_name}}, {{name|upper}}_OUTPUTS_SIZE); \ No newline at end of file diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/transpose.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/transpose.jinja index 91c266e1f2bdb0d1c8fc07967ebada7232c7e688..748cc71ac86c31d32bf93396dfd9796948355bbc 100644 --- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/transpose.jinja +++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/kernel/transpose.jinja @@ -1 +1 @@ -aidge_transpose_{{dataformat}} ({{input_name}}, {{output_name}},{{input_name}}_DIMS, {{name}}_PERMUTATIONS, {{output_name}}_DIMS, {{name|upper}}_OUTPUT_DIMS_SIZE, {{name|upper}}_OUTPUT_SIZE); \ No newline at end of file +aidge_transpose_chw_{{dataformat}} ({{input_name}}, {{output_name}},{{input_name}}_DIMS, {{name}}_PERMUTATIONS, {{output_name}}_DIMS, {{name|upper}}_OUTPUT_DIMS_SIZE, {{name|upper}}_OUTPUT_SIZE); \ No newline at end of file diff --git a/aidge_export_arm_cortexm/operators.py b/aidge_export_arm_cortexm/operators.py index f9520fefa11d6fdb6c7300cae7e5530cb5af0032..2cafd333c1603c0ddcec76b02851d24f0b0cba45 100644 --- a/aidge_export_arm_cortexm/operators.py +++ b/aidge_export_arm_cortexm/operators.py @@ -596,7 +596,6 @@ class FC_ARMCortexM(ExportNode): # # transform to [nb_outputs, 1, 1] # self.outputs_dims[0] = [self.outputs_dims[0][1], 1, 1] - def export(self, export_folder:Path, list_configs:list): # Export weights to NHWC format @@ -873,7 +872,7 @@ class Softmax_ARMCortexM(ExportNode): if self.library == "aidge": if self.dataformat == "float32": - copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "Activation" / "Softmax" / "aidge_softmax_float32.c"), + copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "Activation" / "Softmax" / "aidge_softmax_chw_float32.c"), str(export_folder / "src" / "kernels")) generate_file( @@ -895,7 +894,7 @@ class Softmax_ARMCortexM(ExportNode): if self.library == "aidge": list_actions.append(generate_str( - str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "activation.jinja"), + str(ROOT / "_Aidge_Arm" / "templates" / "kernel" / "activation_chw.jinja"), name=self.name, activation_type="softmax", dataformat=self.dataformat, @@ -933,7 +932,7 @@ class BatchNorm2D_ARMCortexM(ExportNode): if self.library == "aidge": if self.dataformat == "float32": - copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "BatchNorm" / "aidge_batchnorm2d_float32.c"), + copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "BatchNorm" / "aidge_batchnorm2d_chw_float32.c"), str(export_folder / "src" / "kernels")) generate_file( @@ -1028,7 +1027,7 @@ class Reshape_ARMCortexM(ExportNode): if self.library == "aidge": if self.dataformat == "float32": - copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "Reshape" / "aidge_reshape_float32.c"), + copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "Reshape" / "aidge_reshape_chw_float32.c"), str(export_folder / "src" / "kernels")) generate_file( @@ -1091,7 +1090,7 @@ class Matmul_ARMCortexM(ExportNode): if self.library == "aidge": if self.dataformat == "float32": - copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "MatMul" / "aidge_matmul_float32.c"), + copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "MatMul" / "aidge_matmul_chw_float32.c"), str(export_folder / "src" / "kernels")) copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "SupportFunctions" / "aidge_supportfunctions.h"), str(Path(export_folder) / "include")) @@ -1146,7 +1145,7 @@ class Gather_ARMCortexM(ExportNode): if self.library == "aidge": if self.dataformat == "float32": - copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "Transform" / "Gather" / "aidge_gather_float32.c"), + copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "Transform" / "Gather" / "aidge_gather_chw_float32.c"), str(export_folder / "src" / "kernels")) generate_file( @@ -1203,7 +1202,7 @@ class Transpose_ARMCortexM(ExportNode): if self.library == "aidge": if self.dataformat == "float32": - copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "Transform" / "Transpose" / "aidge_transpose_float32.c"), + copyfile(str(ROOT / "_Aidge_Arm" / "kernels" / "Transform" / "Transpose" / "aidge_transpose_chw_float32.c"), str(export_folder / "src" / "kernels")) generate_file(