| AIfES 2 2.0.0

ailayer_sigmoid.h
Go to the documentation of this file.
1
37 #ifndef SIGMOID_LAYER
38 #define SIGMOID_LAYER
39
40 #include "core/aifes_core.h"
41
42 typedef struct ailayer_sigmoid ailayer_sigmoid_t;
43
47 struct ailayer_sigmoid {
48 ailayer_t base;
54
65 void (*sigmoid)(const aitensor_t *x, aitensor_t *result);
66
77 void (*d_sigmoid)(const aitensor_t *sigmoid_x, aitensor_t *result);
78
86 void (*multiply)(const aitensor_t *a, const aitensor_t *b, aitensor_t *result);
87
89 };
90
96 extern const aicore_layertype_t *ailayer_sigmoid_type;
97
109 ailayer_t *ailayer_sigmoid(ailayer_sigmoid_t *layer, ailayer_t *input_layer);
110
131 void ailayer_sigmoid_forward(ailayer_t *self);
132
156 void ailayer_sigmoid_backward(ailayer_t *self);
157
167 void ailayer_sigmoid_calc_result_shape(ailayer_t *self);
168
169 uint32_t ailayer_sigmoid_sizeof_bwdmem(const ailayer_t *self);
170
171 #ifdef AIDEBUG_PRINT_MODULE_SPECS
176 void ailayer_sigmoid_print_specs(const ailayer_t *self);
177 #endif // AIDEBUG_PRINT_MODULE_SPECS
178
179 #endif // SIGMOID_LAYER
aifes_core.h
AIfES 2 core interface.
ailayer_sigmoid_type
const aicore_layertype_t * ailayer_sigmoid_type
Sigmoid layer type.
ailayer_sigmoid_backward
void ailayer_sigmoid_backward(ailayer_t *self)
Calculate the backward pass for the given Sigmoid layer.
ailayer_sigmoid
ailayer_t * ailayer_sigmoid(ailayer_sigmoid_t *layer, ailayer_t *input_layer)
Initialize and connect the given Sigmoid layer.
ailayer_sigmoid_print_specs
void ailayer_sigmoid_print_specs(const ailayer_t *self)
Print the layer specification.
ailayer_sigmoid_forward
void ailayer_sigmoid_forward(ailayer_t *self)
Calculate the forward pass for given Sigmoid layer.
ailayer_sigmoid_calc_result_shape
void ailayer_sigmoid_calc_result_shape(ailayer_t *self)
Calculate the shape of the result tensor.
aicore_layertype
Type indicator of the layer.
Definition: aifes_core.h:82
ailayer_sigmoid
General Sigmoid layer struct.
Definition: ailayer_sigmoid.h:47
ailayer_sigmoid::sigmoid
void(* sigmoid)(const aitensor_t *x, aitensor_t *result)
Required math function: Sigmoid.
Definition: ailayer_sigmoid.h:65
ailayer_sigmoid::multiply
void(* multiply)(const aitensor_t *a, const aitensor_t *b, aitensor_t *result)
Required math function: Element wise tensor multiplication.
Definition: ailayer_sigmoid.h:86
ailayer_sigmoid::d_sigmoid
void(* d_sigmoid)(const aitensor_t *sigmoid_x, aitensor_t *result)
Required math function: Derivative of sigmoid.
Definition: ailayer_sigmoid.h:77
ailayer_sigmoid::base
ailayer_t base
Inherited field members from general ailayer struct.
Definition: ailayer_sigmoid.h:48
ailayer
AIfES layer interface.
Definition: aifes_core.h:252
aitensor
A tensor in AIfES.
Definition: aifes_math.h:89