Introduction
The Simple Tensorflow AI Decision plugin allows one to map it on a process route, execute a pre-trained Tensorflow AI model and use the output result for decision making.
The following are the list of required items before using Simple Tensorflow AI Decision:
- an exported frozen model of Tensorflow AI model file in .pb format
- the list of Input Names and each of their Data Type
- the list of Output Names and each of their Data Type
- Dictionary file in .csv format (if any)
This is a new feature in Joget DX
Simple Tensorflow AI Decision Properties
Simple Tensorflow AI Decision
Name | Description | Screens (click to view) | ||||||
---|---|---|---|---|---|---|---|---|
Tensorflow Session | The Tensorflow Session properties are defined here:
| |||||||
Rules | The Rules properties are defined defined here:
|
Add Session
Sub-element | Description | Screens (click to view) |
---|---|---|
Model |
| |
Delete Session | ||
Add Input | When hovering the mouse over the Add Input, a list of Pre-Processing Input types will be available as shown below:
| |
Add Output | see Add Output properties |
Add Input
BeanShell Script
Sub-element | Description | Screens (click to view) |
---|---|---|
Input Name | Defined Input Tensor | |
Script | Script in Java. Please see Bean Shell Programming Guide for code example. | |
Delete Input |
Image
Sub-element | Description | Screens (click to view) |
---|---|---|
Input Name | Defined Input Tensor | |
Type |
| |
File Source |
| |
URL or Image Upload Field ID |
| |
Width | Width in Integer | |
Height | Height in Integer | |
Mean | Mean in Integer Note If its not defined, set to 1 | |
Scale | Scale in Integer Note If its not defined, set to 1 | |
Delete Input |
Boolean
Sub-element | Description | Screens (click to view) |
---|---|---|
Input Name | Defined Input Tensor | |
Value |
| |
Delete Input |
Audio MelSpectrogram
Sub-element | Description | Screens (click to view) |
---|---|---|
Input Name | Defined Input Tensor | |
File Source |
| |
URL or File Upload Field ID |
| |
Width | Width in Integer | |
Height | Height in Integer | |
FFT Size | FFT Size in Integer | |
Overlap Size | Overlap Size in Integer | |
Min Frequency (Hz) | Minimum Frequency (Hz) in | |
Max Frequency (Hz) | Maximum Frequency (Hz) in | |
Delete Input |
Numbers
Sub-element | Description | Screens (click to view) |
---|---|---|
Input Name | Defined Input Tensor | |
Type |
| |
Number Values | separate number values by ; | |
Delete Input |
Text
Sub-element | Description | Screens (click to view) |
---|---|---|
Input Name | Defined Input Tensor | |
Type |
| |
Text Value | The text value inputted to be inserted into the Tensor. Can use Hash Variable. | |
Dictionary (JSON/CSV) | Dictionary in JSON or CSV format | |
Max Length | Maximum Length | |
Leave Empty In Front | check to leave the front of the Value as Empty (or whatever value based on dictionary) | |
Delete Input |
Add Output
Text
Sub-element | Description | Screens (click to view) |
---|---|---|
Output Name | Defined Output Tensor | |
Temporary Variable Name | The Output Tensor Value will be inserted into this user-defined Temporary Variable to be later used during Post-Processing | |
Delete Output |
Add Post Processing
BeanShell Script
Sub-element | Description | Screens (click to view) |
---|---|---|
Post Processing Name | User-defined variable. Can be used as a Variable in the Rules | |
Script | Script in Java. Please see Bean Shell Programming Guide for code example. Injected variables available for consumption are:-
| |
Delete Post-Processing |
Values to Labels
Sub-element | Description | Screens (click to view) |
---|---|---|
Post Processing Name | User-defined variable. Can be used as a Variable in the Rules | |
Get Unique Only | Check to get only unique value only | |
Labels (CSV) | Dictionary file in .csv format | |
Temporary Variable Name | List of Temporary Variables from Output | |
Number of Values | List of Temporary Variables from Output | |
Delete Post-Processing |
Euclidean Distance
Sub-element | Description | Screens (click to view) |
---|---|---|
Post-Processing Name | User-defined variable. Can be used as a Variable in the Rules | |
Temporary Variable Name | List of Temporary Variables from Output | |
Temporary Variable Name | List of Temporary Variables from Output | |
Delete Post-Processing |
Probabilities to Labels
Sub-element | Description | Screens (click to view) |
---|---|---|
Post Processing Name | User-defined variable. Can be used as a Variable in the Rules | |
Threshold | set the Threshold value e.g. 0.01 | |
Get Highest Only | Check to get the highest value only | |
Labels (CSV) | Dictionary file in .csv format | |
Temporary Variable Name | List of Temporary Variables from Output | |
Delete Post-Processing |
Add Rule
Name | Description | Screens (Click to view) |
---|---|---|
Toggle between EQUAL and NOT EQUAL | ||
Split Type |
| |
Add Condition | Adds a Condition within the IF statement. see Add Condition properties below | |
Add Group | Adds a Group within the IF statement. Properties will be similar in Add Rule properties | |
Delete Rule | ||
Sort - Click and drag to reorder Rule above or below another Rule | ||
Add Action | Adds an Action within the THEN statement. |
Add Condition
Name | Description | Screens (Click to view) |
---|---|---|
Toggle between EQUAL and NOT EQUAL | ||
Variable | User input the variable name. Also accepts the use Temporary Variable or Post Processing Name | |
Operation |
| |
Value | User to input the value of the Variable | |
Delete Condition |
Add Action
Name | Description | Screens (Click to view) |
---|---|---|
Type |
| |
Transition | Will display a selection of all available transitions based on the selected Route inserted as part of the process flow Note This field will be displayed if Transition is selected in the Type field. | |
Workflow Variable | Will display a selection of all available workflow variables based on the current Process Note This field will be displayed if Workflow Variable is selected in the Type field. | |
Value | User to input the value of the selected Workflow Variable. Also accepts the use Temporary Variable or Post Processing Name Note This field will be displayed if Workflow Variable is selected in the Type field. | |
Delete Action |
Download Sample App
Demo AI - Facial Recognition app:
APP_demo_ai_face_recog-demoApp_noPB.zip
Note: The pre-trained AI model below must be added to this app before ready to use.
Pre-trained AI model:
Note: Please download the AI model here, extract the zip, and add the 20180402-114759.pb file into the app's Resource in the Properties and Export app design menu.
Credits:
Facenet Tensorflow for pre-trained AI model: https://github.com/davidsandberg/facenet
VGGFace2 for the training dataset: https://github.com/ox-vgg/vgg_face2
Attachments:






















