AIfES 2  2.0.0
aialgo_sequential_training.h
Go to the documentation of this file.
1 
27 #ifndef AIALGO_SEQUENTIAL_TRAINING
28 #define AIALGO_SEQUENTIAL_TRAINING
29 
30 #include "core/aifes_core.h"
31 #include "core/aifes_math.h"
33 
44 uint32_t aialgo_sizeof_training_memory(aimodel_t *model, aiopti_t *optimizer);
45 
58 uint8_t aialgo_schedule_training_memory(aimodel_t *model, aiopti_t *optimizer, void *memory_ptr, uint32_t memory_size);
59 
66 
72 void aialgo_backward_model(aimodel_t *model, aitensor_t *target_data);
73 
107 void aialgo_train_model(aimodel_t *model, aitensor_t *input_tensor, aitensor_t *target_tensor, aiopti_t *optimizer, uint32_t batch_size);
108 
116 void aialgo_calc_loss_model_f32(aimodel_t *model, aitensor_t *input_data, aitensor_t *target_data, float *result);
117 
124 
131 
139 
147 
148 #endif // AIALGO_SEQUENTIAL_TRAINING
void aialgo_train_model(aimodel_t *model, aitensor_t *input_tensor, aitensor_t *target_tensor, aiopti_t *optimizer, uint32_t batch_size)
Perform one training epoch on all data batches of the dataset using backpropagation.
void aialgo_zero_gradients_model(aimodel_t *model, aiopti_t *optimizer)
Set the gradients to zero.
void aialgo_update_params_model(aimodel_t *model, aiopti_t *optimizer)
Perform the optimization step on the model parameters.
void aialgo_init_model_for_training(aimodel_t *model, aiopti_t *optimizer)
Initialize the optimization memory of the model layers.
void aialgo_print_optimizer_specs(aiopti_t *opti)
Print the optimizer specs.
uint8_t aialgo_schedule_training_memory(aimodel_t *model, aiopti_t *optimizer, void *memory_ptr, uint32_t memory_size)
Assign the memory for model training.
uint32_t aialgo_sizeof_training_memory(aimodel_t *model, aiopti_t *optimizer)
Calculate the memory requirements for model training.
void aialgo_print_loss_specs(ailoss_t *loss)
Print the loss specs.
void aialgo_backward_model(aimodel_t *model, aitensor_t *target_data)
Perform the backward pass.
void aialgo_calc_loss_model_f32(aimodel_t *model, aitensor_t *input_data, aitensor_t *target_data, float *result)
Calculate the loss in F32 data type.
AIfES 2 core interface.
AIfES 2 math interface.
Basic data-type independent math operations.
AIfES loss interface.
Definition: aifes_core.h:360
AIfES artificial neural network model.
Definition: aifes_core.h:180
AIfES optimizer interface.
Definition: aifes_core.h:413
A tensor in AIfES.
Definition: aifes_math.h:98