Tensorflow.js tf.layers.convLstm2dCell() 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.

El tf.layers.convLstm2dCell() se usa para crear ConvLSTM2DCell, que es diferente de la subclase ConvRNN2D ConvLSTM2D y el método de llamada toma los datos de entrada de un solo paso de tiempo y devuelve la salida de la celda en el paso de tiempo. convLstm2dCell es la clase de celda para ConvLSTM2D.

Sintaxis:

tf.layers.convLstmd2dCell( args )

Parámetros: 

  • args: Toma un objeto con los siguientes parámetros:
    • activación: Es la función de activación que se va a utilizar. El valor predeterminado es una tangente hiperbólica. Si se pasa nulo, se utilizará la función de activación ‘lineal’.
    • useBias: Especifica si usar un vector de sesgo o no.
    • kernelInitializer: Es el Inicializador de la array de peso del kernel, que se utiliza para la transformación lineal de las entradas.
    • recurrentInitializer: Es el Inicializador de la array de peso recurrent_Kernel, que se utiliza para la transformación lineal del estado recurrente.
    • biasInitializer: Es el inicializador para el vector de polarización.
    • kernelRegularizer: Es una función regularizadora aplicada a la array de pesos del kernel. 
    • recurrentRegularizer: Es una función de regularización aplicada a la array de pesos del kernel recurrente.
    • biasRegularizer:   Es una función regularizadora aplicada al vector bias.
    • kernelConstraint: Es una función de restricción aplicada a la array de pesos del kernel.
    • RecurrentConstraint:   Es una función de restricción aplicada a la array de pesos de RecurrentKernel.
    • biasConstraint: Es una función de restricción aplicada al vector de sesgo.
    • dropout: Es un número entre 0 y 1 que indica la unidad a soltar para la transformación lineal de la entrada.
    • RecurrentDropout: Es el número de fracción que elimina la transformación lineal del estado recurrente.
    • dropoutFunc: Esto se utiliza para la prueba DI. 
    • inputShape: debe ser una array de números. Este campo se usa para crear una capa de entrada que se usa para insertarse antes de esta capa.
    • batchInputShape: debe ser una array de números. Este campo se usará si inputShape y este campo se proporcionan como un parámetro para crear la capa de entrada que se usa para insertar antes de esta capa.
    • tamaño del lote: debe ser un número. En ausencia de batchInputShape, este campo se usa para crear batchInputShape con inputShape. batchInputShape : [ tamaño del lote , … forma de entrada ].
    • dtype: si esta capa se usa como capa de entrada, este campo se usa como tipo de datos para esta capa.
    • nombre: Debe ser un tipo de string. este campo define el nombre de esta capa.
    • entrenable: debe ser booleano. Este campo define si los pesos de esta capa se pueden entrenar con ajuste o no.
    • pesos: Este debería ser un tensor que defina el valor de peso inicial para esta capa.
    • inputDType: este es un tipo de datos que se utiliza para el soporte heredado.
    • recurrentActivation: Especifica la función de activación que se utilizará para el paso recurrente. El valor predeterminado de este parámetro es sigmoide duro.
    • unitForgetBias: debe ser booleano. Se utiliza para sumar 1 al sesgo de la puerta de olvido en la inicialización. 
    • implementación: Especifica el modo de implementación. Puede ser 1 o 2. Para un rendimiento superior, se recomienda la implementación.
    • filtros: Es una serie de filtros en convolución.
    • kernelSize: Es una dimensión que tendrá la ventana de convolución.
    • zancadas: Son zancadas de la capa de convolución en cada dimensión. 
    • relleno: debe ser ‘válido’, ‘igual’ y ‘causal’. Define el modo de relleno. 
    • dataFormat: Define el formato de los datos, lo que indica el orden de las dimensiones en las entradas.
    • dilationRate: la tasa de dilatación a la que debe dilatarse la capa de convolución en cada dimensión.

Parámetros: Devuelve ConvLSTMCell

Ejemplo 1:

Javascript

import * as tf from "@tensorflow/tfjs";
 
// InputShape and Input layer for convLstm2dCell layer
const InputShape = [ 4, 2, 5, 5, 2];
const input = tf.input({ shape: InputShape });
 
// Creating ConvLstm2dCell
const convLstm2dCell = tf.layers.convLstm2dCell(
    { filters:4, kernelSize:4});
const output = convLstm2dCell.apply(input);
 
// Printing summary of layers
const model = tf.model({ inputs: input, outputs: output });
model.summary();

Producción:

__________________________________________________________________________________________
Layer (type)                Input Shape               Output shape              Param #   
==========================================================================================
input6 (InputLayer)         [[null,4,2,5,5,2]]        [null,4,2,5,5,2]          0         
__________________________________________________________________________________________
conv_lst_m2d_cell_ConvLSTM2 [[null,4,2,5,5,2]]        [null,4,2,5,5,2]          1552      
==========================================================================================
Total params: 1552
Trainable params: 1552
Non-trainable params: 0
__________________________________________________________________________________________

Ejemplo 2:

Javascript

// Importing header file
import * as tf from "@tensorflow/tfjs"
// Creating layer for convLstm2dCell
const filters = 3;
const kernelSize = 3;
const inputShape = [1, 3, 3, 3];
const input = tf.ones(inputShape);
 
const convLstm2dCell = tf.layers
    .convLstm2dCell({filters, kernelSize});
     
convLstm2dCell.build(input.shape);
 
 
const outShape = [1, 1, 1, 3];
const c = tf.zeros(outShape);
const h = tf.zeros(outShape);
 
// Printing Tensor
const [first, second, third] =
    convLstm2dCell.call([input, c, h], {});
     
console.log("First Tensor");
first.print();
console.log("\nSecond Tensor");
second.print();
console.log("\nThird Tensor");
third.print();

Producción:

First Tensor
Tensor
     [ [ [[0.1302425, 0.0364179, 0.0439035],]]]

Second Tensor
Tensor
     [ [ [[0.1302425, 0.0364179, 0.0439035],]]]

Third Tensor
Tensor
     [ [ [[0.3106561, 0.1217758, 0.1326777],]]]

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

Publicación traducida automáticamente

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