Function arm_fully_connected_f16¶
Defined in File arm_nnfunctions_flt.h
Function Documentation¶
-
arm_cmsis_nn_status arm_fully_connected_f16(const cmsis_nn_context *ctx, const cmsis_nn_fc_params_f16 *fc_params, const cmsis_nn_dims *input_dims, const float16_t *input, const cmsis_nn_dims *filter_dims, const float16_t *kernel, const cmsis_nn_dims *bias_dims, const float16_t *bias, const cmsis_nn_dims *output_dims, float16_t *output, arm_nn_tensor_layout layout)¶
Fully connected layer, dispatch by layout.
Note
Accumulation width follows the matmul helper the weight format selects (arm_nn_mat_mult_nt_t_f16 / arm_nn_mat_mult_nt_n_packed_f16): the scalar leg (non-MVE builds and ARM_MATH_AUTOVECTORIZE) accumulates in float32 and rounds to float16 once before the clamp (AmbiqAI/ns-cmsis-nn#449, #457); the MVE legs accumulate in float16 lanes.
- Parameters:
ctx – [inout] Function context that may hold a temporary scratch buffer.
fc_params – [in] Fully connected parameters and activation clamp.
input_dims – [in] Input tensor dimensions.
input – [in] Pointer to the input tensor data.
filter_dims – [in] Filter tensor dimensions.
kernel – [in] Pointer to the filter tensor data.
bias_dims – [in] Bias tensor dimensions.
bias – [in] Optional bias tensor data.
output_dims – [in] Output tensor dimensions.
output – [out] Pointer to the output tensor data.
layout – [in] Tensor layout selector. Current float APIs require
ARM_NN_LAYOUT_NHWC.
- Returns:
ARM_CMSIS_NN_SUCCESSon success orARM_CMSIS_NN_ARG_ERRORon invalid arguments.