Tensorflow.js es una biblioteca de código abierto desarrollada por Google para ejecutar modelos de aprendizaje automático, así como redes neuronales de aprendizaje profundo en el entorno del navegador o del Node.
La función .evaluateDataset() se utiliza para evaluar el modelo establecido por medio de un objeto de conjunto de datos establecido.
Nota: este método difiere de evaluar(), ya que es asíncrono.
Sintaxis:
evaluateDataset(dataset, args?)
Parámetros:
- conjunto de datos: el objeto del conjunto de datos indicado. Cuyo método iterator() se espera para producir un objeto iterador de conjunto de datos, se espera su método next() para generar lotes de datos para su evaluación. Además, el valor de retorno de la llamada next() debe contener un campo booleano hecho, así como un campo de valor. Donde es probable que el campo de valor sea una array de dos tf.Tensors o una array de dos compilaciones anidadas de tf.Tensor. El primer caso es para modelos con exactamente una entrada y una salida, es decir, un modelo secuencial. Este último caso está a favor de los modelos junto con varias entradas y/o varias salidas. De dos elementos en la array, el primero es la(s) característica(s) de entrada y el segundo es el(los) objetivo(s) de salida. Es de tipo tf.data.Dataset.
- args: el objeto de configuración declarado a favor de la evaluación basada en el conjunto de datos. Es opcional y es de tipo objeto. Los siguientes argumentos vienen debajo de él:
- lotes: el número indicado de lotes que se arrastrarán desde el objeto del conjunto de datos dado antes de finalizar la evaluación. Es de tipo número.
- verbose: El modo de verbosidad indicado. Es de tipo ModelLoggingVerbosity .
Valor devuelto: Devuelve la promesa de tf.Scalar o tf.Scalar[].
Ejemplo 1:
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Defining an array x const Array_x = [ [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], ]; // Defining an array y const Array_y = [1, 1, 1, 1]; // Defining dataset of x const Dataset_x = tf.data.array(Array_x); // Defining dataset of y const Dataset_y = tf.data.array(Array_y); // Defining dataset of xy using zip method const Dataset_xy = tf.data.zip({xs: Dataset_x, ys: Dataset_y}) .batch(5) .shuffle(3); // Defining model const mymodel = tf.sequential({ layers: [tf.layers.dense({units: 1, inputShape: [8]})] }); // Compiling model mymodel.compile({optimizer: 'sgd', loss: 'meanSquaredError'}); // Calling evaluateDataset() method const res = await mymodel.evaluateDataset(Dataset_xy, tf.ones([7, 10]), tf.ones([7, 1]), { batchSize: 5, }); // Printing output res.print();
Producción:
Tensor 0.9196577668190002
Ejemplo 2:
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Defining dataset of xy using zip method const Dataset_xy = tf.data.zip({ xs: tf.data.array([[1, 0, 1, 2, 1]]), ys: tf.data.array([1, 2, 1, 3])}) .batch(8); // Defining model const mymodel = tf.sequential({ layers: [tf.layers.dense( {units: 1, inputShape: [5], activation: 'sigmoid'}) ] }); // Compiling model mymodel.compile({optimizer: 'sgd', loss: 'meanSquaredError'}); // Calling evaluateDataset() method const res = await mymodel.evaluateDataset( Dataset_xy, tf.truncatedNormal([7, 10]), tf.randomNormal([7, 1]), {batchSize: 2, steps: 1} ); // Printing output console.log(JSON.stringify(res));
Producción:
{"kept":false,"isDisposedInternal":false,"shape":[],"dtype":"float32", "size":1,"strides":[],"dataId":{"id":6923},"id":4594, "rankType":"0","scopeId":4223}
Referencia: https://js.tensorflow.org/api/latest/#tf.LayersModel.evaluateDataset
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA