📜  Tensorflow.js tf.batchToSpaceND()函数

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

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