title: ML Model Inference
weight: 4618
Inference
This activity enables the inferencing of Machine Learning models within Flogo applications. This activity was built with a framework contribution model concept. The implemented framework is TensorFlow.
For detailed instructions, refer to the Flogo Documentation.
Installation
Flogo Web
This activity does not come pre-installed with the Web UI for a number of reasons, such as, the size, the requirement of TensorFlow lib and also the fact that it is an activity that is commonly used on a daily basis.
Flogo CLI
flogo install activity github.com/TIBCOSoftware/flogo-contrib/activity/inference
Schema
Inputs and Outputs:
{
"input":[
{
"name": "model",
"type": "string",
"required": true
},
{
"name": "framework",
"type": "string",
"required": true
},
{
"name": "sigDefName",
"type": "string",
"required": false,
"value":"serving_default"
},
{
"name": "tag",
"type": "string",
"required": false,
"value":"serve"
},
{
"name": "features",
"type": "array",
"required": true
}
],
"output": [
{
"name": "result",
"type": "object"
}
]
}
Settings
Setting |
Required |
Description |
model |
True |
The location to the archive. If using TensorFlow, the archive must contain the TensorFlow SavedModel |
framework |
True |
The framework to use. Other frameworks can be registered at build time, the only available framework is TensorFlow |
sigDefName |
False |
The default signature definition. This comes from the SavedModel metadata. The default value is serving_default |
tag |
False |
The model tag. This comes from the SavedModel metadata. The default value is serve |
features |
true |
An array of input features. Refer to the following sample. |
Example
Estimators
The following example demonstrates how to invoke the inference activity and pass the input feature set for the tensor named inputs
. Tensor names may vary, it is best to refer to the SavedModel metadata to identify the correct tensor name.
{
"id": "inference_2",
"name": "Invoke ML Model",
"activity": {
"ref": "github.com/TIBCOSoftware/flogo-contrib/activity/inference",
"input": {
"model": "Archive.zip",
"framework": "Tensorflow"
},
"mappings": {
"input": [
{
"type": "assign",
"value": [
{
"name": "inputs",
"data": {
"z-axis-q75": 4.140586,
"corr-x-z": 0.1381063882214782,
"x-axis-mean": 1.7554575428900194,
"z-axis-sd": 4.6888631696380765,
"z-axis-skew": -0.3619011587545954,
"y-axis-sd": -7.959084724314854,
"y-axis-q75": 16.467001,
"corr-z-y": 0.3467060369518231,
"x-axis-sd": 6.450293741961166,
"x-axis-skew": 0.09756801680727022,
"y-axis-mean": 9.389463650669393,
"y-axis-skew": -0.49036224958471764,
"z-axis-mean": 1.1226106985139188,
"x-axis-q25": -3.1463003,
"x-axis-q75": 6.3198414,
"y-axis-q25": 3.0645783,
"z-axis-q25": -1.9477097,
"corr-x-y": 0.08100326860866637
}
}
],
"mapTo": "features"
}
]
}
}
}