📜  Tensorflow.js tf.conv2dTranspose()函数

📅  最后修改于: 2022-05-13 01:56:55.459000             🧑  作者: Mango

Tensorflow.js tf.conv2dTranspose()函数

简介: Tensorflow.js 是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型以及深度学习神经网络。

.conv2dTranspose()函数用于确定图像的转置二维卷积。它也被认为是反卷积。

句法:

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

参数:

  • x:指定的输入图像,其等级为 3 或等级 4,形状为:[batch, height, width, inDepth]。此外,如果等级为 3,则假定批次大小为 1。它可以是 tf.Tensor3D、tf.Tensor4D、TypedArray 或 Array 类型。
  • filter:指定的 4 阶滤波器张量和形状:[filterHeight, filterWidth, outDepth, inDepth]。其中, inDepth必须与输入张量中的inDepth匹配。它可以是 tf.Tensor4D、TypedArray 或 Array 类型。
  • outputShape:指定的输出形状,等级为 4 或等级 3,形状为 [batch, height, width, outDepth]。如果排名为 3,则假定批次为 1。它可以是 [number, number, number, number] 或 [number, number, number] 类型。
  • 步幅:形状原始卷积的规定步幅:[strideHeight, strideWidth]。它可以是 [number, number] 或 number 类型。
  • pad:用于填充的规定类型的算法,在操作的非转置形式中很有用。它的类型可以是 valid、same、number 或 ExplicitPadding。
  • dimRoundingMode: “ceil”、“round”或“floor”中的指定字符串。如果未提供任何值,则默认值为 truncate。它是可选的,类型为 ceil、round 或 floor。

返回值:返回 tf.Tensor3D 或 tf.Tensor4D。

示例 1:

Javascript
// 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();


Javascript
// 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();


输出:

Tensor
     [ [[3, 3],]]

示例 2:

Javascript

// 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();

输出:

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

参考: https://js.tensorflow.org/api/latest/#conv2dTranspose