SqueezeBrains SDK 1.18
sb_t_svl_par Struct Reference

SVL parameters. More...

#include <sb.h>

Collaboration diagram for sb_t_svl_par:

Data Fields

sb_fp_svl_pre_elaboration fp_pre_elaboration
 Callback to execute an image pre elaboration. More...
 
sb_fp_svl_progress fp_progress
 The SVL calls this callback to notify the user the results of SVL. More...
 
sb_fp_svl_command fp_command
 Callback called by SVL to allow the user to decide how to continue when particular situations happen, see sb_t_svl_stop_reason . More...
 
void * user_data
 Pointer to data which is passed to the callbacks. More...
 
char project_path [512]
 Path of the project, where the SVL will find the images.
 
char image_ext [64]
 Extensions of the images. More...
 
float free_memory_percentage
 Percentage of system memory that the svl tries to leave free. More...
 
int num_threads
 Maximum number of OpenMP threads that SVL can use. More...
 
int reproducibility
 Enable the reproducibility of the training. More...
 
sb_t_devices_par devices
 Devices used for SVL/training. More...
 
sb_t_svl_sl_par sl
 Shallow Learning SVL parameters. More...
 
sb_t_svl_dl_par dl
 Deep Learning SVL parameters. More...
 
sb_t_image_circularity_type image_circularity_type
 Image circularity. More...
 

Detailed Description

SVL parameters.

See also
SVL - training
Features
License configurations

Definition at line 11261 of file sb.h.

Field Documentation

◆ devices

sb_t_devices_par sb_t_svl_par::devices

Devices used for SVL/training.

Used by the function sb_svl_run in case of Deep Cortex and Deep Surface projects. Currently only a single device is admitted.

Definition at line 11336 of file sb.h.

◆ dl

sb_t_svl_dl_par sb_t_svl_par::dl

Deep Learning SVL parameters.

Training parameters used only by Deep Cortex and Deep Surface projects.

Definition at line 11348 of file sb.h.

◆ fp_command

sb_fp_svl_command sb_t_svl_par::fp_command

Callback called by SVL to allow the user to decide how to continue when particular situations happen, see sb_t_svl_stop_reason .

See also
SVL Callbacks

Definition at line 11278 of file sb.h.

◆ fp_pre_elaboration

sb_fp_svl_pre_elaboration sb_t_svl_par::fp_pre_elaboration

Callback to execute an image pre elaboration.

See also
SVL Callbacks

Definition at line 11266 of file sb.h.

◆ fp_progress

sb_fp_svl_progress sb_t_svl_par::fp_progress

The SVL calls this callback to notify the user the results of SVL.

See also
SVL Callbacks

Definition at line 11272 of file sb.h.

◆ free_memory_percentage

float sb_t_svl_par::free_memory_percentage

Percentage of system memory that the svl tries to leave free.

When the free physical memory drops below this percentage, the SVL starts to save on disk its data. Value between 0 and 1.

Definition at line 11304 of file sb.h.

◆ image_circularity_type

sb_t_image_circularity_type sb_t_svl_par::image_circularity_type

Image circularity.

When there are objects or surfaces to be analyzed that have a circular symmetry it could be more efficient, instead of processing the image as it is, to extract the circular crown and stretch it or unrolled it so as to work in Cartesian rather than polar coordinates.

Acquired image

For example, if we think of extracting the circular crown from the acquired image shown in the figure starting from 12 o'clock in a clockwise direction we obtain the unrolled image shown below.

Unrolled circular crown

If you have to perform an ocr it is more efficient to use the unrolled circular crown instead of the original image.
In this case it is necessary to set the parameter to SB_IMAGE_CIRCULARITY_TYPE_HORIZONTAL so that the sb_svl_run function or the sb_project_detection function can adequately handle the images.
This means that the functions autonomously manage the occurrences of objects or defects that are broken between the beginning and the end of the image.
For example in the image below the letter G of the word 'image' is broken and one part is at the beginning of the image and the other at the end.
If the library is told to consider the image as circular then it is the Retina module that takes care of joining the two parts of the object in order to identify the letter 'G'.
In the results of the sb_project_detection function the barycenter of the defect or center of the sample will be placed at the beginning or at the end of the image depending on where the most bounding box of the sample or blob is located.

Unrolled circular crown

Circular images are managed by Retina, Deep Cortex and Deep Surface modules and by the functions sb_svl_run, sb_project_detection and sb_blobs_detection.

Note
The SB library does not do the unrolling of the image but should be done by the user.
Default
Default value is SB_IMAGE_CIRCULARITY_TYPE_NONE.

Definition at line 11377 of file sb.h.

◆ image_ext

char sb_t_svl_par::image_ext[64]

Extensions of the images.

List of the extensions of the images that the function sb_svl_run searchs in the project_path.
See SB_IMAGE_FILE_EXTENSIONS for a complete list of the possible extensions.

See also
Loading an image from file

Definition at line 11297 of file sb.h.

◆ num_threads

int sb_t_svl_par::num_threads

Maximum number of OpenMP threads that SVL can use.

The value 0 means: half of the available threads for physical machines and all available threads for virtual machines.

Default
The default value is 0.
See also
License configurations
Parallel computing

Definition at line 11313 of file sb.h.

◆ reproducibility

int sb_t_svl_par::reproducibility

Enable the reproducibility of the training.

If enabled, training results are repeatable for all the SVL runs, provided that sb_t_svl_par and the dataset are the same.
Otherwise, some random initializations are applied during SVL, leading each time to different training results.
The possible values are:

  • 0: disabled
  • != 0: enabled
Attention
For Deep Cortex and Deep Surface projects reproducibility is guaranteed only on CPU computational devices and when all parameters of the structure sb_t_svl_par being equal. For example, the svl results also change with different number of threads.
Moreover reproducibility is guaranteed only on the same machine and not between different machines.
For example, trainings done on the same Virtual Machines on different Intel-based computers are reproducible.

Definition at line 11329 of file sb.h.

◆ sl

sb_t_svl_sl_par sb_t_svl_par::sl

Shallow Learning SVL parameters.

Training parameters used only by Deep Cortex and Surface projects.

Definition at line 11342 of file sb.h.

◆ user_data

void* sb_t_svl_par::user_data

Pointer to data which is passed to the callbacks.

See also
SVL Callbacks

Definition at line 11284 of file sb.h.


The documentation for this struct was generated from the following file: