Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

...

Introduction

English
The green
bgColorwhite
borderWidth1
titleBGColor#ddffcc
borderStylesolid
titleDefinition
 The Simple Tensorflow AI Decision plugin allows one to run an AI modelmap 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

Warning
Please take note that the Decision Tool Plugin will take precedence over existing conventional conditional setup in the Process Builder

 

Image Removed


Simple Tensorflow AI Decision Properties

...

Simple Tensorflow AI Decision

Image Added Properties

NameDescription
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

Figure 2 : Simple Tensorflow AI Decision Properties - Add Session
Rules

The Rules properties 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 Added

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

 

Image Removed

Figure 3 : Simple Tensorflow AI Decision Properties -



Add Input

...

BeanShell Script

...

Image Added

Sub-elementDescription
Input Name
 
Defined Input Tensor
Script

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

Image Modified
Delete Input
 


Image

Image Modified

...

Sub-elementDescription
Input Name
 
Defined 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 Name
 
Defined Input Tensor
Value
Type
  • True
  • False

Image Modified

Delete Input
 


Audio MelSpectrogram

Image Modified

...

Sub-elementDescription
Input Name
 
Defined 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 Added
Delete Input


Numbers

Image Added

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 Added

Sub-elementDescription
Input

 

Image Removed

The Add Output properties are defined here:
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 In Frontcheck to leave the front of the Value as Empty (or whatever value based on dictionary)
Image Added
Delete Input


Add Output

Text

Image Added

Sub-elementDescription
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
Image Modified
Delete Output

 

The Add Post Processing properties are defined here:

RulesThe Rules properties are defined here:



Add Post Processing

BeanShell Script

Image Added

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 Added
Delete Post-Processing


Values to Labels

Image Added

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 Added
Delete Post-Processing


Euclidean Distance

Image Added

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 Added
Delete Post-Processing


Probabilities to Labels

Image Added

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

 

Image Removed

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

Sub-elementDescriptionImage Removed
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 Added
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 Removed
Image Added
Delete Rule
Image Removed
Image Added
Sort - Click and drag to reorder Rule above or below another Rule
Add ActionAdds an Action within the THEN statement.
 

Image Removed

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

Sub-element


Add Condition

Image Added

NameDescription
Image Removed

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 Removed
Image Added
Delete Condition
 

Image Removed

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

Sub-element



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

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 RemovedDelete Action

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