Función Tensorflow.js tf.layers.dropout()

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 tf.layers.dropout() es una función incorporada de la biblioteca Tensorflow.js . Esta función se usa para evitar el sobreajuste en un modelo al establecer aleatoriamente una tasa de fracción de unidades de entrada en 0 en cada actualización durante el tiempo de entrenamiento.

Sintaxis:

tf.layers.dropout( {rate} )

Parámetros:

  • args: El objeto dado como parámetro.
  • tasa: especifica la fracción de unidades de entrada que se descartarán. Su valor oscila entre 0 y 1.
  • noiseShape: Lista de enteros que representa la forma de la deserción que se multiplicará con la entrada. Es un parámetro opcional.
  • semilla: especifica semillas aleatorias. Es un parámetro opcional.
  • inputShape: si se define este parámetro, creará otra capa de entrada para insertar antes de esta capa.
  • batchInputShape: si se define este parámetro, creará otra capa de entrada para insertar antes de esta capa.
  • batchSize: se usa para construir batchInputShape, si aún no se ha especificado.
  • dtype: especifica el tipo de datos para esta capa. El valor predeterminado de este parámetro es ‘float32’.
  • nombre: especifica el nombre de esta capa.
  • entrenable: especifica si los pesos de esta capa se actualizan por ajuste.
  • pesos: especifica los valores de peso iniciales de la capa.
  • inputDType: se utiliza para indicar el inputDType y su valor puede ser ‘float32’ o ‘int32’ o ‘bool’ o ‘complex64’ o ‘string’.

Valor de retorno: Devuelve el Dropout.

Ejemplo 1: crearemos un nuevo modelo y le agregaremos una capa de exclusión.

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] 
    })],
});
  
// Add dropout to model
model.add(tf.layers.dropout({ rate: 0.25 }));
    
// Compile the model
model.compile(
    { optimizer: "sgd", loss: "meanAbsoluteError" },
    (metrics = ["accuracy"])
);
    
// Evaluate the model
const result = model.evaluate(
    tf.ones([8, 10]), tf.ones([8, 1]), {
    batchSize: 4,
});
   
// Print the resulting tensor
result.print();

Producción:

Tensor
    1.608272910118103

Ejemplo 2:

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] 
    })],
});
    
// Add dropout to model
model.add(tf.layers.dropout({ rate: 0.5 }));
  
// Compile the model
model.compile({ optimizer: "adam", 
    loss: "meanSquaredError" });
    
// Evaluate the model
const result = model.evaluate(
    tf.ones([8, 10]), tf.ones([8, 1]), {
    batchSize: 2,
});
    
// Print the result
result.print();

Producción:

Tensor
    0.9941154718399048

Referencia: https://js.tensorflow.org/api/latest/#layers.dropout

Publicación traducida automáticamente

Artículo escrito por sk944795 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 *