Function arm_softmax_s16

Function Documentation

arm_cmsis_nn_status arm_softmax_s16(const int16_t *input, const int32_t num_rows, const int32_t row_size, const int32_t mult, const int32_t shift, const cmsis_nn_softmax_lut_s16 *softmax_params, int16_t *output)

S16 softmax function.

Note

Supported framework: TensorFlow Lite micro (bit-accurate)

Parameters:
  • input[in] Pointer to the input tensor

  • num_rows[in] Number of rows in the input tensor

  • row_size[in] Number of elements in each input row

  • mult[in] Input quantization multiplier

  • shift[in] Input quantization shift within the range [0, 31]

  • softmax_params[in] Softmax s16 layer parameters with two pointers to LUTs speficied below. For indexing the high 9 bits are used and 7 remaining for interpolation. That means 512 entries for the 9-bit indexing and 1 extra for interpolation, i.e. 513 values for each LUT.

    • Lookup table for exp(x), where x uniform distributed between [-10.0 , 0.0]

    • Lookup table for 1 / (1 + x), where x uniform distributed between [0.0 , 1.0]

  • output[out] Pointer to the output tensor

Returns:

The function returns ARM_CMSIS_NN_ARG_ERROR Argument error check failed ARM_CMSIS_NN_SUCCESS - Successful operation