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