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

Tensorflow.js es un conjunto de herramientas de código abierto desarrollado por Google para ejecutar modelos de aprendizaje automático y redes neuronales de aprendizaje profundo en el navegador o en la plataforma del Node. También permite a los desarrolladores crear modelos de aprendizaje automático en JavaScript y utilizarlos directamente en el navegador o con Node.js.

La función tf.layers. depthwiseConv2d() se utiliza para aplicar la operación de convolución 2D separable en profundidad a los datos.

Sintaxis:

tf.layers.depthwiseConv2d(args)

Parámetros: Acepta el objeto args el cual puede tener las siguientes propiedades:

  • args: Es un objeto que acepta las siguientes propiedades.
    • kernelSize (number|number[]): las dimensiones de la ventana de convolución. La ventana convolucional será cuadrada si kernelSize es un número.
    • depthMultiplier (número): para cada canal de entrada, el número de canales de salida de convolución en profundidad. FiltersIn * depthMultiplier será igual al número total de canales de salida de convolución en profundidad. 1 es el valor predeterminado.
    • depthwiseInitializer: el inicializador de la array del núcleo de profundidad. GlorotNormal es el valor predeterminado.
    • depthwiseConstraint: La restricción de la array kernel en profundidad.
    • depthwiseRegularizer: la función de regularizador de la array del núcleo de profundidad.
    • zancadas (número|número[]): Las zancadas convolucionales en cada dimensión. Los pasos en ambas dimensiones son iguales si los pasos son un número.
    • relleno: El modo de relleno.
    • dataFormat: El formato de datos. Esto especifica el orden en el que se ordenan las dimensiones en las entradas. channelLast es el valor predeterminado.
    • dilationRate: en cada dimensión, la tasa de dilatación que se utilizará para la convolución dilatada. Debe ser un entero o una array de dos o tres enteros.
    • activación: La función de activación de la capa.
    • useBias (booleano): si la capa tiene un vector de sesgo o no. Verdadero es el valor predeterminado.
    • kernelInitializer: el inicializador de la array de pesos del kernel convolucional.
    • biasInitializer: el inicializador del vector de polarización.
    • kernelConstraint: La restricción para los pesos del núcleo convolucional.
    • biasConstraint: la restricción para el vector de sesgo.
    • kernelRegularizer: la función de regularización aplicada a la array de pesos del kernel.
    • biasRegularizer: la función de regularización aplicada al vector de sesgo.
    • activityRegularizer: La función de regularizador aplicada a la activación.
    • inputShape: si se establece esta propiedad, se utilizará para construir una capa de entrada que se insertará antes de esta capa. 
    • batchInputShape: si se establece esta propiedad, se creará e insertará una capa de entrada antes de esta capa. 
    • batchSize: si no se proporciona batchInputShape y sí inputShape, se utiliza batchSize para crear el batchInputShape.
    • dtype: Es el tipo de tipo de datos para esta capa. float32 es el valor predeterminado. Este parámetro se aplica exclusivamente a las capas de entrada.
    • nombre: Este es el nombre de la capa y es de tipo string.
    • entrenable: si los pesos de esta capa se pueden cambiar por ajuste. Verdadero es el valor predeterminado.
    • pesos: Los valores de peso iniciales de la capa.
    • inputDType: se utiliza para el soporte heredado.

Devoluciones: Devuelve un objeto (DepthwiseConv2D).

Ejemplo 1:

Javascript

import * as tf from "@tensorflow/tfjs";
 
const input = tf.input({ shape: [4, 4, 4] });
const depthwiseConv2DLayer = tf.layers.depthwiseConv2d({
    kernelSize: 2,
    depthMultiplier: 2
});
 
const output = depthwiseConv2DLayer.apply(input);
 
const model = tf.model({ inputs: input, outputs: output });
model.predict(tf.ones([1, 4, 4, 4])).print();

Producción:

Tensor
   [[[[0.25322, -0.140555, 0.4617286, -0.447692, -0.5744522, -0.0203538, 0.3361098, -0.7265304],
      [0.25322, -0.140555, 0.4617286, -0.447692, -0.5744522, -0.0203538, 0.3361098, -0.7265304],
      [0.25322, -0.140555, 0.4617286, -0.447692, -0.5744522, -0.0203538, 0.3361098, -0.7265304]],
     [[0.25322, -0.140555, 0.4617286, -0.447692, -0.5744522, -0.0203538, 0.3361098, -0.7265304],
      [0.25322 , -0.140555, 0.4617286, -0.447692, -0.5744522, -0.0203538, 0.3361098, -0.7265304],
      [0.25322, -0.140555, 0.4617286, -0.447692, -0.5744522, -0.0203538, 0.3361098, -0.7265304]],
     [[0.25322, – 0,140555, 0,4617286, -0,447692, -0,5744522, -0,0203538, 0,3361098, -0,7265304],
      [0,25322, -0,140555, 0,4617286, -0,447692, -0,5744522, -0,0203538, 0,3361098, -0,7265304],

Ejemplo 2:

Javascript

import * as tf from "@tensorflow/tfjs";
const input = tf.input({ shape: [4, 4, 1] });
const depthwiseConv2DLayer = tf.layers.depthwiseConv2d({
    kernelSize: 3
});
 
const output = depthwiseConv2DLayer.apply(input);
const model = tf.model({ inputs: input, outputs: output });
const x = tf.tensor4d(
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
    [1, 4, 4, 1]
);
 
model.predict(x).print();

Producción:

Tensor
   [[[[2.8932226],
      [2.8629632]],
     [[2.7721865],
      [2.7419279]]]]

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

Publicación traducida automáticamente

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