import * as Blockly from 'blockly/core'; const TENSORFLOW_HUE = '#1216ab'; Blockly.Blocks.tensorflow_init_tensor = { init: function () { this.appendValueInput("VAR") .setCheck(null) .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_INIT_TENSOR); this.setOutput(true, null); this.setColour(TENSORFLOW_HUE); this.setTooltip(''); this.setHelpUrl(''); } }; Blockly.Blocks.tensorflow_sequential = { init: function () { this.appendDummyInput() .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_SEQUENTIAL); this.setOutput(true, null); this.setColour(TENSORFLOW_HUE); this.setTooltip(''); this.setHelpUrl(''); } }; Blockly.Blocks.tensorflow_layers_dense = { init: function () { this.appendDummyInput() .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_INIT_LAYERS_DENSE_LAYER); this.appendValueInput("VAR1") .setCheck(null) .setAlign(Blockly.ALIGN_RIGHT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_OUTPUT_DIMENSION); this.appendValueInput("VAR2") .setCheck(null) .setAlign(Blockly.ALIGN_RIGHT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_INPUT_SHAPE); this.setOutput(true, null); this.setColour(TENSORFLOW_HUE); this.setTooltip(''); this.setHelpUrl(''); } }; Blockly.Blocks.tensorflow_add = { init: function () { this.appendValueInput("VAR1") .setCheck(null) .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_MODEL); this.appendValueInput("VAR2") .setCheck(null) .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_ADD_LAYER); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setColour(TENSORFLOW_HUE); this.setTooltip(''); this.setHelpUrl(''); } }; Blockly.Blocks.tensorflow_compile = { init: function () { this.appendValueInput("VAR1") .setCheck(null) .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_COMPILE_MODEL); this.appendDummyInput() .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_LOSS_FUNCTION_TYPE) .appendField(new Blockly.FieldDropdown([ [Blockly.Msg.MIXLY_TENSORFLOW_MEAN_SQUARED_ERROR, "meanSquaredError"] ]), "VAR2"); this.appendDummyInput() .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_OPTIMIZER) .appendField(new Blockly.FieldDropdown([ [Blockly.Msg.MIXLY_TENSORFLOW_SGD, "sgd"] ]), "VAR3"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setColour(TENSORFLOW_HUE); this.setTooltip(''); this.setHelpUrl(''); } }; Blockly.Blocks.tensorflow_fit = { init: function () { this.appendValueInput("VAR1") .setCheck(null) .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_FIT_MODEL); this.appendValueInput("VAR2") .setCheck(null) .setAlign(Blockly.ALIGN_RIGHT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_FIT_INPUT_DATA); this.appendValueInput("VAR3") .setCheck(null) .setAlign(Blockly.ALIGN_RIGHT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_FIT_TARGET_DATA); this.appendValueInput("VAR4") .setCheck(null) .setAlign(Blockly.ALIGN_RIGHT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_FIT_EPOCHS); this.appendValueInput("VAR5") .setCheck(null) .setAlign(Blockly.ALIGN_RIGHT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_FIT_VERBOSE); this.appendDummyInput() .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_FIT_RETURN_HISTORY); this.setInputsInline(false); this.setOutput(true, null); this.setColour(TENSORFLOW_HUE); this.setTooltip(''); this.setHelpUrl(''); } }; Blockly.Blocks.tensorflow_get_loss = { init: function () { this.appendValueInput("VAR") .setCheck(null) .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_GET_LOSS_FROM_HISTORY); this.appendDummyInput() .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_GET_LOSS_FROM_HISTORY_2); this.setOutput(true, null); this.setColour(TENSORFLOW_HUE); this.setTooltip(''); this.setHelpUrl(''); } }; Blockly.Blocks.tensorflow_predict = { init: function () { this.appendValueInput("VAR1") .setCheck(null) .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_PREDICT); this.appendValueInput("VAR2") .setCheck(null) .setAlign(Blockly.ALIGN_RIGHT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_PREDICT_INPUT_DATA); this.appendDummyInput() .setAlign(Blockly.ALIGN_RIGHT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_PREDICT_RETURN_RESULT); this.setInputsInline(false); this.setOutput(true, null); this.setColour(TENSORFLOW_HUE); this.setTooltip(''); this.setHelpUrl(''); } }; Blockly.Blocks.tensorflow_get_tensor_data = { init: function () { this.appendValueInput("VAR") .setCheck(null) .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_GET_TENSOR_DATA); this.setOutput(true, null); this.setColour(TENSORFLOW_HUE); this.setTooltip(''); this.setHelpUrl(''); } }; Blockly.Blocks.tensorflow_save_or_export_model = { init: function () { this.appendValueInput("NAME1") .setCheck(null) .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_MODEL); this.appendValueInput("NAME2") .setCheck(null) .setAlign(Blockly.ALIGN_LEFT) .appendField(new Blockly.FieldDropdown([ [Blockly.Msg.MIXLY_TENSORFLOW_SAVE_MODEL, "save"], [Blockly.Msg.MIXLY_TENSORFLOW_EXPORT_MODEL, "export"] ]), "NAME") .appendField(Blockly.Msg.MIXLY_TENSORFLOW_SAVE_MODEL_NAME); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setColour(TENSORFLOW_HUE); this.setTooltip(''); this.setHelpUrl(''); } }; Blockly.Blocks.tensorflow_use_load_model = { init: function () { this.appendValueInput("NAME") .setCheck(null) .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_LOAD_MODEL) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_MODEL_NAME); this.setInputsInline(true); this.setOutput(true, null); this.setColour(TENSORFLOW_HUE); this.setTooltip(''); this.setHelpUrl(''); } }; Blockly.Blocks.tensorflow_prepare_picture = { init: function () { this.appendValueInput("NAME") .setCheck(null) .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_PREPARE_PICTURE_TO_TENSOR) .appendField(Blockly.Msg.MIXLY_TENSORFLOW_PREPARE_PICTURE_READ_PICTURE); this.setInputsInline(true); this.setOutput(true, null); this.setColour(TENSORFLOW_HUE); this.setTooltip(''); this.setHelpUrl(''); } };