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:
|
| Please take note that the Decision Tool Plugin will take precedence over existing conventional conditional setup in the Process Builder |
This is a new feature in Joget DX |
| Description | ||||||
|---|---|---|---|---|---|---|
The Tensorflow Session properties are defined here:
| ||||||
The Rules properties are defined defined here:
|

| Description |
|---|
|
| Delete Session |
When hovering the mouse over the Add Input, a list of Pre-Processing Input types will be available as shown below:
|
| see Add Output properties |

| Sub-element | Description |
|---|---|
| Input Name | Defined Input Tensor |
| Script | Script in Java. Please see Bean Shell Programming Guide for code example. |
| Delete Input |

| Sub-element | Description | |
|---|---|---|
| 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
| |
| Scale | Scale in Integer
| |
| Delete Input |

| Description | Screens (click to view) |
|---|---|
| Defined Input Tensor | |
| |
| Delete Input |

| Sub-element | Description |
|---|---|
| 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 |

| Description | Screens (click to view) |
|---|---|
| Defined Input Tensor | |
| |
| separate number values by ; | |
| Delete Input |

| Sub-element | Description |
|---|---|
| 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 |

| Sub-element | Description |
|---|---|
| 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 |

| Sub-element | Description |
|---|---|
| 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 |

| Sub-element | Description |
|---|---|
| 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 |

| Sub-element | Description |
|---|---|
| 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 |

| Sub-element | Description |
|---|---|
| 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 |

| Name | Description |
|---|---|
| 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. |

| Name | Description |
|---|---|
| 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 |

| Name | Description | |
|---|---|---|
| Type |
| |
| Transition | Will display a selection of all available transitions based on the selected Route inserted as part of the process flow
| |
| Workflow Variable | Will display a selection of all available workflow variables based on the current Process
| |
| Value | User to input the value of the selected Workflow Variable. Also accepts the use Temporary Variable or Post Processing Name
| |
| Delete Action |

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