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 secuencial 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 siguiente método() para generar lotes de datos para su evaluación. Además, el valor de retorno de la siguiente llamada() 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 construcciones anidadas de tf.Tensor. El primer caso es para modelos con exactamente una entrada y una salida (por ejemplo, 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 indicada, el primero es la(s) característica(s) de entrada y el segundo es el(los) objetivo(s) de salida. es de tipotf.data.Conjunto de datos .
- 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); // Training Model const gfg = tf.sequential(); // Adding layer to model const layer = tf.layers.dense({units:1, inputShape : [8]}); gfg.add(layer); // Compiling our model const config = {optimizer:'sgd', loss:'meanSquaredError'}; gfg.compile(config); // Calling evaluateDataset() method const res = await gfg.evaluateDataset(Dataset_xy, tf.ones([7, 10]), tf.ones([7, 1]), { batchSize: 5, }); // Printing output res.print();
Producción:
Tensor 2.9478049278259277
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); // Training Model const gfg = tf.sequential(); // Adding layer to model const layer = tf.layers.dense({units:1, inputShape : [5], activation: 'sigmoid'}); gfg.add(layer); // Compiling our model const config = {optimizer:'sgd', loss:'meanSquaredError'}; gfg.compile(config); // Calling evaluateDataset() method const res = await gfg.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":7097}, "id":4731,"rankType":"0","scopeId":4352}
Referencia: https://js.tensorflow.org/api/latest/#tf.Sequential.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