📜  Tensorflow.js tf.spaceToBatchND()函数

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

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