Tensorflow.js tf. Clase secuencial .evaluateDataset() Método

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:
    1. 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.
    2. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *