Predict
Syntax
Definition:
METHOD Predict : BOOL
VAR_INPUT
pDataInp : PVOID;
nDataInpDim : UDINT;
fmtDataInpType : ETcMllDataType;
pDataOut : PVOID;
nDataOutDim : UDINT;
fmtDataOutType : ETcMllDataType;
nEngineId : UDINT;
nConcurrencyId : UDINT;
END_VAR
Inputs
Name |
Type |
Description |
---|---|---|
pDataInp |
PVOID |
Pointer to the input data array (e.g. ARRAY[0..10] OF REAL in PLC) |
nDataInpDim |
UDINT |
Number of inputs in the current vector |
fmtDataInpType |
ETcMllDataType data type of input array | |
pDataOut |
PVOID |
Pointer to the output data array (e.g. ARRAY[0..10] OF REAL in PLC) |
nDataOutDim |
UDINT |
Number of outputs in the current vector |
fmtDataOutType |
ETcMllDataType data type of output array | |
nEngineId |
UDINT |
Id of model engine (or parameter set) used for prediction, use default value 0 if there are no multi-engines used |
nConcurrencyId |
UDINT |
Id of the processing thread. Important: Never have two concurrently processing threads use the same id. |
Return value
BOOL
The method performs the inference of the loaded model with the given input data and stores the result in the output data. Use configure method to load a ML model description file before calling Predict method.
For the inputs and outputs a pointer, the number of inputs/outputs and the data type are needed.
Sample call:
dtype : ETcMllDataType.E_MLLDT_FP32_REAL;
nInputDim : UDINT := 3;
nOutputDim : UDINT := 2;
nInput : ARRAY[1..3] OF REAL;
nOutput : ARRAY[1..2] OF REAL;
nCurrentEngineID : UDINT := 0;
nConcurrencyId : UDINT := 0;
fbprediction.Predict(
pDataInp:=ADR(nInput) ,
nDataInpDim:= nInputDim,
fmtDataInpType:= dtype,
pDataOut:=ADR(nOutput) ,
nDataOutDim:= nOutputDim,
fmtDataOutType:= dtype,
nEngineId:= nCurrentEngineID,
nConcurrencyId:= nConcurrencyId );