CMSIS-NN
Version 3.1.0
CMSIS NN Software Library
|
Functions | |
q15_t * | arm_nn_mat_mult_kernel_s16 (const q7_t *input_a, const q15_t *input_b, const int32_t output_ch, const int32_t *out_shift, const int32_t *out_mult, const int16_t activation_min, const int16_t activation_max, const int32_t num_col_a, const int64_t *const output_bias, q15_t *out_0) |
Matrix-multiplication function for convolution with per-channel requantization for 16 bits convolution. More... | |
q15_t* arm_nn_mat_mult_kernel_s16 | ( | const q7_t * | input_a, |
const q15_t * | input_b, | ||
const int32_t | output_ch, | ||
const int32_t * | out_shift, | ||
const int32_t * | out_mult, | ||
const int16_t | activation_min, | ||
const int16_t | activation_max, | ||
const int32_t | num_col_a, | ||
const int64_t *const | output_bias, | ||
q15_t * | out_0 | ||
) |
[in] | input_a | pointer to operand A |
[in] | input_b | pointer to operand B, always consists of 2 vectors. |
[in] | output_ch | number of rows of A |
[in] | out_shift | pointer to per output channel requantization shift parameter. |
[in] | out_mult | pointer to per output channel requantization multiplier parameter. |
[in] | activation_min | minimum value to clamp the output to. Range : int16 |
[in] | activation_max | maximum value to clamp the output to. Range : int16 |
[in] | num_col_a | number of columns of A |
[in] | output_bias | per output channel bias. Range : int64 |
[in,out] | out_0 | pointer to output |
This function does the matrix multiplication of weight matrix for all output channels with 2 columns from im2col and produces two elements/output_channel. The outputs are clamped in the range provided by activation min and max. Supported framework: TensorFlow Lite micro.
References arm_nn_read_q15x2_ia(), arm_nn_requantize(), arm_nn_requantize_s64(), MAX, MIN, and REDUCE_MULTIPLIER.
Referenced by arm_convolve_fast_s16().