Tensorflow.js tf.layers.convLstm2d() 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 tf.layers.convLstm2d() se usa para crear una capa ConvRNN2D que consta de una ConvLSTM2DCell y el método de aplicación de ConvLSTM2D opera en una secuencia de entradas. La forma de la entrada debe ser al menos 4D, siendo la primera dimensión los pasos de tiempo. convLstm2d es la capa LSTM convolucional.

Sintaxis:

tf.layers.convLstm2d( args )

Parámetros:

  • args: especifica el objeto de configuración dado:
    • 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, no se utilizará ninguna función de activación.
    • 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 pesos recurrentInitializer, 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 peso del kernel. 
    • recurrentRegularizer: Es una función de regularización aplicada a la array de peso 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 peso del kernel.
    • RecurrentConstraint:   Es una función de restricción aplicada a la array de peso 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.
    • returnSequences:   Debe ser booleano. Define cuál de estos dos resiste la última salida o el retorno de secuencia completa en la secuencia de salida.
    • returnState: debe ser booleano. Define el último estado de retorno en la salida.
    • goBackwards: debe ser booleano. Define si procesar la entrada en secuencia inversa e inversa o no.
    • stateful: Debe ser booleano. Define si usar el último estado del lote como estado inicial para el lote actual o no.
    • unroll: debe ser booleano. Indica si usar la red desenrollada o si usar un bucle simbólico. 
    • inputDim: Debe ser un número. Esto se usa cuando esta capa se usa como la primera capa del modelo. Define la dimensión de entrada en la capa. 
    • inputLength: Debe ser un número. Este campo debe estar cuando la secuencia en los datos de entrada es constante. 
    • celda: debe ser una instancia de celda RNN o una array de instancias de celdas RNN.
    • 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.

Devoluciones: Devuelve el ConvLSTM2D.

Ejemplo 1: En este ejemplo, operaremos nuestro método de aplicación en una sola entrada.

Javascript

// Config for input layer
const bSize = 3;
const sLength = 4;
const size = 7;
const channels = 2;
 
const inputShape = [bSize, sLength, size, size, channels];
const input = tf.zeros(inputShape);
 
// Config for convLstm2d
const filters = 4;
const kernelSize = 4;
 
const layer = tf.layers.convLstm2d({filters, kernelSize});
 
const output = layer.apply(input);
 
// Printing Shape of our output
console.log(JSON.stringify(output.shape));

Producción:

[3,4,4,4]

Ejemplo 2:

Javascript

import * as tf form "@tensorflow/tfjs"
 
const filters = 3;
const kernelSize = 3;
 
const batchSize = 4;
const sequenceLength = 2;
const size = 5;
const channels = 3;
 
const Input = tf.input({shape: [2, 3, 5, 4]});
const Data = tf.ones([1, 2, 3, 5, 4]);
const inputShape = [batchSize,
    sequenceLength, size, size, channels];
const input = tf.ones(inputShape);
 
const layer = tf.layers.convLstm2d({filters, kernelSize});
 
const output = layer.apply(Input);
const model = tf.model({inputs: Input, outputs: output});
 
model.predict(Data).print();

Producción:

​Tensor
    [[[[0.2382042, 0.3073192, -0.0167814],
       [0.2362143, 0.3104056, -0.0188109],
       [0.2277206, 0.3124302, -0.0153713]]]]

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

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 *