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

Tensorflow.js es una biblioteca de código abierto que está desarrollando 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 .layers.gruCell( ) se usa para crear una clase de celda para GRU.

Sintaxis:

tf.layers.gruCell (args)

Parámetros:

  • RecurrentActivation:   es una entrada de tensor que es una función de activación para usar para el paso recurrente, por defecto es sigmoide duro. Si pasa nulo, no se aplica ninguna activación.
  • implementación: Es una entrada de tensor que tiene dos modos de implementación:
    1. En primer lugar, el modo estructurará sus operaciones como una mayor cantidad de productos escalares más pequeños y adiciones.
    2. En segundo lugar, el modo los agrupará en menos operaciones más grandes. Estos modos tendrán diferentes perfiles de rendimiento en diferentes hardware y para diferentes aplicaciones.
  • resetAfter: es una entrada de tensor que puede ser de acuerdo con la convención de GRU si se aplica la puerta de reinicio después o antes de la multiplicación de arrays donde falso = «antes» y verdadero = «después».
  • unidades: Es un tensor de entrada que tiene una unidad entera positiva que es una dimensionalidad del espacio de salida.
  • activación: es una entrada de tensor que es una función de activación para usar y por defecto es tangente hiperbólica. Si pasa nulo, se aplicará la activación lineal.
  • useBias: Es una entrada de tensor donde se usa un vector de sesgo para la capa.
  • KernelInitializer: es una entrada de tensor que es un inicializador para la array de pesos del kernel que se utiliza para la transformación lineal de las entradas.
  • recurrentInitializer: es una entrada de tensor que es un inicializador para la array de pesos recurrentes del Kernel que se utiliza para la transformación lineal del estado recurrente.
  • biasInitializer: es una entrada de tensor que es un inicializador para el vector de polarización.
  • kernelRegularizer: es una entrada de tensor donde la función de regularizador se aplica a la array de pesos del kernel.
  • recurrentRegularizer: es una entrada de tensor donde la función de regularizador se aplica a la array de pesos recurrent_kernel.
  • biasRegularizer: es una entrada de tensor donde la función de regularizador se aplica al vector de sesgo.
  • kernelConstraint: es una entrada de tensor donde la función de restricción se aplica a la array de pesos del kernel.
  • RecurrentConstraint: es una entrada de tensor donde la función de restricción se aplica a la array de pesos de RecurrentKernel.
  • biasConstraint: es una entrada de tensor donde la función de restricción se aplica al vector de sesgo.
  • dropout: es una entrada de tensor donde la fracción de las unidades a caer para la transformación lineal de las entradas y el número flotante entre 0 y 1.
  • RecurrentDropout: es una entrada de tensor donde la fracción de las unidades a caer para la transformación lineal del estado recurrente y el número flotante entre 0 y 1.
  • inputShape: es una entrada de tensor que se utilizará para crear una capa de entrada para insertar antes de esta capa, si está definida. Solo es aplicable a las capas de entrada.
  • batchInputShape: es una entrada de tensor que se utilizará para crear una capa de entrada para insertar antes de esta capa, si está definida. Solo es aplicable a las capas de entrada.
  • batchSize: es una entrada de tensor donde se usa batchSize para construir el batchInputShape, si se especifica inputShape y no se especifica batchInputShape.
  • dType: es una entrada de tensor que es el tipo de datos para esta capa, por defecto es ‘float32’.
  • nombre: Es una entrada de tensor que es el nombre de esta capa.
  • entrenable: es una entrada de tensor que por defecto es verdadero si los pesos de esta capa son actualizables por ajuste.
  • peso: Es una entrada de tensor que puede ser de valores de peso iniciales de la capa.
  • inputDType: es una entrada de tensor que tiene soporte heredado y no se usa para código nuevo.

Valor devuelto: Devuelve GRUCell.

Ejemplo 1: En este ejemplo, GRUCell se diferencia de la subclase RNN GRU en que su método de aplicación toma los datos de entrada de un solo paso de tiempo y devuelve la salida de la celda en el paso de tiempo, mientras que GRU toma los datos de entrada en un número de pasos de tiempo.

Javascript

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Defining input elements
const cell = tf.layers.gruCell({units: 3});
const input = tf.input({shape: [11]});
const output = cell.apply(input);
  
console.log(JSON.stringify(output.shape));

Producción:

[null,11]

Ejemplo 2: en este ejemplo, las instancias de GRUCell se pueden usar para construir capas RNN. El uso más típico de este flujo de trabajo es combinar varias celdas en una celda RNN apilada (es decir, StackedRNNCell internamente) y usarla para crear una RNN.

Javascript

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Defining input elements
const cells = [
   tf.layers.gruCell({units: 8}),
   tf.layers.gruCell({units: 16}),
];
const rnn = tf.layers.rnn({
    cell: cells, 
    returnSequences: true
});
  
// Create an input with 20 time steps and 
// a length-30 vector at each step.
const input = tf.input({shape: [20, 30]});
const output = rnn.apply(input);
  
console.log(JSON.stringify(output.shape));

Producción:

[null,20,16]

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

Publicación traducida automáticamente

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