AIfES 2 2.0.0
ailayer_sigmoid_avr_pgm.h File Reference

AVR PGM implementation of the Sigmoid layer . More...

Go to the source code of this file.

Functions

ailayer_tailayer_sigmoid_q7_avr_pgm (ailayer_sigmoid_q7_t *layer, ailayer_t *input_layer)
 Initializes and connect a Sigmoid layer with the Q7 AVR PGM implementation. More...
 

Detailed Description

AVR PGM implementation of the Sigmoid layer .

Version
2.0alpha

AIfES is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

AVR controller specific implementation of the Sigmoid layer in Q7 data-type. For more information about the Sigmoid layer refer to ailayer_sigmoid.h.

Requires avr/pgmspace.h library

Function Documentation

◆ ailayer_sigmoid_q7_avr_pgm()

ailayer_t * ailayer_sigmoid_q7_avr_pgm ( ailayer_sigmoid_q7_t layer,
ailayer_t input_layer 
)

Initializes and connect a Sigmoid layer with the Q7 AVR PGM implementation.

The quantization parameters of the result tensor of the input layer must be defined constant in program memory (PROGMEM). The layer configuration is the same as with ailayer_sigmoid_q7_default().

The quantization parameters of the result tensor are automatically set to {shift = 8, zero_point = -2^7} because the output values are in the interval (0, 1).

Example: Create the layer structure:

ailayer_sigmoid_q7_t sigmoid_layer;
General Sigmoid layer struct.
Definition: ailayer_sigmoid.h:50

or

ailayer_sigmoid_q7_t sigmoid_layer = AILAYER_SIGMOID_Q7_M();

Example: Initialize and connect the layer:

x = ailayer_sigmoid_q7_avr_pgm(&sigmoid_layer, x);
ailayer_t * ailayer_sigmoid_q7_avr_pgm(ailayer_sigmoid_q7_t *layer, ailayer_t *input_layer)
Initializes and connect a Sigmoid layer with the Q7 AVR PGM implementation.
Parameters
*layerThe layer structure to initialize.
*input_layerThe prior layer.
Returns
The (successfully) initialized layer structure.