39#include "../common/common.h"
56#define SAVE_BEST_EPOCH 0
68 printf(
"Initialize the SqueezeBrains library\n");
86 printf(
"wait for license...\n");
104 printf(
"Release SqueezeBrains library\n");
107 printf(
"Press ENTER to terminate\n");
145 memset(&sample, 0,
sizeof(sample));
238 printf(
"Training is running, please wait . . .\n");
242 printf(
"SVL results:\n");
246 printf(
"\ttime=%1.3fs\n", svl_res->
time_ms / 1000.0f);
EXTERN_C sb_t_err wait_license(void)
The functions wait until the license status is active.
#define CHECK_FN_GOTO(function)
sb_t_err create_deep_cortex_project_file(SB_HANDLE *deep_cortex)
Create a deep_cortex project file.
sb_t_err execute_training(void)
Execute training.
sb_t_err set_model_to_images(SB_HANDLE deep_cortex)
Set samples.
sb_t_err
Errors code enum.
sb_t_err sb_destroy_info(sb_t_info **const info)
Destroys the structure.
sb_t_err sb_release(void)
Releases all the resources allocates in the library.
sb_t_err sb_get_info(sb_t_info **const info, int dl_devices_info)
The function gets information about the sb library and the available computational devices.
sb_t_err sb_init(const char *const license_file)
Initializes the SB library.
sb_t_err sb_init_dl(const char *const search_path, sb_t_dl_library_type lib_type)
Initialize the Deep Learning library.
void * SB_HANDLE
HANDLE definition.
sb_t_err sb_get_uuid(char *const str, size_t size)
Creates a new uuid.
@ SB_DL_LIBRARY_PYTORCH
Pytorch library.
@ SB_DL_LIBRARY_OPENVINO
Openvino library. Can be used only for inference with sb_project_detection function.
@ SB_DEVICE_GPU_NVIDIA
GPU NVidia device.
sb_t_err sb_image_info_set_type(SB_HANDLE image_info, sb_t_image_info_type type)
Sets the type of the SqueezeBrains image info.
sb_t_err sb_image_info_add_sample(SB_HANDLE image_info, const sb_t_sample *const sample)
Adds a sample into the SqueezeBrains image info handle.
sb_t_err sb_image_info_load(SB_HANDLE *image_info, const char *const image_file, SB_HANDLE module_handle)
Creates a SqueezeBrains image info handle.
sb_t_err sb_image_info_reset(SB_HANDLE image_info)
Erases all the data from the SqueezeBrains image info handle.
sb_t_err sb_image_info_destroy(SB_HANDLE *image_info)
Destroys the SqueezeBrains image info handle.
sb_t_err sb_image_info_save(SB_HANDLE image_info)
Saves the SqueezeBrains image info handle into the image file.
@ SB_IMAGE_INFO_TYPE_SVL
Image is used for SVL and not used for training.
#define SB_IMAGE_FILE_EXTENSIONS
List of the possible extensions of the image.
sb_t_err sb_par_add_model(sb_t_par *const par, const char *const model_name)
Adds the model to the parameter structure.
sb_t_err sb_par_destroy(sb_t_par **const par)
Destroys the project parameters structure.
sb_t_err sb_project_set_par(SB_HANDLE handle, const sb_t_par *const par)
Sets the parameters structure into the project handle.
sb_t_err sb_project_create(SB_HANDLE *phandle, const char *const project_name, sb_t_project_type project_type)
Creates a new project of the specifed type.
sb_t_err sb_project_save(SB_HANDLE handle, const char *const solution_file, sb_t_project_mode mode)
Saves the project to file.
sb_t_err sb_project_load(SB_HANDLE *phandle, const char *const solution_file, const char *const project_uuid, sb_t_project_mode mode)
Loads an existing project from a solution file.
sb_t_err sb_project_destroy(SB_HANDLE *phandle)
Frees all the resources of the project handle.
sb_t_err sb_project_get_par(SB_HANDLE handle, sb_t_par **const par)
Retrieves the project parameters structure.
@ SB_PROJECT_MODE_DETECTION_AND_SVL
Load/save all the module information.
@ SB_PROJECT_TYPE_DEEP_CORTEX
Project Deep Cortex.
@ SB_OBJ_TEST
Object is not used for learning.
sb_t_err sb_solution_get_info(const char *const solution_file, sb_t_solution_info **const solution)
Returns the information contained in the solution_file.
#define SB_SOLUTION_EXT
Extension of the SqueezeBrains solution file.
sb_t_err sb_solution_destroy_info(sb_t_solution_info **const solution)
Destroys the structure of the solution information.
sb_t_err sb_svl_destroy_res(sb_t_svl_res **const res)
Destroys the structure of the results of SVL.
sb_t_err sb_svl_reset(SB_HANDLE handle)
Resets the history of previous executions of the SVL.
sb_t_err sb_svl_run(SB_HANDLE handle)
Runs the SVL.
sb_t_err sb_svl_get_res(SB_HANDLE handle, sb_t_svl_res **const res)
Retrieves the results of SVL.
@ SB_NETWORK_TYPE_ICNET0_64
Deep Learning Image Classification Network 0 with input size 64x64.
int id[SB_DEVICES_MAX_NUMBER]
Identifier of the devices to be used.
sb_t_device_type type
Device type.
General information about sb library and computing devices like CPU and GPUs.
char compile_time[32]
String with the compilation time of the sb library.
char compile_date[32]
String with the compilation date of the sb library.
char version_str[16]
String with the version of the sb library.
sb_t_svl_par svl
SVL parameters.
char uuid[SB_PROJECT_UUID_LEN]
Project UUID.
sb_t_project_info * info
Array of solution project information.
char model_name[SB_PAR_STRING_LEN]
Name of the model.
char uuid[36]
uuid of the sample.
sb_t_sample_classify_mode classify_mode
Classification mode.
sb_t_obj_type type
Sample type.
sb_t_projects_info projects
Array of the projects info.
int current_project
Index of the current project in the projects array.
sb_t_network_type type
Network type.
sb_t_range angle_range
Angular range, in degrees, for random rotation.
float shift_horizontal
Maximum shift along x-axis.
int flip_horizontal
Flip around horizontal axis.
float shift_vertical
Maximum shift along y-axis.
int flip_vertical
Flip around vertical axis.
int batch_size
Size of the batch used during SVL.
int save_best
At the end of the training, the best internal parameters configuration is recovered.
sb_t_svl_dl_par_network network
Network parameters.
int num_epochs
Number of epochs.
sb_t_svl_dl_par_perturbation perturbations
Perturbations for deep learning training.
sb_t_devices_par devices
Devices used for SVL/training.
char project_path[512]
Path of the project, where the SVL will find the images.
sb_t_svl_dl_par dl
Deep Learning SVL parameters.
char image_ext[64]
Extensions of the images.
sb_t_metrics metrics
SVL metrics.
sb_t_svl_res_epoch * epoch
Array of the results of the training epochs.
sb_t_svl_res_epochs epochs
Results of training of module based on Deep Learning.
Defines the results of SVL.
sb_t_svl_res_level global
Cumulative results of all levels of all models.
long long time_ms
Execution time, in ms, of SVL.