Function arm_depthwise_conv_wrapper_s4

Function Documentation

arm_cmsis_nn_status arm_depthwise_conv_wrapper_s4(const cmsis_nn_context *ctx, const cmsis_nn_dw_conv_params *dw_conv_params, const cmsis_nn_per_channel_quant_params *quant_params, const cmsis_nn_dims *input_dims, const int8_t *input_data, const cmsis_nn_dims *filter_dims, const int8_t *filter_data, const cmsis_nn_dims *bias_dims, const int32_t *bias_data, const cmsis_nn_dims *output_dims, int8_t *output_data)

Wrapper function to pick the right optimized s4 depthwise convolution function.

  • Supported framework: TensorFlow Lite

Parameters:
  • ctx[inout] Function context (e.g. temporary buffer). Check the function definition file to see if an additional buffer is required. Optional function {API}_get_buffer_size() provides the buffer size if required. The caller is expected to clear the buffer ,if applicable, for security reasons.

  • dw_conv_params[in] Depthwise convolution parameters (e.g. strides, dilations, pads,…) dw_conv_params->dilation is not used. Range of dw_conv_params->input_offset : [-127, 128] Range of dw_conv_params->output_offset : [-128, 127]

  • quant_params[in] Per-channel quantization info. It contains the multiplier and shift values to be applied to each output channel

  • input_dims[in] Input (activation) tensor dimensions. Format: [H, W, C_IN] Batch argument N is not used and assumed to be 1.

  • input_data[in] Input (activation) data pointer. Data type: int8

  • filter_dims[in] Filter tensor dimensions. Format: [1, H, W, C_OUT]

  • filter_data[in] Filter data pointer. Data type: int8_t packed 4-bit weights, e.g four sequential weights [0x1, 0x2, 0x3, 0x4] packed as [0x21, 0x43].

  • bias_dims[in] Bias tensor dimensions. Format: [C_OUT]

  • bias_data[in] Bias data pointer. Data type: int32

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

  • output_data[inout] Output data pointer. Data type: int8

Returns:

The function returns ARM_CMSIS_NN_SUCCESS - Successful completion.