98 lines
5.1 KiB
JavaScript
98 lines
5.1 KiB
JavaScript
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];
|
|
};
|