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

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.lstmCell() se usa para la clase Cell para LSTM. Es independiente de la subclase RNN.

Sintaxis:

tf.layers.lstmCell(args)

Parámetros: la función contiene un objeto args que contiene los siguientes parámetros:

  • recurrentactivation: Se utiliza para la activación de pasos recurrentes.
  • unitForgetBias: es un booleano utilizado para olvidar la puerta en la inicialización.
  • implementación: Es un número entero cualquiera que especifica los modos de implementación. El MODO 1 se utiliza para estructurar sus operaciones como una mayor cantidad de productos escalares más pequeños y adiciones. El MODO 2 se usa para agruparlos en menos operaciones más grandes.
  • unidades: Es un número ya sea un número entero o la dimensionalidad del espacio de salida.
  • activación: Se utiliza para la función a utilizar.
  • useBias: es un booleano si la capa usa un vector de sesgo.
  • kernelInitializer: Se utiliza para la transformación lineal de las entradas.
  • recurrentInitializer: se utiliza para la transformación lineal del estado recurrente.
  • biasInitializer: Se utiliza para el vector de sesgo.
  • kernelRegularizer: es una string utilizada para la función Regularizer aplicada a la array de pesos del kernel.
  • recurrentRegularizer: Es una string utilizada para la función Regularizer aplicada a la array de pesos recurrent_kernel.
  • biasRegularizer: Es una string utilizada para la función Regularizer aplicada al vector bias.
  • kernelConstraint: es una string utilizada para la función de restricción aplicada a la array de pesos del kernel.
  • RecurrentConstraint: Es una string utilizada para la función Constraint aplicada a la array de pesos de RecurrentKernel.
  • iasConstraint: Es una string utilizada para la función Constraint aplicada al vector bias.
  • dropout: Es un número entre 0 y 1. Fracción de las unidades a bajar para la transformación lineal de las entradas.
  • RecurrentDropout: Es un número entre 0 y 1. Fracción de las unidades a caer para la transformación lineal del estado recurrente.
  • inputShape: Es un número usado para crear una capa de entrada para insertar antes de esta capa.
  • batchInputShape: Es un número que se usa para crear una capa de entrada para insertar antes de esta capa.
  • batchSize: Es un número utilizado para construir el batchInputShape.
  • dtype: este argumento solo se aplica a las capas de entrada.
  • name: Es una string que es para la capa.
  • entrenable: es un booleano que se utiliza si los pesos de esta capa son actualizables por ajuste.
  • pesos: Son los valores de peso iniciales de la capa.
  • inputDType: se utiliza para el soporte heredado. No es utilizable para nuevos códigos.

Valor devuelto: Devuelve LSTMCell.

Ejemplo 1:

Javascript

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Calling the layers.lstmCell 
// function and printing the output
const cell = tf.layers.lstmCell({units: 3});
const input = tf.input({shape: [120]});
const output = cell.apply(input);
  
console.log(JSON.stringify(output.shape));

Producción:

[null, 120]

Ejemplo 2:

Javascript

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

Producción:

[null, 30, 8]

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

Publicación traducida automáticamente

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