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