@@ -33,7 +33,36 @@ typedef struct AvgPoolParams{
DNNPaddingParam padding_method;
} AvgPoolParams;
+/**
+ * @brief Load Average Pooling Layer.
+ *
+ * It assigns the layer parameters to the hyperparameters
+ * like strides, padding method, and kernel size after
+ * parsing from the model file context.
+ *
+ * @param layer pointer to the DNN layer instance
+ * @param model_file_context pointer to model file context
+ * @param file_size model file size to check if data is read
+ * correctly from the model file
+ * @param operands_num operand count of the whole model to
+ * check if data is read correctly from the model file
+ * @return number of bytes read from the model file
+ * @retval 0 if out of memory or an error occurs
+ */
int ff_dnn_load_layer_avg_pool(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num);
+
+/**
+ * @brief Execute the Average Pooling Layer.
+ * Padding in channel dimensions is currently not supported.
+ *
+ * @param operands all operands for the model
+ * @param input_operand_indexes input operand indexes for this layer
+ * @param output_operand_index output operand index for this layer
+ * @param parameters average pooling parameters
+ * @param ctx pointer to Native model context for logging
+ * @retval 0 if the execution succeeds
+ * @retval DNN_ERROR if the execution fails
+ */
int ff_dnn_execute_layer_avg_pool(DnnOperand *operands, const int32_t *input_operand_indexes,
int32_t output_operand_index, const void *parameters, NativeContext *ctx);
Add documentation for Average Pool Layer Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com> --- .../dnn/dnn_backend_native_layer_avgpool.h | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+)