train_dl_model_anomaly_dataset
— Train a deep learning model for anomaly detection.
train_dl_model_anomaly_dataset( : : DLModelHandle, DLSamples, DLTrainParam : DLTrainResult)
The operator train_dl_model_anomaly_dataset
performs the training
of a deep learning model with 'type' ='anomaly_detection'
contained in DLModelHandle
.
This operator processes the full training dataset at once.
This is in contrast to the operator train_dl_model_batch
.
The iterations over the dataset are performed internally by the operator.
Consequently, you only need to call this operator once with the full training
dataset to train your anomaly detection model.
The training dataset is handed over in the tuple of dictionaries
DLSamples
.
See the chapter Deep Learning / Model for further information to the
used dictionaries and their keys.
The operator expects within the training dataset only images without anomaly
to train the anomaly detection model.
The dictionary DLTrainParam
can be used to change the
hyperparameters.
The following values are supported:
max_num_epochs
:
This parameter specifies the maximum number of epochs performed
during training.
In case the criterion specified by error_threshold
is reached in
an earlier epoch, the training will terminate regardless.
Restriction: max_num_epochs
>=1.
Default: max_num_epochs
= 30.
error_threshold
:
This parameter is a termination criterion for the training.
If the training error is less than the specified
error_threshold
, the training terminates successfully.
Restriction:
0.0 <= error_threshold
<= 1.0.
Default: error_threshold
= 0.001.
domain_ratio
:
This parameter determines the percentage of information of each image used
for training.
Since images tend to contain an abundance of information,
it is advisable to reduce its amount.
Additionally, reducing domain_ratio
can decrease the time needed
for training.
Please note, however, sufficient information needs to remain and
therefore this value should not be set too small either.
Otherwise the training result might not be satisfactory or the training
itself might even fail.
Restriction: 0.0 < domain_ratio
<= 1.0.
Default: domain_ratio
= 0.1.
regularization_noise
:
This parameter can be set to regularize the training in order to
improve robustness.
Restriction: regularization_noise
>=0.0.
Default: regularization_noise
= 0.0.
The output dictionary DLTrainResult
contains the following values:
final_error
:
The best error received during training.
final_epoch
The epoch in which the error final_error
was achieved.
The operator train_dl_model_anomaly_dataset
internally calls functions
that might not be deterministic.
Therefore, results from multiple calls of
train_dl_model_anomaly_dataset
can slightly differ, although the same
input values have been used.
System requirements:
To run this operator on GPU by setting 'runtime' to 'gpu'
(see get_dl_model_param
), cuDNN and cuBLAS are required.
For further details, please refer to the “Installation Guide”
,
paragraph “Requirements for Deep Learning and Deep-Learning-Based Methods”.
Alternatively, this operator
can also be run on CPU by setting 'runtime' to 'cpu' .
DLModelHandle
(input_control) dl_model →
(handle)
Deep learning model handle.
DLSamples
(input_control) dict-array →
(handle)
Tuple of Dictionaries with input images and corresponding information.
DLTrainParam
(input_control) dict →
(handle)
Parameter for training the anomaly detection model.
Default value: []
DLTrainResult
(output_control) dict →
(handle)
Dictionary with the train result data.
If the parameters are valid, the operator
train_dl_model_anomaly_dataset
returns the value 2 (H_MSG_TRUE). If necessary,
an exception is raised.
read_dl_model
,
set_dl_model_param
,
get_dl_model_param
Deep Learning Training