CMSIS-NN  
CMSIS NN Software Library
 
Loading...
Searching...
No Matches
Structure Types

Enums and Data Structures used in public API. More...

Data Structures

struct  cmsis_nn_tile
 
struct  cmsis_nn_context
 
struct  cmsis_nn_bias_data
 
struct  cmsis_nn_dims
 
struct  cmsis_nn_lstm_dims
 
struct  cmsis_nn_per_channel_quant_params
 
struct  cmsis_nn_per_tensor_quant_params
 
struct  cmsis_nn_quant_params
 
struct  cmsis_nn_activation
 
struct  cmsis_nn_conv_params
 
struct  cmsis_nn_transpose_conv_params
 
struct  cmsis_nn_dw_conv_params
 
struct  cmsis_nn_pool_params
 
struct  cmsis_nn_fc_params
 
struct  cmsis_nn_bmm_params
 
struct  cmsis_nn_transpose_params
 
struct  cmsis_nn_svdf_params
 
struct  cmsis_nn_softmax_lut_s16
 
struct  cmsis_nn_scaling
 
struct  cmsis_nn_lstm_gate
 
struct  cmsis_nn_lstm_params
 
struct  cmsis_nn_lstm_context
 
struct  cmsis_nn_activation_f32
 Activation clamp range for floating-point operators. More...
 
struct  cmsis_nn_conv_params_f32
 Convolution parameters for float32 operators. More...
 
struct  cmsis_nn_transpose_conv_params_f32
 Transpose convolution parameters for float32 operators. More...
 
struct  cmsis_nn_dw_conv_params_f32
 Depthwise convolution parameters for float32 operators. More...
 
struct  cmsis_nn_pool_params_f32
 Pooling parameters for float32 operators. More...
 
struct  cmsis_nn_fc_params_f32
 Fully connected layer parameters for float32 operators. More...
 
struct  cmsis_nn_bmm_params_f32
 Batched matrix multiplication parameters for float32 operators. More...
 
struct  cmsis_nn_ew_params_f32
 Elementwise operator parameters for float32 operators. More...
 
struct  cmsis_nn_transpose_params_f32
 Transpose parameters for float32 operators. More...
 
struct  cmsis_nn_svdf_params_f32
 Singular value decomposition filter parameters for float32 operators. More...
 
struct  cmsis_nn_lstm_gate_f32
 Read-only weights and bias metadata for one float32 LSTM gate. More...
 
struct  cmsis_nn_lstm_params_f32
 Parameters for a unidirectional float32 LSTM layer. More...
 
struct  cmsis_nn_lstm_context_f32
 Scratch and mutable state buffers for a float32 LSTM invocation. More...
 
struct  cmsis_nn_activation_f16
 Activation clamp range for floating-point operators. More...
 
struct  cmsis_nn_conv_params_f16
 Convolution parameters for float32 operators. More...
 
struct  cmsis_nn_transpose_conv_params_f16
 Transpose convolution parameters for float32 operators. More...
 
struct  cmsis_nn_dw_conv_params_f16
 Depthwise convolution parameters for float32 operators. More...
 
struct  cmsis_nn_pool_params_f16
 Pooling parameters for float32 operators. More...
 
struct  cmsis_nn_fc_params_f16
 Fully connected layer parameters for float32 operators. More...
 
struct  cmsis_nn_bmm_params_f16
 Batched matrix multiplication parameters for float32 operators. More...
 
struct  cmsis_nn_ew_params_f16
 Elementwise operator parameters for float32 operators. More...
 
struct  cmsis_nn_transpose_params_f16
 Transpose parameters for float32 operators. More...
 
struct  cmsis_nn_svdf_params_f16
 Singular value decomposition filter parameters for float32 operators. More...
 
struct  cmsis_nn_lstm_gate_f16
 Read-only weights and bias metadata for one float32 LSTM gate. More...
 
struct  cmsis_nn_lstm_params_f16
 Parameters for a unidirectional float32 LSTM layer. More...
 
struct  cmsis_nn_lstm_context_f16
 Scratch and mutable state buffers for a float32 LSTM invocation. More...
 

Typedefs

typedef char arm_nn_static_assert___LINE__[(((int) ARM_TANH)<((int) ARM_NN_FLT_ACT_NONE)) ? 1 :-1]
 
typedef arm_nn_dw_kernel_layout_f32 arm_nn_dw_kernel_layout_f16
 

Enumerations

enum  arm_nn_activation_type {
  ARM_SIGMOID = 0 ,
  ARM_TANH = 1
}
 
enum  arm_cmsis_nn_status {
  ARM_CMSIS_NN_SUCCESS = 0 ,
  ARM_CMSIS_NN_ARG_ERROR = -1 ,
  ARM_CMSIS_NN_NO_IMPL_ERROR = -2 ,
  ARM_CMSIS_NN_FAILURE = -3
}
 
enum  arm_nn_tensor_layout { ARM_NN_LAYOUT_NHWC = 0 }
 Tensor layout selector for floating-point APIs. More...
 
enum  arm_nn_activation_type_flt {
  ARM_NN_FLT_ACT_NONE = 32 ,
  ARM_NN_FLT_ACT_SIGMOID = 33 ,
  ARM_NN_FLT_ACT_TANH = 34 ,
  ARM_NN_FLT_ACT_RELU = 35 ,
  ARM_NN_FLT_ACT_RELU6 = 36 ,
  ARM_NN_FLT_ACT_HARDSWISH = 37 ,
  ARM_NN_FLT_ACT_LEAKY_RELU = 38
}
 Activation selector for floating-point operator APIs. More...
 
enum  arm_nn_dw_kernel_layout_f32 {
  ARM_NN_DW_KERNEL_KC = 0 ,
  ARM_NN_DW_KERNEL_CK = 1
}
 Depthwise kernel storage layout selector for floating-point kernels. More...
 
enum  arm_nn_weight_format_flt {
  ARM_NN_WEIGHT_FORMAT_STANDARD = 0 ,
  ARM_NN_WEIGHT_FORMAT_NT_N_PACKED = 1
}
 Weight storage format selector for floating-point operators. More...
 

Description

Enums and Data Structures used in public API.


Data Structure Documentation

◆ cmsis_nn_tile

struct cmsis_nn_tile

CMSIS-NN object to contain the width and height of a tile

Data Fields
int32_t h

Height

int32_t w

Width

◆ cmsis_nn_context

struct cmsis_nn_context

CMSIS-NN object used for the function context.

Data Fields
void * buf

Pointer to a buffer needed for the optimization

int32_t size

Buffer size

◆ cmsis_nn_bias_data

struct cmsis_nn_bias_data

CMSIS-NN object used to hold bias data for int16 variants.

Data Fields
const void * data

Pointer to bias data

const bool is_int32_bias

Indicate type of bias data. True means int32 else int64

◆ cmsis_nn_dims

struct cmsis_nn_dims

CMSIS-NN object to contain the dimensions of the tensors

Data Fields
int32_t c

Input channels

int32_t h

Height

int32_t n

Generic dimension to contain either the batch size or output channels. Please refer to the function documentation for more information

int32_t w

Width

◆ cmsis_nn_lstm_dims

struct cmsis_nn_lstm_dims

CMSIS-NN object to contain LSTM specific input parameters related to dimensions

Data Fields
int32_t max_time
int32_t num_batches
int32_t num_inputs
int32_t num_outputs

◆ cmsis_nn_per_channel_quant_params

struct cmsis_nn_per_channel_quant_params

CMSIS-NN object for the per-channel quantization parameters

Data Fields
int32_t * multiplier

Multiplier values

int32_t * shift

Shift values

◆ cmsis_nn_per_tensor_quant_params

struct cmsis_nn_per_tensor_quant_params

CMSIS-NN object for the per-tensor quantization parameters

Data Fields
int32_t multiplier

Multiplier value

int32_t shift

Shift value

◆ cmsis_nn_quant_params

struct cmsis_nn_quant_params

CMSIS-NN object for quantization parameters. This struct supports both per-tensor and per-channels requantization and is recommended for new operators.

Data Fields
int32_t is_per_channel
int32_t * multiplier

Multiplier values

int32_t * shift

Shift values

◆ cmsis_nn_activation

struct cmsis_nn_activation

CMSIS-NN object for the quantized Relu activation

Data Fields
int32_t max

Max value used to clamp the result

int32_t min

Min value used to clamp the result

◆ cmsis_nn_conv_params

struct cmsis_nn_conv_params

CMSIS-NN object for the convolution layer parameters

Data Fields
cmsis_nn_activation activation
cmsis_nn_tile dilation
int32_t input_offset

The negative of the zero value for the input tensor

int32_t output_offset

The negative of the zero value for the output tensor

cmsis_nn_tile padding
cmsis_nn_tile stride

◆ cmsis_nn_transpose_conv_params

struct cmsis_nn_transpose_conv_params

CMSIS-NN object for the transpose convolution layer parameters

Data Fields
cmsis_nn_activation activation
cmsis_nn_tile dilation
int32_t input_offset

The negative of the zero value for the input tensor

int32_t output_offset

The negative of the zero value for the output tensor

cmsis_nn_tile padding
cmsis_nn_tile padding_offsets
cmsis_nn_tile stride

◆ cmsis_nn_dw_conv_params

struct cmsis_nn_dw_conv_params

CMSIS-NN object for the depthwise convolution layer parameters

Data Fields
cmsis_nn_activation activation
int32_t ch_mult

Channel Multiplier. ch_mult * in_ch = out_ch

cmsis_nn_tile dilation
int32_t input_offset

The negative of the zero value for the input tensor

int32_t output_offset

The negative of the zero value for the output tensor

cmsis_nn_tile padding
cmsis_nn_tile stride

◆ cmsis_nn_pool_params

struct cmsis_nn_pool_params

CMSIS-NN object for pooling layer parameters

Data Fields
cmsis_nn_activation activation
cmsis_nn_tile padding
cmsis_nn_tile stride

◆ cmsis_nn_fc_params

struct cmsis_nn_fc_params

CMSIS-NN object for Fully Connected layer parameters

Data Fields
cmsis_nn_activation activation
int32_t filter_offset

The negative of the zero value for the filter tensor

int32_t input_offset

The negative of the zero value for the input tensor

int32_t output_offset

The negative of the zero value for the output tensor

◆ cmsis_nn_bmm_params

struct cmsis_nn_bmm_params

CMSIS-NN object for Batch Matmul layer parameters

Data Fields
const bool adj_x
const bool adj_y
cmsis_nn_fc_params fc_params

◆ cmsis_nn_transpose_params

struct cmsis_nn_transpose_params

CMSIS-NN object for Transpose layer parameters

Data Fields
const int32_t num_dims
const uint32_t * permutations

The dimensions applied to the input dimensions

◆ cmsis_nn_svdf_params

struct cmsis_nn_svdf_params

CMSIS-NN object for SVDF layer parameters

Data Fields
cmsis_nn_activation input_activation
int32_t input_offset

The negative of the zero value for the input tensor

cmsis_nn_activation output_activation
int32_t output_offset

The negative of the zero value for the output tensor

int32_t rank

◆ cmsis_nn_softmax_lut_s16

struct cmsis_nn_softmax_lut_s16

CMSIS-NN object for Softmax s16 layer parameters

Data Fields
const int16_t * exp_lut
const int16_t * one_by_one_lut

◆ cmsis_nn_scaling

struct cmsis_nn_scaling

CMSIS-NN object for quantization parameters

Data Fields
int32_t multiplier

Multiplier value

int32_t shift

Shift value

◆ cmsis_nn_lstm_gate

struct cmsis_nn_lstm_gate

CMSIS-NN object for LSTM gate parameters

Data Fields
arm_nn_activation_type activation_type
const void * bias
const void * hidden_effective_bias

Precomputed kernel_sum * lhs_offset

int32_t hidden_multiplier
int32_t hidden_shift
const void * hidden_weights
const void * input_effective_bias

Bias added with precomputed kernel_sum * lhs_offset

int32_t input_multiplier
int32_t input_shift
const void * input_weights

◆ cmsis_nn_lstm_params

struct cmsis_nn_lstm_params

CMSIS-NN object for LSTM parameters

Data Fields
int32_t batch_size
int32_t cell_clip

Min/max value of cell output

cmsis_nn_lstm_gate cell_gate
int32_t cell_scale_power
cmsis_nn_lstm_gate forget_gate
int32_t forget_to_cell_multiplier
int32_t forget_to_cell_shift
int32_t hidden_size

Size of output from the LSTM cell, used as output and recursively into the next time step

cmsis_nn_lstm_gate input_gate
int32_t input_offset
int32_t input_size

Size of new data input into the LSTM cell

int32_t input_to_cell_multiplier
int32_t input_to_cell_shift
cmsis_nn_lstm_gate output_gate
int32_t output_multiplier
int32_t output_offset
int32_t output_shift
int32_t time_major

0 if first dimension is batch, else first dimension is time

int32_t time_steps

◆ cmsis_nn_lstm_context

struct cmsis_nn_lstm_context

CMSIS-NN object for LSTM scratch buffers

Data Fields
void * cell_state
void * hidden_state
void * temp1
void * temp2

◆ cmsis_nn_activation_f32

struct cmsis_nn_activation_f32

Activation clamp range for floating-point operators.

Data Fields
float32_t max

Maximum value used to clamp the result.

float32_t min

Minimum value used to clamp the result.

◆ cmsis_nn_conv_params_f32

struct cmsis_nn_conv_params_f32

Convolution parameters for float32 operators.

Data Fields
cmsis_nn_activation_f32 activation

Output activation clamp range.

cmsis_nn_tile dilation

Spatial dilation.

cmsis_nn_tile padding

Spatial zero-padding.

cmsis_nn_tile stride

Spatial stride.

arm_nn_weight_format_flt weight_format

Filter storage format.

◆ cmsis_nn_transpose_conv_params_f32

struct cmsis_nn_transpose_conv_params_f32

Transpose convolution parameters for float32 operators.

Data Fields
cmsis_nn_activation_f32 activation

Output activation clamp range.

cmsis_nn_tile dilation

Spatial dilation.

cmsis_nn_tile padding

Spatial zero-padding.

cmsis_nn_tile padding_offsets

Output padding adjustment for transpose convolution.

cmsis_nn_tile stride

Spatial stride.

◆ cmsis_nn_dw_conv_params_f32

struct cmsis_nn_dw_conv_params_f32

Depthwise convolution parameters for float32 operators.

Data Fields
cmsis_nn_activation_f32 activation

Output activation clamp range.

int32_t ch_mult

Channel multiplier. ch_mult * in_ch = out_ch.

cmsis_nn_tile dilation

Spatial dilation.

cmsis_nn_tile padding

Spatial zero-padding.

cmsis_nn_tile stride

Spatial stride.

◆ cmsis_nn_pool_params_f32

struct cmsis_nn_pool_params_f32

Pooling parameters for float32 operators.

Data Fields
cmsis_nn_activation_f32 activation

Output activation clamp range.

cmsis_nn_tile padding

Spatial zero-padding.

cmsis_nn_tile stride

Spatial stride.

◆ cmsis_nn_fc_params_f32

struct cmsis_nn_fc_params_f32

Fully connected layer parameters for float32 operators.

Data Fields
cmsis_nn_activation_f32 activation

Output activation clamp range.

arm_nn_weight_format_flt weight_format

Weight storage format.

◆ cmsis_nn_bmm_params_f32

struct cmsis_nn_bmm_params_f32

Batched matrix multiplication parameters for float32 operators.

Data Fields
cmsis_nn_activation_f32 activation

Output activation clamp range.

const bool adj_x

True when the left-hand-side operand is stored transposed.

const bool adj_y

True when the right-hand-side operand is stored transposed.

arm_nn_weight_format_flt rhs_format

Right-hand-side operand storage format. ARM_NN_WEIGHT_FORMAT_NT_N_PACKED is currently supported only when adj_x == false and adj_y == false.

◆ cmsis_nn_ew_params_f32

struct cmsis_nn_ew_params_f32

Elementwise operator parameters for float32 operators.

Data Fields
cmsis_nn_activation_f32 activation

Output activation clamp range.

◆ cmsis_nn_transpose_params_f32

struct cmsis_nn_transpose_params_f32

Transpose parameters for float32 operators.

Data Fields
arm_nn_tensor_layout layout

Layout convention used to interpret tensor dimensions.

int32_t num_dims

Number of active dimensions in the permutation.

int32_t perm[4]

Permutation indices.

◆ cmsis_nn_svdf_params_f32

struct cmsis_nn_svdf_params_f32

Singular value decomposition filter parameters for float32 operators.

Data Fields
cmsis_nn_activation_f32 input_activation

Clamp range applied after the input projection.

cmsis_nn_activation_f32 output_activation

Clamp range applied to the final output.

int32_t rank

SVDF rank.

◆ cmsis_nn_lstm_gate_f32

struct cmsis_nn_lstm_gate_f32

Read-only weights and bias metadata for one float32 LSTM gate.

Data Fields
arm_nn_activation_type_flt activation_type

Gate activation selector.

const float32_t * bias

Optional gate bias vector.

const float32_t * hidden_weights

Hidden-state-to-gate weight matrix.

const float32_t * input_weights

Input-to-gate weight matrix.

◆ cmsis_nn_lstm_params_f32

struct cmsis_nn_lstm_params_f32

Parameters for a unidirectional float32 LSTM layer.

Data Fields
int32_t batch_size

Batch size processed per invocation.

float32_t cell_clip

Optional cell-state clip value.

cmsis_nn_lstm_gate_f32 cell_gate

Cell-update gate weights and activation.

cmsis_nn_lstm_gate_f32 forget_gate

Forget gate weights and activation.

int32_t hidden_size

Hidden-state size.

cmsis_nn_lstm_gate_f32 input_gate

Input gate weights and activation.

int32_t input_size

Input feature size per time step.

cmsis_nn_lstm_gate_f32 output_gate

Output gate weights and activation.

int32_t time_major

Non-zero when input/output tensors are time-major.

int32_t time_steps

Number of time steps processed per invocation.

◆ cmsis_nn_lstm_context_f32

struct cmsis_nn_lstm_context_f32

Scratch and mutable state buffers for a float32 LSTM invocation.

Data Fields
float32_t * cell_state

Mutable cell-state buffer.

float32_t * temp1

Temporary buffer used by matrix and gate computations.

float32_t * temp2

Temporary buffer used by matrix and gate computations.

◆ cmsis_nn_activation_f16

struct cmsis_nn_activation_f16

Activation clamp range for floating-point operators.

Data Fields
float16_t max

Maximum value used to clamp the result.

float16_t min

Minimum value used to clamp the result.

◆ cmsis_nn_conv_params_f16

struct cmsis_nn_conv_params_f16

Convolution parameters for float32 operators.

Data Fields
cmsis_nn_activation_f16 activation

Output activation clamp range.

cmsis_nn_tile dilation

Spatial dilation.

cmsis_nn_tile padding

Spatial zero-padding.

cmsis_nn_tile stride

Spatial stride.

arm_nn_weight_format_flt weight_format

Filter storage format.

◆ cmsis_nn_transpose_conv_params_f16

struct cmsis_nn_transpose_conv_params_f16

Transpose convolution parameters for float32 operators.

Data Fields
cmsis_nn_activation_f16 activation

Output activation clamp range.

cmsis_nn_tile dilation

Spatial dilation.

cmsis_nn_tile padding

Spatial zero-padding.

cmsis_nn_tile padding_offsets

Output padding adjustment for transpose convolution.

cmsis_nn_tile stride

Spatial stride.

◆ cmsis_nn_dw_conv_params_f16

struct cmsis_nn_dw_conv_params_f16

Depthwise convolution parameters for float32 operators.

Data Fields
cmsis_nn_activation_f16 activation

Output activation clamp range.

int32_t ch_mult

Channel multiplier. ch_mult * in_ch = out_ch.

cmsis_nn_tile dilation

Spatial dilation.

cmsis_nn_tile padding

Spatial zero-padding.

cmsis_nn_tile stride

Spatial stride.

◆ cmsis_nn_pool_params_f16

struct cmsis_nn_pool_params_f16

Pooling parameters for float32 operators.

Data Fields
cmsis_nn_activation_f16 activation

Output activation clamp range.

cmsis_nn_tile padding

Spatial zero-padding.

cmsis_nn_tile stride

Spatial stride.

◆ cmsis_nn_fc_params_f16

struct cmsis_nn_fc_params_f16

Fully connected layer parameters for float32 operators.

Data Fields
cmsis_nn_activation_f16 activation

Output activation clamp range.

arm_nn_weight_format_flt weight_format

Weight storage format.

◆ cmsis_nn_bmm_params_f16

struct cmsis_nn_bmm_params_f16

Batched matrix multiplication parameters for float32 operators.

Data Fields
cmsis_nn_activation_f16 activation

Output activation clamp range.

const bool adj_x

True when the left-hand-side operand is stored transposed.

const bool adj_y

True when the right-hand-side operand is stored transposed.

arm_nn_weight_format_flt rhs_format

Right-hand-side operand storage format. ARM_NN_WEIGHT_FORMAT_NT_N_PACKED is currently supported only when adj_x == false and adj_y == false.

◆ cmsis_nn_ew_params_f16

struct cmsis_nn_ew_params_f16

Elementwise operator parameters for float32 operators.

Data Fields
cmsis_nn_activation_f16 activation

Output activation clamp range.

◆ cmsis_nn_transpose_params_f16

struct cmsis_nn_transpose_params_f16

Transpose parameters for float32 operators.

Data Fields
arm_nn_tensor_layout layout

Layout convention used to interpret tensor dimensions.

int32_t num_dims

Number of active dimensions in the permutation.

int32_t perm[4]

Permutation indices.

◆ cmsis_nn_svdf_params_f16

struct cmsis_nn_svdf_params_f16

Singular value decomposition filter parameters for float32 operators.

Data Fields
cmsis_nn_activation_f16 input_activation

Clamp range applied after the input projection.

cmsis_nn_activation_f16 output_activation

Clamp range applied to the final output.

int32_t rank

SVDF rank.

◆ cmsis_nn_lstm_gate_f16

struct cmsis_nn_lstm_gate_f16

Read-only weights and bias metadata for one float32 LSTM gate.

Data Fields
arm_nn_activation_type_flt activation_type

Gate activation selector.

const float16_t * bias

Optional gate bias vector.

const float16_t * hidden_weights

Hidden-state-to-gate weight matrix.

const float16_t * input_weights

Input-to-gate weight matrix.

◆ cmsis_nn_lstm_params_f16

struct cmsis_nn_lstm_params_f16

Parameters for a unidirectional float32 LSTM layer.

Data Fields
int32_t batch_size

Batch size processed per invocation.

float16_t cell_clip

Optional cell-state clip value.

cmsis_nn_lstm_gate_f16 cell_gate

Cell-update gate weights and activation.

cmsis_nn_lstm_gate_f16 forget_gate

Forget gate weights and activation.

int32_t hidden_size

Hidden-state size.

cmsis_nn_lstm_gate_f16 input_gate

Input gate weights and activation.

int32_t input_size

Input feature size per time step.

cmsis_nn_lstm_gate_f16 output_gate

Output gate weights and activation.

int32_t time_major

Non-zero when input/output tensors are time-major.

int32_t time_steps

Number of time steps processed per invocation.

◆ cmsis_nn_lstm_context_f16

struct cmsis_nn_lstm_context_f16

Scratch and mutable state buffers for a float32 LSTM invocation.

Data Fields
float16_t * cell_state

Mutable cell-state buffer.

float16_t * temp1

Temporary buffer used by matrix and gate computations.

float16_t * temp2

Temporary buffer used by matrix and gate computations.

Typedef Documentation

◆ arm_nn_dw_kernel_layout_f16

◆ arm_nn_static_assert___LINE__

typedef char arm_nn_static_assert___LINE__[(((int) ARM_TANH)<((int) ARM_NN_FLT_ACT_NONE)) ? 1 :-1]

Enumeration Type Documentation

◆ arm_cmsis_nn_status

Function return codes

Enumerator
ARM_CMSIS_NN_SUCCESS 

No error

ARM_CMSIS_NN_ARG_ERROR 

One or more arguments are incorrect

ARM_CMSIS_NN_NO_IMPL_ERROR 

No implementation available

ARM_CMSIS_NN_FAILURE 

Logical error

◆ arm_nn_activation_type

Enum for specifying activation function types

Enumerator
ARM_SIGMOID 

Sigmoid activation function

ARM_TANH 

Tanh activation function

◆ arm_nn_activation_type_flt

Activation selector for floating-point operator APIs.

Numeric values intentionally live in a dedicated floating-point range to avoid overlap with the legacy integer public activation enum.

Enumerator
ARM_NN_FLT_ACT_NONE 

Identity activation function.

ARM_NN_FLT_ACT_SIGMOID 

Sigmoid activation function.

ARM_NN_FLT_ACT_TANH 

Hyperbolic tangent activation function.

ARM_NN_FLT_ACT_RELU 

ReLU activation function.

ARM_NN_FLT_ACT_RELU6 

ReLU6 activation function.

ARM_NN_FLT_ACT_HARDSWISH 

Hard-swish activation function.

ARM_NN_FLT_ACT_LEAKY_RELU 

Leaky ReLU activation function.

◆ arm_nn_dw_kernel_layout_f32

Depthwise kernel storage layout selector for floating-point kernels.

Public float depthwise entry points currently use KC storage ([k][c]).

Enumerator
ARM_NN_DW_KERNEL_KC 

Depthwise kernel stored as [kernel][channel].

ARM_NN_DW_KERNEL_CK 

Depthwise kernel stored as [channel][kernel].

◆ arm_nn_tensor_layout

Tensor layout selector for floating-point APIs.

Float public APIs currently accept NHWC layout only.

Enumerator
ARM_NN_LAYOUT_NHWC 

Tensor dimensions are ordered as [N, H, W, C].

◆ arm_nn_weight_format_flt

Weight storage format selector for floating-point operators.

This enum allows frameworks to describe whether weights are provided in the standard public operator layout or in a backend-specific packed layout.

ARM_NN_WEIGHT_FORMAT_NT_N_PACKED matches the packed RHS layout consumed by arm_nn_mat_mult_nt_n_packed_f16/f32.

The packed NTxN layout exists because MVE kernels typically perform best when output-channel blocks can be loaded contiguously. With the standard NT x T formulation, vectorizing over output channels tends to require gather-load accesses to the RHS, which is less efficient than a packed non-transposed RHS layout.

For operators that support ARM_NN_WEIGHT_FORMAT_NT_N_PACKED, supplying offline-repacked constant weights in this layout is therefore generally the preferred way to achieve the best MVE performance.

Enumerator
ARM_NN_WEIGHT_FORMAT_STANDARD 

Standard public operator layout.

ARM_NN_WEIGHT_FORMAT_NT_N_PACKED 

Packed [K][N-block] layout for NTxN matmul helpers.