Tensorflow.js tf.spaceToBatchND()函数
Tensorflow.js是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。
tf.spaceToBatchND()函数用于将指定输入空间的空间维度拆分为形状为 blockShape 的块矩阵,其中 blockshape 为参数。这里根据指定的填充数组填充空间维度。
句法:
tf.spaceToBatchND (x, blockShape, paddings)
参数:此函数接受三个参数,如下所示:
- x:指定的 N 维张量,形状为“[batch] + spatialShape + remainingShape”,其中 spatialShape 具有 M 维。
- blockShape:它是一维数组,其形状必须为 [M],因为所有值都必须大于或等于 1。
- paddings:形状为 [M, 2] 的二维数组,所有值都必须大于或等于 0。这里 padding 等于 [padStart, padEnd]。
返回值:它返回指定输入空间的分割版本的张量。
示例 1:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Initializing a Tensor
const x = tf.tensor4d(
[5, 10, 15, 20, 25, 30],
[1, 3, 2, 1]
);
// Initializing blockShape and paddings parameters
const blockShape = [1, 1];
const paddings = [[0, 0], [0, 0]];
// Calling the .spaceToBatchND() function over
// the above parameters and Tensor
x.spaceToBatchND(blockShape, paddings).print();
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Initializing a Tensor
const x = tf.tensor4d([2, 4, 6, 8], [1, 2, 2, 1]);
// Using the blockShape and paddings as the
// parameter for the .spaceToBatchND() function
x.spaceToBatchND([2, 2], [[0, 0], [0, 0]]).print();
输出:
Tensor
[[[[5 ],
[10]],
[[15],
[20]],
[[25],
[30]]]]
示例 2:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Initializing a Tensor
const x = tf.tensor4d([2, 4, 6, 8], [1, 2, 2, 1]);
// Using the blockShape and paddings as the
// parameter for the .spaceToBatchND() function
x.spaceToBatchND([2, 2], [[0, 0], [0, 0]]).print();
输出:
Tensor
[ [ [[2],]],
[ [[4],]],
[ [[6],]],
[ [[8],]]]
参考: https://js.tensorflow.org/api/latest/#spaceToBatchND