AIfES 2  2.0.0
ailayer_relu.h
Go to the documentation of this file.
1 
41 #ifndef RELU_LAYER
42 #define RELU_LAYER
43 
44 #include "core/aifes_core.h"
45 
46 typedef struct ailayer_relu ailayer_relu_t;
47 
51 struct ailayer_relu {
58 
69  void (*relu)(const aitensor_t *x, aitensor_t *result);
70 
84  void (*d_relu)(const aitensor_t *x, aitensor_t *result);
85 
93  void (*multiply)(const aitensor_t *a, const aitensor_t *b, aitensor_t *result);
94 };
95 
102 
115 
137 
162 
173 
174 #ifdef AIDEBUG_PRINT_MODULE_SPECS
180 #endif // AIDEBUG_PRINT_MODULE_SPECS
181 
182 #endif // RELU_LAYER
AIfES 2 core interface.
void ailayer_relu_forward(ailayer_t *self)
Calculate the forward pass for given ReLU layer.
ailayer_t * ailayer_relu(ailayer_relu_t *layer, ailayer_t *input_layer)
Initialize and connect the given ReLU layer.
const aicore_layertype_t * ailayer_relu_type
ReLU layer type.
void ailayer_relu_backward(ailayer_t *self)
Calculate the backward pass for the given ReLU layer.
void ailayer_relu_print_specs(const ailayer_t *self)
Print the layer specification.
void ailayer_relu_calc_result_shape(ailayer_t *self)
Calculate the shape of the result tensor.
Type indicator of the layer.
Definition: aifes_core.h:82
General ReLU layer struct.
Definition: ailayer_relu.h:51
void(* multiply)(const aitensor_t *a, const aitensor_t *b, aitensor_t *result)
Required math function: Element wise tensor multiplication.
Definition: ailayer_relu.h:93
void(* d_relu)(const aitensor_t *x, aitensor_t *result)
Required math function: Derivative of ReLU.
Definition: ailayer_relu.h:84
void(* relu)(const aitensor_t *x, aitensor_t *result)
Required math function: ReLU.
Definition: ailayer_relu.h:69
ailayer_t base
Inherited field members from general ailayer struct.
Definition: ailayer_relu.h:52
AIfES layer interface.
Definition: aifes_core.h:252
A tensor in AIfES.
Definition: aifes_math.h:89