Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel
borderColorpurple
bgColorwhite
borderWidth1
titleBGColor#ddccff
borderStylesolid
titleNew Feature

This is a new feature in Joget DX

Table of Contents

Introduction

English
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.
Warning

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)
Warning
Please take note that the Decision Tool Plugin will take precedence over existing conventional conditional setup in the Process Builder
Panel
borderColorpurple
bgColorwhite
borderWidth1
titleBGColor#ddccff
borderStylesolid
titleNew Feature

This is a new feature in Joget DX


Simple Tensorflow AI Decision Properties

Simple Tensorflow AI Decision

Image Added

NameDescription
Screens (click to view)
Tensorflow Session

The Tensorflow Session properties are defined here:

Sub-elementDescription
Add SessionAdd a Session. see Add Session properties below.
Add Post Processing

When hovering the mouse over the Add Post Processing, a list of Post Processing types will be available as shown below:

  • BeanShell Script -
see
  • see Add Post Processing -
Beanshell Script properties
  • BeanShell Script  properties
  • Values to Labels - see Add Post Processing - Values to Labels properties
  • Euclidean Distance - see Add Post Processing - Euclidean Distance properties
  • Probabilities to Labels - see Add Post Processing - Probabilities to Labels properties
Image Removed
Rules

The Rules properties

have the same properties as seen in Simple Rules Decision

are defined defined here:

Sub-elementDescription
Add RuleAdd a Rule. see Add Rule properties below
Add ActionAdds an Action within the ELSE THEN statement. see Add Action properties below



Add Session

Image Modified

Figure 2 : Simple Tensorflow AI Decision Properties - Add Session properties are defined here:

Sub-elementDescription
Model
  • Choose File - Select an AI model to run
  • Clear - clear selected AI model

Image Modified

Delete Session
Add
Input Output

When hovering the mouse over the Add Input, a list of Pre-Processing Input types will be available as shown below:

  • BeanShell Script - see Add Input - Beanshell Script properties
  • Image - see Add Input - Image properties
  • Boolean - see Add Input - Boolean properties
  • Audio MelSpectogram - see Add Input - Audio Melspectogram properties
  • Numbers - see Add Input - Numbers properties
  • Text - see Add Input - Text properties
Add Outputsee Add Output properties



Add Input

BeanShell Script

Image ModifiedFigure 3 : Simple Tensorflow AI Decision Properties - Add Input - BeanShell Script properties are defined here:

Sub-elementDescription
Input NameDefined Input Tensor
Script

Script in Java. Please see  Bean Shell Programming Guide for code example.

Image Modified
Delete Input


Image

Image ModifiedFigure 4 : Simple Tensorflow AI Decision Properties - Add Input - Image properties are defined here:

Sub-elementDescription
Input NameDefined Input Tensor
Type
  • Float
  • Double
  • Integer
  • UInt8
  • Long
File Source
  • Retrieve from URL
  • <list of all available Forms>
URL or Image Upload Field ID
  • URL input if Retrieve from URL was selected as the File Source
  • Image Upload Field ID if a Form was selected as the File Source
Width

Width in Integer

Height

Height in Integer

Mean

Mean in Integer

Note
titleNote
If its not defined, set to 1
Scale

Scale in Integer

Note
titleNote
If its not defined, set to 1
Image Modified
Delete Input


Boolean

Image Modified

Figure 5 : Simple Tensorflow AI Decision Properties - Add Input - Image properties are defined here:

Sub-elementDescription
Input NameDefined Input Tensor
Value
Type
  • True
  • False

Image Modified

Delete Input


Audio MelSpectrogram

Image Modified

Figure 6 : Simple Tensorflow AI Decision Properties - Add Input - Audio MelSpectrogram properties are defined here:

Sub-elementDescription
Input NameDefined Input Tensor
File Source
  • Retrieve from URL
  • <list of all available Forms>
URL or File Upload Field ID
  • URL input if Retrieve from URL was selected as the File Source
  • File Upload Field ID if a Form was selected as the File Source
WidthWidth in Integer
Height

Height in Integer

FFT SizeFFT Size in Integer
Overlap SizeOverlap Size in Integer
Min Frequency (Hz)Minimum Frequency (Hz) in
Max Frequency (Hz)Maximum Frequency (Hz) in
Image Modified
Delete Input


Numbers

Image ModifiedFigure 7 : Simple Tensorflow AI Decision Properties - Add Input - Numbers properties are defined here:

Sub-elementDescription
Input NameDefined Input Tensor
Type
  • Float
  • Double
  • Integer
  • UInt8
  • Long
Number Values (Separated by)separate number values by ;

Image Modified

Delete Input


Text

Image ModifiedFigure 8 : Simple Tensorflow AI Decision Properties - Add Input - Text properties are defined here:

Sub-elementDescription
Input NameDefined Input Tensor
Type
  • Float
  • Double
  • Integer
  • UInt8
  • Long
Text ValueThe text value inputted to be inserted into the Tensor. Can use Hash Variable.
Dictionary (JSON/CSV)Dictionary in JSON or CSV format
Max LengthMaximum Length 
Leave Empty
On
In Frontcheck to leave the front of the Value as Empty (or whatever value based on dictionary)
Image Modified
Delete Input


Add Output

Text

Image ModifiedFigure 9 : Simple Tensorflow AI Decision Properties - Add Output - Text properties are defined here:

Sub-elementDescription
Output NameDefined Output Tensor
Temporary Variable NameThe Output Tensor Value will be inserted into this user-defined Temporary Variable to be later used during Post-Processing
Image Modified
Delete Output



Add Post Processing

BeanShell Script

Image ModifiedFigure 10 : Simple Tensorflow AI Decision Properties - Add Post-Processing - BeanShell Script properties are defined here:

Sub-elementDescription
Post Processing NameUser-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:-

  • String Name
  • Map tfVariables
  • Map Variables
  • Map tempDataHolder
Image Modified
Delete Post-Processing


Values to Labels

Image ModifiedFigure 11 : Simple Tensorflow AI Decision Properties - Add Post-Processing - Values to Labels properties are defined here:

Sub-elementDescription
Post Processing NameUser-defined variable. Can be used as a Variable in the Rules
Get Unique OnlyCheck to get only unique value only
Labels (CSV)Dictionary file in .csv format
Temporary Variable NameList of Temporary Variables from Output
Number of ValuesList of Temporary Variables from Output
Image Modified
Delete Post-Processing


Euclidean Distance

Image Modified

Figure 12 : Simple Tensorflow AI Decision Properties - Add Post-Processing - Euclidean Distance properties are defined here:

Sub-elementDescription
Post-Processing NameUser-defined variable. Can be used as a Variable in the Rules
Temporary Variable NameList of Temporary Variables from Output
Temporary Variable NameList of Temporary Variables from Output
Image Modified
Delete Post-Processing


Probabilities to Labels

Image Modified

Figure 13 : Simple Tensorflow AI Decision Properties - Add Post-Processing - Probabilities to Labels properties are defined here:

Sub-elementDescription
Post Processing NameUser-defined variable. Can be used as a Variable in the Rules
Thresholdset the Threshold value e.g. 0.01
Get Highest OnlyCheck to get the highest value only
Labels (CSV)Dictionary file in .csv format
Temporary Variable NameList of Temporary Variables from Output
Image Modified
Delete Post-Processing




Add Rule

Image Added

NameDescription

Image Added

Toggle between EQUAL and NOT EQUAL
Split Type
  • AND
  • OR
Add ConditionAdds a Condition within the IF statement. see Add Condition properties below
Add GroupAdds a Group within the IF statement. Properties will be similar in Add Rule properties
Image Added
Delete Rule
Image Added
Sort - Click and drag to reorder Rule above or below another Rule
Add ActionAdds an Action within the THEN statement.


Add Condition

Image Added

NameDescription

Image Added

Toggle between EQUAL and NOT EQUAL
Variable

User input the variable name. Also accepts the use Temporary Variable or Post Processing Name

Operation
  • Equal
  • Greater Than
  • Greather Than Or Equal To
  • Less Than
  • Less Than Or Equal To
  • Is True
  • Is False
  • Contains
  • In
  • Regex Match
Value

User to input the value of the Variable

Image Added
Delete Condition



Add Action

Image Added

NameDescription
Type
  • Transition
  • Workflow Variable
Transition

Will display a selection of all available transitions based on the selected Route inserted as part of the process flow

Note
titleNote

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
titleNote

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
titleNote

This field will be displayed if Workflow Variable is selected in the Type field.

Image Added

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:

AI Model Download Link

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