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

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.simpleRNNCell( )  se usa para encontrar una clase de celda para simpleRNN.

Sintaxis:

tf.layers.simpleRNNCell (args)

Parámetros:

  • 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 recurrentes del núcleo.
  • 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 y el valor predeterminado 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.
  • pesos: 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 SimpleRNCell.

Ejemplo 1: en este ejemplo, SimpleRNCell es distinto de la subclase RNN. En SimpleRNN, 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 SimpleRNN toma los datos de entrada en varios pasos de tiempo.

Javascript

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Defining input elements
const cell = tf.layers.simpleRNNCell({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 SimpleRNNCell 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.simpleRNNCell({units: 8}),
   tf.layers.simpleRNNCell({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.simpleRNNCell

Publicación traducida automáticamente

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