Tensorflow.js tf.batchToSpaceND()函数
Tensorflow.js是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。
tf.batchToSpaceND()函数用于将给定的“batch”从零维重构为“M+1”维,形状为“block-Shape + [batch]”,其中 block-Shape 是参数,batch 是指定的张量。这里根据给定的裁剪数组对中间结果进行裁剪。
tf.batchToSpaceND (x, blockShape, crops)
参数:此函数接受三个参数,如下所示:
- x:指定的 N 维批张量,形状为“[batch] + spatialShape + remainingShape”,其中 spatialShape 为 M 维。
- blockShape:一维数组的形状必须为 [M],因为所有值都必须大于或等于 1。
- crop: [M, 2] 的二维数组形状,其所有值都必须大于或等于 0。这里 crop[i] = [cropStart,cropEnd] 定义从输入维度 i + 裁剪的部分1.
返回值:它返回指定批次的重塑版本的张量。
示例 1:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Initializing a 3D Tensor of batch to reshape
const x = tf.tensor3d([5, 10, 15, 20, 25], [5, 1, 1]);
// Initializing blockShape and crops parameter
const blockShape = [1, 1];
const crops = [[0, 0], [0, 0]];
// Calling the .batchToSpaceND() function over
// the above parameters and Tensor
x.batchToSpaceND(blockShape, crops).print();
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Initializing a 4D Tensor of batch to restructure
const x = tf.tensor4d([0, 2, 4, 6, 8, 10], [6, 1, 1, 1]);
// Using the blockShape and crops as the parameter
// for the .batchToSpaceND() function
x.batchToSpaceND([3, 2], [[0, 0], [0, 0]]).print();
输出:
Tensor
[ [[5 ],],
[[10],],
[[15],],
[[20],],
[[25],]]
示例 2:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Initializing a 4D Tensor of batch to restructure
const x = tf.tensor4d([0, 2, 4, 6, 8, 10], [6, 1, 1, 1]);
// Using the blockShape and crops as the parameter
// for the .batchToSpaceND() function
x.batchToSpaceND([3, 2], [[0, 0], [0, 0]]).print();
输出:
Tensor
[[[[0 ],
[2 ]],
[[4 ],
[6 ]],
[[8 ],
[10]]]]
参考: https://js.tensorflow.org/api/latest/#batchToSpaceND