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