├── .github └── workflows │ └── upload_component.yml ├── .gitignore ├── .gitlab-ci.yml ├── CMakeLists.txt ├── CONTRIBUTING.md ├── Kconfig.projbuild ├── LICENSE ├── README.md ├── idf_component.yml ├── include ├── esp_nn.h ├── esp_nn_ansi_c.h ├── esp_nn_ansi_headers.h ├── esp_nn_defs.h ├── esp_nn_esp32p4.h ├── esp_nn_esp32s3.h └── esp_nn_generic_opt.h ├── src ├── activation_functions │ ├── esp_nn_relu_ansi.c │ └── esp_nn_relu_s8_esp32s3.S ├── basic_math │ ├── esp_nn_add_ansi.c │ ├── esp_nn_add_s8_esp32s3.S │ ├── esp_nn_mul_ansi.c │ └── esp_nn_mul_s8_esp32s3.S ├── common │ ├── common_functions.h │ ├── esp_nn_common_functions_esp32s3.S │ ├── esp_nn_multiply_by_quantized_mult_esp32s3.S │ └── esp_nn_multiply_by_quantized_mult_ver1_esp32s3.S ├── convolution │ ├── esp_nn_conv_ansi.c │ ├── esp_nn_conv_esp32p4.c │ ├── esp_nn_conv_esp32s3.c │ ├── esp_nn_conv_opt.c │ ├── esp_nn_conv_s16_mult4_1x1_esp32s3.S │ ├── esp_nn_conv_s16_mult8_esp32s3.S │ ├── esp_nn_conv_s8_filter_aligned_input_padded_esp32s3.S │ ├── esp_nn_conv_s8_mult8_1x1_esp32s3.S │ ├── esp_nn_depthwise_conv_ansi.c │ ├── esp_nn_depthwise_conv_opt.c │ ├── esp_nn_depthwise_conv_s16_mult1_3x3_esp32s3.S │ ├── esp_nn_depthwise_conv_s16_mult1_3x3_no_pad_esp32s3.S │ ├── esp_nn_depthwise_conv_s16_mult1_esp32s3.S │ ├── esp_nn_depthwise_conv_s16_mult4_esp32s3.S │ ├── esp_nn_depthwise_conv_s16_mult8_3x3_esp32s3.S │ ├── esp_nn_depthwise_conv_s16_mult8_esp32s3.S │ ├── esp_nn_depthwise_conv_s8_esp32s3.c │ └── esp_nn_depthwise_conv_s8_mult1_3x3_padded_esp32s3.S ├── fully_connected │ ├── esp_nn_fully_connected_ansi.c │ ├── esp_nn_fully_connected_per_ch_s8_esp32s3.S │ └── esp_nn_fully_connected_s8_esp32s3.S ├── pooling │ ├── esp_nn_avg_pool_ansi.c │ ├── esp_nn_avg_pool_s8_esp32s3.S │ ├── esp_nn_max_pool_ansi.c │ └── esp_nn_max_pool_s8_esp32s3.S └── softmax │ ├── esp_nn_softmax_ansi.c │ ├── esp_nn_softmax_opt.c │ └── softmax_common.h ├── test_app ├── CMakeLists.txt ├── Makefile ├── main │ ├── CMakeLists.txt │ ├── component.mk │ └── main.c ├── sdkconfig.defaults ├── sdkconfig.defaults.esp32p4 └── sdkconfig.defaults.esp32s3 └── tests ├── CMakeLists.txt ├── README.md ├── component.mk ├── include ├── test_functions.h └── test_utils.h └── src ├── basic_math_test.c ├── convolution_test.c ├── fully_connected_test.c ├── pooling_test.c ├── relu_test.c └── softmax_test.c /.github/workflows/upload_component.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/.github/workflows/upload_component.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/.gitlab-ci.yml -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Kconfig.projbuild: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/Kconfig.projbuild -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/README.md -------------------------------------------------------------------------------- /idf_component.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/idf_component.yml -------------------------------------------------------------------------------- /include/esp_nn.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/include/esp_nn.h -------------------------------------------------------------------------------- /include/esp_nn_ansi_c.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/include/esp_nn_ansi_c.h -------------------------------------------------------------------------------- /include/esp_nn_ansi_headers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/include/esp_nn_ansi_headers.h -------------------------------------------------------------------------------- /include/esp_nn_defs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/include/esp_nn_defs.h -------------------------------------------------------------------------------- /include/esp_nn_esp32p4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/include/esp_nn_esp32p4.h -------------------------------------------------------------------------------- /include/esp_nn_esp32s3.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/include/esp_nn_esp32s3.h -------------------------------------------------------------------------------- /include/esp_nn_generic_opt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/include/esp_nn_generic_opt.h -------------------------------------------------------------------------------- /src/activation_functions/esp_nn_relu_ansi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/activation_functions/esp_nn_relu_ansi.c -------------------------------------------------------------------------------- /src/activation_functions/esp_nn_relu_s8_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/activation_functions/esp_nn_relu_s8_esp32s3.S -------------------------------------------------------------------------------- /src/basic_math/esp_nn_add_ansi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/basic_math/esp_nn_add_ansi.c -------------------------------------------------------------------------------- /src/basic_math/esp_nn_add_s8_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/basic_math/esp_nn_add_s8_esp32s3.S -------------------------------------------------------------------------------- /src/basic_math/esp_nn_mul_ansi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/basic_math/esp_nn_mul_ansi.c -------------------------------------------------------------------------------- /src/basic_math/esp_nn_mul_s8_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/basic_math/esp_nn_mul_s8_esp32s3.S -------------------------------------------------------------------------------- /src/common/common_functions.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/common/common_functions.h -------------------------------------------------------------------------------- /src/common/esp_nn_common_functions_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/common/esp_nn_common_functions_esp32s3.S -------------------------------------------------------------------------------- /src/common/esp_nn_multiply_by_quantized_mult_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/common/esp_nn_multiply_by_quantized_mult_esp32s3.S -------------------------------------------------------------------------------- /src/common/esp_nn_multiply_by_quantized_mult_ver1_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/common/esp_nn_multiply_by_quantized_mult_ver1_esp32s3.S -------------------------------------------------------------------------------- /src/convolution/esp_nn_conv_ansi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_conv_ansi.c -------------------------------------------------------------------------------- /src/convolution/esp_nn_conv_esp32p4.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_conv_esp32p4.c -------------------------------------------------------------------------------- /src/convolution/esp_nn_conv_esp32s3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_conv_esp32s3.c -------------------------------------------------------------------------------- /src/convolution/esp_nn_conv_opt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_conv_opt.c -------------------------------------------------------------------------------- /src/convolution/esp_nn_conv_s16_mult4_1x1_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_conv_s16_mult4_1x1_esp32s3.S -------------------------------------------------------------------------------- /src/convolution/esp_nn_conv_s16_mult8_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_conv_s16_mult8_esp32s3.S -------------------------------------------------------------------------------- /src/convolution/esp_nn_conv_s8_filter_aligned_input_padded_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_conv_s8_filter_aligned_input_padded_esp32s3.S -------------------------------------------------------------------------------- /src/convolution/esp_nn_conv_s8_mult8_1x1_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_conv_s8_mult8_1x1_esp32s3.S -------------------------------------------------------------------------------- /src/convolution/esp_nn_depthwise_conv_ansi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_depthwise_conv_ansi.c -------------------------------------------------------------------------------- /src/convolution/esp_nn_depthwise_conv_opt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_depthwise_conv_opt.c -------------------------------------------------------------------------------- /src/convolution/esp_nn_depthwise_conv_s16_mult1_3x3_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_depthwise_conv_s16_mult1_3x3_esp32s3.S -------------------------------------------------------------------------------- /src/convolution/esp_nn_depthwise_conv_s16_mult1_3x3_no_pad_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_depthwise_conv_s16_mult1_3x3_no_pad_esp32s3.S -------------------------------------------------------------------------------- /src/convolution/esp_nn_depthwise_conv_s16_mult1_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_depthwise_conv_s16_mult1_esp32s3.S -------------------------------------------------------------------------------- /src/convolution/esp_nn_depthwise_conv_s16_mult4_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_depthwise_conv_s16_mult4_esp32s3.S -------------------------------------------------------------------------------- /src/convolution/esp_nn_depthwise_conv_s16_mult8_3x3_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_depthwise_conv_s16_mult8_3x3_esp32s3.S -------------------------------------------------------------------------------- /src/convolution/esp_nn_depthwise_conv_s16_mult8_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_depthwise_conv_s16_mult8_esp32s3.S -------------------------------------------------------------------------------- /src/convolution/esp_nn_depthwise_conv_s8_esp32s3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_depthwise_conv_s8_esp32s3.c -------------------------------------------------------------------------------- /src/convolution/esp_nn_depthwise_conv_s8_mult1_3x3_padded_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/convolution/esp_nn_depthwise_conv_s8_mult1_3x3_padded_esp32s3.S -------------------------------------------------------------------------------- /src/fully_connected/esp_nn_fully_connected_ansi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/fully_connected/esp_nn_fully_connected_ansi.c -------------------------------------------------------------------------------- /src/fully_connected/esp_nn_fully_connected_per_ch_s8_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/fully_connected/esp_nn_fully_connected_per_ch_s8_esp32s3.S -------------------------------------------------------------------------------- /src/fully_connected/esp_nn_fully_connected_s8_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/fully_connected/esp_nn_fully_connected_s8_esp32s3.S -------------------------------------------------------------------------------- /src/pooling/esp_nn_avg_pool_ansi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/pooling/esp_nn_avg_pool_ansi.c -------------------------------------------------------------------------------- /src/pooling/esp_nn_avg_pool_s8_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/pooling/esp_nn_avg_pool_s8_esp32s3.S -------------------------------------------------------------------------------- /src/pooling/esp_nn_max_pool_ansi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/pooling/esp_nn_max_pool_ansi.c -------------------------------------------------------------------------------- /src/pooling/esp_nn_max_pool_s8_esp32s3.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/pooling/esp_nn_max_pool_s8_esp32s3.S -------------------------------------------------------------------------------- /src/softmax/esp_nn_softmax_ansi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/softmax/esp_nn_softmax_ansi.c -------------------------------------------------------------------------------- /src/softmax/esp_nn_softmax_opt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/softmax/esp_nn_softmax_opt.c -------------------------------------------------------------------------------- /src/softmax/softmax_common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/src/softmax/softmax_common.h -------------------------------------------------------------------------------- /test_app/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/test_app/CMakeLists.txt -------------------------------------------------------------------------------- /test_app/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/test_app/Makefile -------------------------------------------------------------------------------- /test_app/main/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/test_app/main/CMakeLists.txt -------------------------------------------------------------------------------- /test_app/main/component.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/test_app/main/component.mk -------------------------------------------------------------------------------- /test_app/main/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/test_app/main/main.c -------------------------------------------------------------------------------- /test_app/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # esp-nn 4 | # 5 | CONFIG_NN_ESP32=y 6 | -------------------------------------------------------------------------------- /test_app/sdkconfig.defaults.esp32p4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/test_app/sdkconfig.defaults.esp32p4 -------------------------------------------------------------------------------- /test_app/sdkconfig.defaults.esp32s3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/test_app/sdkconfig.defaults.esp32s3 -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/tests/CMakeLists.txt -------------------------------------------------------------------------------- /tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/tests/README.md -------------------------------------------------------------------------------- /tests/component.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/tests/component.mk -------------------------------------------------------------------------------- /tests/include/test_functions.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/tests/include/test_functions.h -------------------------------------------------------------------------------- /tests/include/test_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/tests/include/test_utils.h -------------------------------------------------------------------------------- /tests/src/basic_math_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/tests/src/basic_math_test.c -------------------------------------------------------------------------------- /tests/src/convolution_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/tests/src/convolution_test.c -------------------------------------------------------------------------------- /tests/src/fully_connected_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/tests/src/fully_connected_test.c -------------------------------------------------------------------------------- /tests/src/pooling_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/tests/src/pooling_test.c -------------------------------------------------------------------------------- /tests/src/relu_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/tests/src/relu_test.c -------------------------------------------------------------------------------- /tests/src/softmax_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-nn/HEAD/tests/src/softmax_test.c --------------------------------------------------------------------------------