F_VN_TrainBatch

F_VN_TrainBatch 1:

Train a classifier, a clusterer, a novelty detector, or a regressor with a batch of samples. On-line trainable models are trained once with each sample. Depending on the application and the number of available training samples, repeated training of such models with the same data may improve the results.
Can use available TwinCAT Job Tasks for executing parallel code regions.

Syntax

Definition:

FUNCTION F_VN_TrainBatch : HRESULT
VAR_INPUT
    ipMlModel : ITcVnMlModel;
    ipSamples : ITcUnknown;
    ipOutputs : ITcVnContainer;
    hrPrev    : HRESULT;
END_VAR

F_VN_TrainBatch 2: Inputs

Name

Type

Description

ipMlModel

ITcVnMlModel

Classifier, clusterer, novelty detector, or regressor to be used

ipSamples

ITcUnknown

Container holding a batch of input samples (ContainerType_Vector_Vector_REAL or ContainerType_Vector_Vector_LREAL)

ipOutputs

ITcVnContainer

Class labels (for classification, ContainerType_Vector_DINT) or target outputs (for regression with scalar output, ContainerType_Vector_REAL or ContainerType_Vector_LREAL; for regression with vectorial output, ContainerType_Vector_Vector_REAL or ContainerType_Vector_Vector_LREAL) to be learnt (must be 0 for clusterers and for novelty detectors)

hrPrev

HRESULT

HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.)

F_VN_TrainBatch 3: Return value

HRESULT

Further information

The function F_VN_TrainBatch trains a model with several samples. Depending on the type of model, the result values must have a different type (see ipOutputs). Classifier, clusterer, novelty detector and regressor are supported as model types.

Parameter

Model

The previously created model must be transferred to ipMlModel.

Samples

The samples are transferred to ipSamples in a container. The type of container must be ContainerType_Vector_Vector_REAL or ContainerType_Vector_Vector_LREAL.

Results

The known results for the samples are transferred to ipOutputs in a container. Depending on the type of model, the container must have a different type:

If it is a Clusterer model or a novelty detector, it must be ipOutputs := 0.

Application

For example, an ML model for classification can be trained like this:

hr := F_VN_TrainBatch(
    ipMlModel   := ipMlModel,
    ipSamples   := ipSamples,
    ipOutputs   := ipClassLabels,
    hrPrev      := hr);

Related functions

Required License

TC3 Vision Machine Learning

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1.4024.54 or later

PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU

Tc3_Vision