Introdução: Tensorflow.js é uma biblioteca de código aberto desenvolvida pelo Google para executar modelos de aprendizado de máquina, bem como redes neurais de aprendizado profundo no navegador ou ambiente de nó.

A função .conv2dTranspose() é usada para determinar a convolução 2D transposta de uma imagem. Também é reconhecido como uma deconvolução.

Sintaxe:

tf.conv2dTranspose(x, filter, outputShape, strides, pad, dimRoundingMode?)

Parâmetros:

  • x: A imagem de entrada declarada que é de classificação 3 ou então de classificação 4 e de formato: [lote, altura, largura, profundidade]. Além disso, caso a classificação seja 3, o lote de tamanho 1 é presumido. Pode ser do tipo tf.Tensor3D, tf.Tensor4D, TypedArray ou Array.
  • filter: O tensor de filtro declarado de classificação 4 e forma: [filterHeight, filterWidth, outDepth, inDepth]. Onde, inDepth deve corresponder a inDepth no tensor de entrada. Pode ser do tipo tf.Tensor4D, TypedArray ou Array.
  • outputShape: O formato de saída declarado, que é de classificação 4 ou então de classificação 3 e forma [batch, height, width, outDepth]. No caso, a classificação é 3, então o lote de 1 é presumido. Pode ser do tipo [número, número, número, número] ou [número, número, número].
  • strides: Os passos declarados da convolução original da forma: [strideHeight, strideWidth]. Pode ser do tipo [número, número] ou número.
  • pad: O tipo declarado de algoritmo para preenchimento que é útil na forma não transposta do op. Pode ser do tipo valid, same, number ou ExplicitPadding.
  • dimRoundingMode: Uma string declarada de 'ceil', 'round' ou 'floor'. Nesse caso, nenhum valor é fornecido, o valor padrão é truncado. É opcional e é do tipo teto, redondo ou piso.

Valor de retorno: ele retorna tf.Tensor3D ou tf.Tensor4D.

Exemplo 1:

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Defining input tensor
const x = tf.tensor3d([1, 2, 2, 3], [2, 2, 1]);
  
// Defining filter tensor
const y = tf.tensor4d([3, 3, 3, 2], [1, 2, 2, 1]);
  
// Calling conv2dTranspose() method
const result = tf.conv2dTranspose(x, y, [1, 1, 2], 2, 'same');
  
// Printing output
result.print();

Saída:

Tensor
     [ [[3, 3],]]

Exemplo 2:

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Calling conv2dTranspose() method with 
// all its parameters
tf.tensor3d([1.1, 2.2, 3.3, 4.4], [2, 2, 1]).conv2dTranspose(
 tf.tensor4d([1.3, 1.2, null, -4], [1, 2, 2, 1]),
            [1, 1,  2], 1, 1, 'ceil').print();

Saída:

Tensor
     [ [[5.7199998, -7.9199996],]]

Referência: https://js.tensorflow.org/api/latest/#conv2dTranspose