Versions Compared

Key

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

Table of Contents

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.

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

NameDescriptionScreens (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 Add Post Processing - 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

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

Sub-elementDescriptionScreens (click to view)
Model
  • Choose File - Select an AI model to run
  • Clear - clear selected AI 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:

  • 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

Sub-elementDescriptionScreens (click to view)
Input NameDefined Input Tensor




Script

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

Delete Input


Image

Sub-elementDescriptionScreens (click to view)
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
Delete Input


Boolean

Sub-elementDescriptionScreens (click to view)
Input NameDefined Input Tensor

Value
  • True
  • False
Delete Input


Audio MelSpectrogram

Sub-elementDescriptionScreens (click to view)
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
Delete Input


Numbers

Sub-elementDescriptionScreens (click to view)
Input NameDefined Input Tensor

Type
  • Float
  • Double
  • Integer
  • UInt8
  • Long
Number Valuesseparate number values by ;
Delete Input


Text

Sub-elementDescriptionScreens (click to view)
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 In Frontcheck to leave the front of the Value as Empty (or whatever value based on dictionary)
Delete Input

Add Output

Text

Sub-elementDescriptionScreens (click to view)
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
Delete Output

Add Post Processing

BeanShell Script

Sub-elementDescriptionScreens (click to view)
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
Delete Post-Processing


Values to Labels

Sub-elementDescriptionScreens (click to view)
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
Delete Post-Processing


Euclidean Distance

Sub-elementDescriptionScreens (click to view)
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
Delete Post-Processing


Probabilities to Labels

Sub-elementDescriptionScreens (click to view)
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
Delete Post-Processing



Add Rule

NameDescriptionScreens (Click to view)

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

Add Condition

NameDescriptionScreens (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
  • 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

Delete Condition

Add Action

NameDescriptionScreens (Click to view)
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.

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