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