Function arm_hard_swish_compat_s8¶
Defined in File arm_nnfunctions.h
Function Documentation¶
-
arm_cmsis_nn_status arm_hard_swish_compat_s8(const int8_t *input, const int32_t input_offset, const int32_t output_offset, const int32_t output_multiplier_fp, const int32_t output_multiplier_exp, const int32_t relu_multiplier_fp, const int32_t relu_multiplier_exp, int8_t *output, const int32_t output_size)¶
S8 Hard-Swish activation function (compatibility version)
This version is compatible with TFLite implementation of Hard-Swish. hires_input_scale = (1.0 / 128.0) * float(input_scale) relu_scale = 3.0 / 32768.0 out_mul_real = hires_input_scale / float(output_scale) output_multiplier_fp, output_multiplier_exp = to_q15_exp(out_mul_real) relu_multiplier_fp, relu_multiplier_exp = to_q15_exp(relu_scale)
- Parameters:
input – [in] Pointer to the input buffer
input_offset – [in] Input tensor zero offset
output_offset – [in] Output tensor zero offset
output_multiplier_fp – [in] Output multiplier in fixed point format
output_multiplier_exp – [in] Exponent for output multiplier
relu_multiplier_fp – [in] ReLU6 multiplier in fixed point format
relu_multiplier_exp – [in] Exponent for ReLU6 multiplier
output – [out] Pointer to the output buffer
output_size – [in] Number of elements in the tensor
- Returns:
The function returns ARM_MATH_SUCCESS