Function arm_transpose_conv_wrapper_s8

Function Documentation

arm_cmsis_nn_status arm_transpose_conv_wrapper_s8(const cmsis_nn_context *ctx, const cmsis_nn_context *weight_sum_ctx, const cmsis_nn_context *output_ctx, const cmsis_nn_transpose_conv_params *transpose_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 to select optimal transposed convolution algorithm depending on parameters.

  1. Supported framework: TensorFlow Lite micro

  2. Additional memory is required for optimization. Refer to arguments ‘ctx’ and ‘output_ctx’ for details.

Parameters:
  • ctx[inout] Function context that contains the additional buffer if required by the function.

  • weight_sum_ctx[inout] Function context that contains the weight sum buffer if required by the function. arm_transpose_conv_s8_get_buffer_size will return the buffer_size if required. The caller is expected to clear the buffer, if applicable, for security reasons.

  • output_ctx[inout] Temporary scratch buffer. The size required size is: output width * output height * output channel * 4 The caller is expected to clear the buffer, if applicable, for security reasons.

  • transpose_conv_params[in] Convolution parameters (e.g. strides, dilations, pads,…). Range of transpose_conv_params->input_offset : [-127, 128] Range of transpose_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 out channel.

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

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

  • filter_dims[in] Filter tensor dimensions. Format: [C_OUT, HK, WK, C_IN] where HK and WK are the spatial filter dimensions

  • filter_data[in] Filter data pointer. Data type: int8

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

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

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

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

Returns:

The function returns either ARM_CMSIS_NN_ARG_ERROR if argument constraints fail. or, ARM_CMSIS_NN_SUCCESS on successful completion.