Function arm_transpose_conv_s8_get_buffer_size

Function Documentation

int32_t arm_transpose_conv_s8_get_buffer_size(const cmsis_nn_transpose_conv_params *transposed_conv_params, const cmsis_nn_dims *input_dims, const cmsis_nn_dims *filter_dims, const cmsis_nn_dims *out_dims)

Get the required buffer size for ctx in s8 transpose conv function.

The returned size is safe for both arm_transpose_conv_s8() and arm_transpose_conv_wrapper_s8(): it is the larger of the two routes’ requirements, so it may exceed what the wrapper’s reverse-convolution route alone would need. When either route is out of range the sentinel is propagated ahead of that comparison, so -1 is never collapsed into a plausible positive size by the other route.

Parameters:
  • transposed_conv_params[in] Transposed convolution parameters

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

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

  • out_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, either stride is not positive, or the required size would not fit in an int32_t