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

Tensorflow.js es una biblioteca de código abierto desarrollada por Google para ejecutar modelos de aprendizaje automático y redes neuronales de aprendizaje profundo en el entorno del navegador o del Node.

La función tf.layers.timeDistributed() se usa para aplicar el ajuste de una capa a cada segmento temporal de una entrada específica. La entrada dada debe ser al menos 3D, y el índice 1 para la dimensión se considerará como la dimensión temporal.

Sintaxis:

tf.layers.timeDistributed(args)

Parámetros: esta función acepta un solo parámetro, args , que se puede usar para especificar las siguientes propiedades:

  • capa: Es la capa especificada que se va a envolver.
  • inputShape: Se utiliza para crear una capa de entrada para insertar antes de esta capa. El batchInputShape se utilizará cuando se definan inputShape y batchInputShape . Este parámetro solo es relevante para las capas de entrada, es decir, la primera capa de un modelo. Es un parámetro opcional.
  • batchInputShape: este parámetro se utilizará cuando se definan inputShape y batchInputShape . Este parámetro solo es relevante para las capas de entrada, es decir, la primera capa de un modelo. Es un parámetro opcional.
  • batchSize: se utiliza para crear el batchInputShape cuando se proporciona inputShape , pero no se proporciona batchInputShape .
  • dtype: es el tipo de datos para esta capa y su valor predeterminado es ‘float32’. Este parámetro solo es relevante para las capas de entrada, es decir, la primera capa de un modelo.
  • name: Es el nombre de esta capa.
  • entrenable: su valor predeterminado es verdadero. Dice si los pesos de esta capa son actualizables por ajuste o no.
  • pesos: Son los primeros valores de peso de la capa.
  • inputDType: se recomienda no usarlo para código nuevo. Es para soporte heredado.

Valor devuelto: Devuelve un objeto TimeDistributed.

Ejemplo 1: 

Javascript

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Initializing a model
const model = tf.sequential();
  
// Calling the tf.layers.timeDistributed() function
const a = model.add(tf.layers.timeDistributed({
   layer: tf.layers.dense({units: 8}),
    
   // Considering a sequence of 5 vectors
   // of 10 dimensions
   inputShape: [5, 10],
}));
  
// Getting the model.outputShape
console.log(JSON.stringify(model.outputs[0].shape));

Producción: 

[null,5,8]

Ejemplo 2: 

Javascript

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Initializing a model
const model = tf.sequential();
  
// Calling the tf.layers.timeDistributed() function
const a = model.add(tf.layers.timeDistributed({
    
   // Initializing the first layer with inputShape
   layer: tf.layers.dense({units: 12}),
    
   // Considering a sequence of 5 vectors
   // of 10 dimensions
   inputShape: [5, 10],
}));
  
// In the second layer, there is no 
// need for `inputShape`
model.add(tf.layers.timeDistributed(
  {layer: tf.layers.dense({units: 32})}
));
  
// Getting the model.outputShape
console.log(JSON.stringify(model.outputs[0].shape));

Producción:

[null,5,32]

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

Publicación traducida automáticamente

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