Tensorflow.js es una biblioteca de código abierto desarrollada por Google para ejecutar modelos de aprendizaje automático y redes neuronales de aprendizaje profundo en el entorno del navegador o del Node.
La función .compile() configura y crea el modelo para el proceso de entrenamiento y evaluación. Al llamar a la función .compile(), preparamos el modelo con un optimizador, pérdida y métricas. La función .compile() toma un objeto de argumento como parámetro.
Nota: si llama a la función .fit() o .evaluate() en un modelo no compilado, el programa arrojará un error.
Sintaxis:
tf.model.compile({optimizer, loss}, metrics=[])
Parámetros:
- optimizador: Es un parámetro obligatorio. Acepta un objeto de tf.train.Optimizer o un nombre de string para un Optimizer. Los siguientes son nombres de string para los optimizadores: “sgd” , “adam” , “adamax” , “adadelta” , “adagrad” , “rmsprop” , “momentum” .
- pérdida: Es un parámetro obligatorio. Acepta un valor de string o una array de strings para el tipo de pérdida. Si nuestro modelo tiene múltiples salidas, podemos usar una pérdida diferente en cada salida pasando una array de pérdidas. El valor de pérdida que será minimizado por el modelo será entonces la suma de todas las pérdidas individuales. Los siguientes son el nombre de la string para la pérdida: «meanSquaredError» , «meanAbsoluteError» , etc.
- métricas: Es un parámetro opcional. Acepta una lista de métricas para ser evaluadas por el modelo durante la fase de entrenamiento y prueba. Por lo general, usamos metrics=[‘accuracy’] . Para especificar diferentes métricas para diferentes salidas de un modelo de múltiples salidas, también podemos pasar un diccionario.
Valor devuelto: Como prepara el modelo para el entrenamiento, no devuelve nada. (es decir, el tipo de retorno es nulo)
Ejemplo 1: En este ejemplo, crearemos un modelo simple y pasaremos valores para los parámetros de optimización y pérdida . Aquí estamos usando el optimizador como «adam» y la pérdida como «meanSquaredError» .
Javascript
// Importing the tensorflow.js library const tf = require("@tensorflow/tfjs"); // define the model const model = tf.sequential({ layers: [tf.layers.dense({ units: 1, inputShape: [10] })], }); // compile the model // using "adam" optimizer and "meanSquaredError" loss model.compile({ optimizer: "adam", loss: "meanSquaredError" }); // evaluate the model which was compiled above // computation is done in batches of size 4 const result = model.evaluate(tf.ones([8, 10]), tf.ones([8, 1]), { batchSize: 4, }); // print the result result.print();
Producción:
Tensor 2.6806342601776123
Ejemplo 2: en este ejemplo, crearemos un modelo simple y pasaremos valores para los parámetros Optimizer , Loss y Metrics. Aquí estamos usando el optimizador como «sgd» y la pérdida como «meanAbsoluteError» y «accuracy» como métricas.
Javascript
// Importing the tensorflow.js library const tf = require("@tensorflow/tfjs"); // define the model const model = tf.sequential({ layers: [tf.layers.dense({ units: 1, inputShape: [10] })], }); // compile the model // using "adam" optimizer, "meanSquaredError" loss and "accuracy" metrics model.compile( { optimizer: "adam", loss: "meanSquaredError" }, (metrics = ["accuracy"]) ); // evaluate the model which was compiled above // computation is done in batches of size 4 const result = model.evaluate(tf.ones([8, 10]), tf.ones([8, 1]), { batchSize: 4, }); // print the result result.print();
Producción:
Tensor 1.4847172498703003
Ejemplo 3: en este ejemplo, crearemos un modelo simple y pasaremos valores para los parámetros de optimización , pérdida y métricas . Aquí estamos usando el optimizador como «sgd» y la pérdida como «meanAbsoluteError» y «precision» como métricas.
Javascript
// Importing the tensorflow.js library const tf = require("@tensorflow/tfjs"); // define the model const model = tf.sequential({ layers: [tf.layers.dense({ units: 1, inputShape: [10] })], }); // compile the model // using "adam" optimizer, "meanSquaredError" loss and "accuracy" metrics model.compile( { optimizer: "sgd", loss: "meanAbsoluteError" }, (metrics = ["precision"]) ); // evaluate the model which was compiled above // computation is done in batches of size 4 const result = model.evaluate(tf.ones([8, 10]), tf.ones([8, 1]), { batchSize: 4, }); // print the result result.print();
Producción:
Tensor 1.507279634475708
Referencia: https://js.tensorflow.org/api/latest/#tf.LayersModel.compile
Publicación traducida automáticamente
Artículo escrito por girishthatte y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA