export const tensorflow_init_tensor = function (_, generator) { var VALUE_INPUT_VAR = generator.valueToCode(this, "VAR", generator.ORDER_ATOMIC); generator.definitions_['import_tensorflow'] = 'import tensorflow'; var code = 'tensorflow.tensor(' + VALUE_INPUT_VAR + ')'; return [code, generator.ORDER_ATOMIC]; }; export const tensorflow_sequential = function (_, generator) { generator.definitions_['import_tensorflow'] = 'import tensorflow'; var code = 'tensorflow.sequential()'; return [code, generator.ORDER_ATOMIC]; }; export const tensorflow_layers_dense = function (_, generator) { generator.definitions_['import_tensorflow'] = 'import tensorflow'; var VALUE_INPUT_VAR1 = generator.valueToCode(this, "VAR1", generator.ORDER_ATOMIC); var VALUE_INPUT_VAR2 = generator.valueToCode(this, "VAR2", generator.ORDER_ATOMIC); var code = 'tensorflow.layers.dense(units = ' + VALUE_INPUT_VAR1 + ', input_shape = ' + VALUE_INPUT_VAR2 + ')'; return [code, generator.ORDER_ATOMIC]; }; export const tensorflow_add = function (_, generator) { generator.definitions_['import_tensorflow'] = 'import tensorflow'; var VALUE_INPUT_VAR1 = generator.valueToCode(this, "VAR1", generator.ORDER_ATOMIC); var VALUE_INPUT_VAR2 = generator.valueToCode(this, "VAR2", generator.ORDER_ATOMIC); var code = VALUE_INPUT_VAR1 + '.add(' + VALUE_INPUT_VAR2 + ')\n'; return code; }; export const tensorflow_compile = function (_, generator) { generator.definitions_['import_tensorflow'] = 'import tensorflow'; var VALUE_INPUT_VAR1 = generator.valueToCode(this, "VAR1", generator.ORDER_ATOMIC); var VALUE_INPUT_VAR2 = this.getFieldValue("VAR2"); var VALUE_INPUT_VAR3 = this.getFieldValue("VAR3"); var code = VALUE_INPUT_VAR1 + '.compile(loss = "' + VALUE_INPUT_VAR2 + '", optimizer = "' + VALUE_INPUT_VAR3 + '")\n'; return code; } export const tensorflow_fit = function (_, generator) { generator.definitions_['import_tensorflow'] = 'import tensorflow'; var VALUE_INPUT_VAR1 = generator.valueToCode(this, "VAR1", generator.ORDER_ATOMIC); var VALUE_INPUT_VAR2 = generator.valueToCode(this, "VAR2", generator.ORDER_ATOMIC); var VALUE_INPUT_VAR3 = generator.valueToCode(this, "VAR3", generator.ORDER_ATOMIC); var VALUE_INPUT_VAR4 = generator.valueToCode(this, "VAR4", generator.ORDER_ATOMIC); var VALUE_INPUT_VAR5 = generator.valueToCode(this, "VAR5", generator.ORDER_ATOMIC); var code = 'await ' + VALUE_INPUT_VAR1 + '.fit(' + VALUE_INPUT_VAR2 + ', ' + VALUE_INPUT_VAR3 + ', epochs=' + VALUE_INPUT_VAR4 + ', verbose=' + VALUE_INPUT_VAR5 + ')'; return [code, generator.ORDER_ATOMIC]; }; export const tensorflow_get_loss = function (_, generator) { generator.definitions_['import_tensorflow'] = 'import tensorflow'; var VALUE_INPUT_VAR = generator.valueToCode(this, "VAR", generator.ORDER_ATOMIC); var code = VALUE_INPUT_VAR + '.history.loss'; return [code, generator.ORDER_ATOMIC]; }; export const tensorflow_predict = function (_, generator) { generator.definitions_['import_tensorflow'] = 'import tensorflow'; var VALUE_INPUT_VAR1 = generator.valueToCode(this, "VAR1", generator.ORDER_ATOMIC); var VALUE_INPUT_VAR2 = generator.valueToCode(this, "VAR2", generator.ORDER_ATOMIC); var code = VALUE_INPUT_VAR1 + '.predict(' + VALUE_INPUT_VAR2 + ')'; return [code, generator.ORDER_ATOMIC]; }; export const tensorflow_get_tensor_data = function (_, generator) { generator.definitions_['import_tensorflow'] = 'import tensorflow'; var VALUE_INPUT_VAR1 = generator.valueToCode(this, "VAR", generator.ORDER_ATOMIC); var code = "(await " + VALUE_INPUT_VAR1 + ".data())"; return [code, generator.ORDER_ATOMIC]; }; export const tensorflow_save_or_export_model = function (_, generator) { generator.definitions_['import_tensorflow'] = 'import tensorflow'; var VALUE_INPUT_NAME1 = generator.valueToCode(this, "NAME1", generator.ORDER_ATOMIC); var FIELD_NAME = this.getFieldValue("NAME"); var VALUE_INPUT_NAME2 = generator.valueToCode(this, "NAME2", generator.ORDER_ATOMIC).replace(/^'|'$/g, ''); if (FIELD_NAME == "export") { return `await ${VALUE_INPUT_NAME1}.save("downloads://${VALUE_INPUT_NAME2}")\n`; } return `await ${VALUE_INPUT_NAME1}.save("indexeddb://${VALUE_INPUT_NAME2}")\n`; }; export const tensorflow_use_load_model = function (_, generator) { generator.definitions_['import_tensorflow'] = 'import tensorflow'; var VALUE_INPUT_NAME = generator.valueToCode(this, "NAME", generator.ORDER_ATOMIC).replace(/^'|'$/g, ''); return [`await tensorflow.load_model("${VALUE_INPUT_NAME}")`, generator.ORDER_ATOMIC]; }; export const tensorflow_prepare_picture = function (_, generator) { generator.definitions_['import_tensorflow'] = 'import tensorflow'; generator.definitions_['import_numpy'] = 'import numpy'; generator.definitions_['import_PIL'] = 'import PIL'; var VALUE_INPUT_NAME = generator.valueToCode(this, "NAME", generator.ORDER_ATOMIC); return [`(await tensorflow.prepare_qmyixtxi(tensorflow.tensor(numpy.array(PIL.Image.open(${VALUE_INPUT_NAME}).convert('RGB')))))`, generator.ORDER_ATOMIC]; };