AIfES 2
2.0.0
|
Default implementation of the Leaky ReLU layer . More...
Go to the source code of this file.
Data Structures | |
struct | ailayer_leaky_relu_f32 |
Data-type specific Leaky ReLU layer struct for F32 . More... | |
struct | ailayer_leaky_relu_q31 |
Data-type specific Leaky ReLU layer struct for Q31 . More... | |
struct | ailayer_leaky_relu_q7 |
Data-type specific Leaky ReLU layer struct for Q7 . More... | |
Typedefs | |
typedef struct ailayer_leaky_relu_f32 | ailayer_leaky_relu_f32_t |
typedef struct ailayer_leaky_relu_q31 | ailayer_leaky_relu_q31_t |
typedef struct ailayer_leaky_relu_q7 | ailayer_leaky_relu_q7_t |
Functions | |
ailayer_t * | ailayer_leaky_relu_f32_default (ailayer_leaky_relu_f32_t *layer, ailayer_t *input_layer) |
Initializes and connect a Leaky ReLU layer with the F32 default implementation. More... | |
ailayer_t * | ailayer_leaky_relu_q31_default (ailayer_leaky_relu_q31_t *layer, ailayer_t *input_layer) |
Initializes and connect a Leaky ReLU layer with the Q31 default implementation. More... | |
ailayer_t * | ailayer_leaky_relu_q7_default (ailayer_leaky_relu_q7_t *layer, ailayer_t *input_layer) |
Initializes and connect a Leaky ReLU layer with the Q7 default implementation. More... | |
void | ailayer_leaky_relu_calc_result_tensor_params_q31_default (ailayer_t *self) |
Calculate and set the quantization parameters for the result tensor of the Leaky ReLU Q31 default implementation. More... | |
void | ailayer_leaky_relu_calc_result_tensor_params_q7_default (ailayer_t *self) |
Calculate and set the quantization parameters for the result tensor of the Leaky ReLU Q7 default implementation. More... | |
Default implementation of the Leaky ReLU layer .
Hardware independent implementations of the Leaky ReLU layer in F32 data-type. For more information about the Leaky ReLU layer refer to ailayer_leaky_relu.h.
void ailayer_leaky_relu_calc_result_tensor_params_q31_default | ( | ailayer_t * | self | ) |
Calculate and set the quantization parameters for the result tensor of the Leaky ReLU Q31 default implementation.
Implementation of ailayer.calc_result_tensor_params.
The quantization parameters are pre-defined and the same as in the corresponding math function aimath_q31_default_leaky_relu().
*self | The layer structure |
void ailayer_leaky_relu_calc_result_tensor_params_q7_default | ( | ailayer_t * | self | ) |
Calculate and set the quantization parameters for the result tensor of the Leaky ReLU Q7 default implementation.
Implementation of ailayer.calc_result_tensor_params.
The quantization parameters are pre-defined and the same as in the corresponding math function aimath_q7_default_leaky_relu().
*self | The layer structure |
ailayer_t* ailayer_leaky_relu_f32_default | ( | ailayer_leaky_relu_f32_t * | layer, |
ailayer_t * | input_layer | ||
) |
Initializes and connect a Leaky ReLU layer with the F32 default implementation.
Example: Create the layer structure:
In C:
In C, C++ and on Arduino:
Example: Initialize and connect the layer:
*layer | the layer structure to be initialized |
*input_layer | the prior layer that provides the input to this Leaky ReLU layer |
ailayer_t* ailayer_leaky_relu_q31_default | ( | ailayer_leaky_relu_q31_t * | layer, |
ailayer_t * | input_layer | ||
) |
Initializes and connect a Leaky ReLU layer with the Q31 default implementation.
The quantization parameters of the result tensor are automatically set to {shift = input_layer.result.shift, zero_point = input_layer.result.zero_point} because the output values are in the interval (alpha * min(input_layer.result), max(input_layer.result)].
Example: Create the layer structure:
In C:
In C, C++ and on Arduino:
Example: Initialize and connect the layer:
*layer | The layer structure to initialize. |
*input_layer | The prior layer. |
ailayer_t* ailayer_leaky_relu_q7_default | ( | ailayer_leaky_relu_q7_t * | layer, |
ailayer_t * | input_layer | ||
) |
Initializes and connect a Leaky ReLU layer with the Q7 default implementation.
The quantization parameters of the result tensor are automatically set to {shift = input_layer.result.shift, zero_point = input_layer.result.zero_point} because the output values are in the interval (alpha * min(input_layer.result), max(input_layer.result)].
Example: Create the layer structure of a pre-trained model (qparams must be set manually):
In C:
In C, C++ and on Arduino:
Example: Initialize and connect the layer:
*layer | The layer structure to initialize. |
*input_layer | The prior layer. |