Tensorflow.js tf.conv3dTranspose()函数
简介: Tensorflow.js 是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型以及深度学习神经网络。
.conv3dTranspose()函数用于确定体积的转置 3D 卷积。它也被称为反卷积。
句法:
tf.conv3dTranspose(x, filter, outputShape, strides, pad)
参数:
- x:指定的输入图像,其等级为 5 或等级 4,形状为:[batch, depth, height, width, inDepth]。此外,如果等级为 4,则假定批次大小为 1。它可以是 tf.Tensor4D、tf.Tensor5D、TypedArray 或 Array 类型。
- filter:规定的 4 阶滤波器张量和形状:[depth, filterHeight, filterWidth, outDepth, inDepth]。其中,inDepth 必须与输入张量中的 inDepth 匹配。它可以是 tf.Tensor5D、TypedArray 或 Array 类型。
- outputShape:指定的输出形状,等级为 5 或等级 4,形状为 [batch, depth, height, width, outDepth]。如果排名为 3,则假定批次为 1。它可以是 [number, number, number, number, number] 或 [number, number, number, number] 类型。
- 步幅:形状原始卷积的规定步幅:[strideDepth, strideHeight, strideWidth]。它可以是 [number, number, number] 或 number 类型。
- pad:用于填充的规定类型的算法,在操作的非转置形式中很有用。它可以是类型 valid 或相同。
返回值:返回 tf.Tensor4D 或 tf.Tensor5D。
示例 1:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Defining input tensor
const x = tf.tensor5d([1, 2, 2, 3], [2, 2, 1, 1, 1]);
// Defining filter tensor
const y = tf.tensor5d([3, 3, 3, 2], [1, 2, 2, 1, 1]);
// Calling conv3dTranspose() method
const result = tf.conv3dTranspose(x, y, [1, 1, 2, 1, 1], 2, 'same');
// Printing output
result.print();
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Calling conv3dTranspose() method
tf.conv3dTranspose(tf.tensor5d(
[1.1, 2.1, 2.2, 3.6], [2, 2, 1, 1, 1]),
tf.tensor5d([3.6, 3.1, 3.2, 2.0], [1, 2, 2, 1, 1]),
[1, 1, 2, 1, 1], 7, 'valid').print();
输出:
Tensor
[[[ [[3],],
[[3],]]]]
示例 2:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Calling conv3dTranspose() method
tf.conv3dTranspose(tf.tensor5d(
[1.1, 2.1, 2.2, 3.6], [2, 2, 1, 1, 1]),
tf.tensor5d([3.6, 3.1, 3.2, 2.0], [1, 2, 2, 1, 1]),
[1, 1, 2, 1, 1], 7, 'valid').print();
输出:
Tensor
[[[ [[0],],
[[0],]]]]
参考: https://js.tensorflow.org/api/latest/#conv3dTranspose