Function arm_convolve_1_x_n_s8_get_buffer_size

Function Documentation

int32_t arm_convolve_1_x_n_s8_get_buffer_size(const cmsis_nn_conv_params *conv_params, const cmsis_nn_dims *input_dims, const cmsis_nn_dims *filter_dims, const cmsis_nn_dims *output_dims)

Get the required additional buffer size for 1xn convolution.

Parameters:
  • conv_params[in] Convolution parameters (e.g. strides, dilations, pads,…). Range of conv_params->input_offset : [-127, 128] Range of conv_params->output_offset : [-128, 127]

  • input_dims[in] Input (activation) tensor dimensions. Format: [N, H, W, C_IN]

  • filter_dims[in] Filter tensor dimensions. Format: [C_OUT, 1, WK, C_IN] where WK is the horizontal spatial filter dimension

  • output_dims[in] Output tensor dimensions. Format: [N, H, W, C_OUT]

Returns:

The function returns required buffer size in bytes, or -1 if any dimension it reads is negative or conv_params->stride.w is not positive. On builds that need this scratch buffer it also returns -1 if the required size would not fit in an int32_t; other builds need no buffer and return 0.