From e12bf14b57c5718804174620176ed3e7dbec77d4 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sat, 13 Feb 2021 13:48:32 +0100 Subject: [PATCH] Input Shape --- Projects/TensorFlow/Icons/configuration.png | Bin 0 -> 11790 bytes Projects/TensorFlow/Schemas/AppSchema.json | 49 ++++++++++++++++++ .../Schemas/Docs-Nodes/input-shape.json | 13 +++++ 3 files changed, 62 insertions(+) create mode 100644 Projects/TensorFlow/Icons/configuration.png create mode 100644 Projects/TensorFlow/Schemas/Docs-Nodes/input-shape.json diff --git a/Projects/TensorFlow/Icons/configuration.png b/Projects/TensorFlow/Icons/configuration.png new file mode 100644 index 0000000000000000000000000000000000000000..b9edd20c96934f24add94095a2f07bb35034d6fa GIT binary patch literal 11790 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 B(Bl9A literal 0 HcmV?d00001 diff --git a/Projects/TensorFlow/Schemas/AppSchema.json b/Projects/TensorFlow/Schemas/AppSchema.json index a9033d28f..9bd5d1e65 100644 --- a/Projects/TensorFlow/Schemas/AppSchema.json +++ b/Projects/TensorFlow/Schemas/AppSchema.json @@ -1457,6 +1457,14 @@ { "type": "Input Layer", "menuItems": [ + { + "action": "Add UI Object", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "inputShape", + "label": "Add Input Shape", + "relatedUiObject": "Input Shape", + "actionFunction": "payload.executeAction" + }, { "action": "Delete UI Object", "askConfirmation": true, @@ -1479,6 +1487,47 @@ "compatibleTypes": "->Secuential Model->" }, "propertyNameAtParent": "inputLayer", + "childrenNodesProperties": [ + { + "name": "inputShape", + "type": "node", + "childType": "Input Shape" + } + ], + "icon": "tensorflow" + }, + { + "type": "Input Shape", + "menuItems": [ + { + "action": "Configure", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration", + "actionFunction": "uiObject.configEditor.activate" + }, + { + "action": "Delete UI Object", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity", + "actionFunction": "payload.executeAction" + } + ], + "editors": { + "config": true + }, + "initialValues": { + "config": "{ \n \"value\": 1\n}" + }, + "addLeftIcons": true, + "level": 3, + "attachingRules": { + "compatibleTypes": "->Input Layer->" + }, + "propertyNameAtParent": "inputShape", "childrenNodesProperties": [], "icon": "tensorflow" }, diff --git a/Projects/TensorFlow/Schemas/Docs-Nodes/input-shape.json b/Projects/TensorFlow/Schemas/Docs-Nodes/input-shape.json new file mode 100644 index 000000000..c6a6286ef --- /dev/null +++ b/Projects/TensorFlow/Schemas/Docs-Nodes/input-shape.json @@ -0,0 +1,13 @@ +{ + "type": "Input Shape", + "definition": { + "text": "The first layer in the model needs an inputShape. Make sure you exclude the batch size when providing the inputShape. For example, if you plan to feed the model tensors of shape [B, 784], where B can be any batch size, specify inputShape as [784] when creating the model.", + "updated": 1613220197721 + }, + "paragraphs": [ + { + "style": "Text", + "text": "Left click and select the pencil button to enter edit mode." + } + ] +} \ No newline at end of file