Introduction
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)
Simple Tensorflow AI Decision Properties
Simple Tensorflow AI Decision
Name | Description | ||||||
---|---|---|---|---|---|---|---|
Tensorflow Session | The Tensorflow Session properties are defined here:
| ||||||
Rules | The Rules properties are defined here:
|
Add Session
Sub-element | Description |
---|---|
Model |
|
Delete Session | |
Input Output | 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 |
---|---|
Input Name | Defined Input Tensor |
Script | Script in Java. Please see Bean Shell Programming Guide for code example. |
Delete Input |
Image
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 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 |
---|---|
Input Name | Defined Input Tensor |
Type |
|
Delete Input |
Audio MelSpectrogram
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 in (Hz) |
Max Frequency (Hz) | Maximum Frequency in (Hz) |
Delete Input |
File(Bytes)
Name | Description |
---|---|
Input Name | Defined Input Tensor |
File Source |
|
URL or File Upload Field ID |
|
Delete Input |
Numbers
Sub-element | Description |
---|---|
Input Name | Defined Input Tensor |
Type |
|
Number Values (Separated by) | separate number values by ; |
Delete Input |
Text
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 the dictionary) |
Delete Input |
Add Output
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 |
Add Post Processing
BeanShell Script
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 |
Image Detection Boxes
Name | Description |
---|---|
Post Processing Name | User-defined variable. Can be used as a Variable in the Rules |
Font Size (pixel) | The font size of detected labels in pixels. |
File Source |
|
URL or Image Upload Field ID |
|
File Output Source |
|
Output Image Upload Field ID |
|
Output Image File Name | User-defined variable. Name of the output image file. |
Labels (TXT) | In this field, upload a .txt file containing the labels of the detected classes |
Colors (TXT) | In this field, upload a .txt file containing the labels of the detected classes |
Detected Classes | <List of classes detected in from output> |
Number of Detected | The number of the classes detected in the input source. |
Detected Scores | <List of scores detected from output> |
Detected Scores Threshold | set the threshold of the detected scores (e.g 0.01) |
Detected Boxes | <List of detected boxes from output> |
Boxes Type |
|
Detected Values to Labels
Sub-element | Description |
---|---|
Post Processing Name | User-defined variable. Can be used as a Variable in the Rules |
Get Unique Only | Check to get unique values only. |
Labels (TXT) | Dictionary file in .txt format |
Detected Classes | <List of classes detected from output> |
Number of Detected | The number of the classes detected in the input source. |
Detected Scores | <List of scores detected from output> |
Detected Scores Threshold | set the threshold of the detected scores (e.g 0.01) |
Delete Post-Processing |
Euclidean Distance
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 |
Probabilities to Labels
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 (TXT) | Dictionary file in .txt format |
Temporary Variable Name | List of Temporary Variables from Output |
Delete Post-Processing |
Add Rule
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. |
Add Condition
Name | Description |
---|---|
Toggle between EQUAL and NOT EQUAL | |
Variable | User input the variable name. Also accepts the use of Temporary Variable or Post Processing Name |
Operation |
|
Value | set the input the value of the Variable |
Delete Condition |
Add Action
Name | Description |
---|---|
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 of 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