Function arm_convolve_f16

Function Documentation

arm_cmsis_nn_status arm_convolve_f16(const cmsis_nn_context *ctx, const cmsis_nn_conv_params_f16 *conv_params, const cmsis_nn_dims *input_dims, const float16_t *input_data, const cmsis_nn_dims *filter_dims, const float16_t *filter_data, const cmsis_nn_dims *bias_dims, const float16_t *bias_data, const cmsis_nn_dims *output_dims, float16_t *output_data, arm_nn_tensor_layout layout)

Convolution, dispatch by layout.

Note

When conv_params->weight_format is set to ARM_NN_WEIGHT_FORMAT_NT_N_PACKED, the matmul-backed convolution paths interpret filter_data as an already prepacked NTxN RHS buffer instead of the standard public filter layout.

Parameters:
  • ctx[inout] Function context that may hold a temporary scratch buffer.

  • conv_params[in] Convolution parameters (stride, padding, dilation and activation clamp).

  • input_dims[in] Input tensor dimensions. Format depends on layout.

  • input_data[in] Pointer to the input tensor data.

  • filter_dims[in] Filter tensor dimensions. Format depends on layout.

  • filter_data[in] Pointer to the filter tensor data.

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

  • bias_data[in] Optional bias tensor data.

  • output_dims[in] Output tensor dimensions. Format depends on layout.

  • output_data[out] Pointer to the output tensor data.

  • layout[in] Tensor layout selector. Current float APIs require ARM_NN_LAYOUT_NHWC.

Returns:

ARM_CMSIS_NN_SUCCESS on success or ARM_CMSIS_NN_ARG_ERROR on invalid arguments.