F_VN_TrainBatch
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
Inputs
Name |
Type |
Description |
---|---|---|
ipMlModel |
Classifier, clusterer, novelty detector, or regressor to be used | |
ipSamples |
Container holding a batch of input samples (ContainerType_Vector_Vector_REAL or ContainerType_Vector_Vector_LREAL) | |
ipOutputs |
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 indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
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:
- Class label for a classification:
ContainerType_Vector_DINT
- Numerical result values for a scalar regression:
ContainerType_Vector_REAL
orContainerType_Vector_LREAL
- Numerical result values for a vector regression:
ContainerType_Vector_Vector_REAL
orContainerType_Vector_Vector_LREAL
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 |