当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.raw_ops.SpaceToBatch用法及代码示例


SpaceToBatch 用于 T 类型的 4-D 张量。

用法

tf.raw_ops.SpaceToBatch(
    input, paddings, block_size, name=None
)

参数

  • input 一个Tensor。 4-D 形状 [batch, height, width, depth]
  • paddings A Tensor.必须是以下类型之一:int32,int64.具有形状的非负整数的二维张量[2, 2].它指定在空间维度上用零填充输入,如下所示:
    paddings = [[pad_top, pad_bottom], [pad_left, pad_right]]

    零填充输入张量的有效空间维度将是:

    height_pad = pad_top + height + pad_bottom
      width_pad = pad_left + width + pad_right
  • block_size int>= 2
  • name 操作的名称(可选)。

返回

  • 一个Tensor。具有与 input 相同的类型。

这是更通用的 SpaceToBatchND 的旧版本。

Zero-pads 然后将空间数据块重新排列(置换)成批处理。更具体地说,此操作输出输入张量的副本,其中来自 heightwidth 维度的值被移动到 batch 维度。补零之后,输入的heightwidth 都必须能被块大小整除。

attr block_size 必须大于一。它表示块大小。

  • 高度和宽度维度中大小为block_size x block size 的非重叠块在每个位置重新排列到批次维度中。
  • 输出张量的批次为 batch * block_size * block_size
  • height_pad 和 width_pad 都必须能被 block_size 整除。

输出的形状将是:

[batch*block_size*block_size, height_pad/block_size, width_pad/block_size,
 depth]

一些例子:

(1) 对于以下形状 [1, 2, 2, 1] 和 block_size 的 2 输入:

x = [[[[1], [2]], [[3], [4]]]]

输出张量的形状为 [4, 1, 1, 1] 和值:

[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]

(2) 对于以下形状 [1, 2, 2, 3] 和 block_size 的 2 输入:

x = [[[[1, 2, 3], [4, 5, 6]],
      [[7, 8, 9], [10, 11, 12]]]]

输出张量的形状为 [4, 1, 1, 3] 和值:

[[[[1, 2, 3]]], [[[4, 5, 6]]], [[[7, 8, 9]]], [[[10, 11, 12]]]]

(3) 对于以下形状 [1, 4, 4, 1] 和 block_size 的 2 输入:

x = [[[[1],   [2],  [3],  [4]],
      [[5],   [6],  [7],  [8]],
      [[9],  [10], [11],  [12]],
      [[13], [14], [15],  [16]]]]

输出张量的形状为 [4, 2, 2, 1] 和值:

x = [[[[1], [3]], [[9], [11]]],
     [[[2], [4]], [[10], [12]]],
     [[[5], [7]], [[13], [15]]],
     [[[6], [8]], [[14], [16]]]]

(4) 对于以下形状 [2, 2, 4, 1] 和 block_size 的 2 输入:

x = [[[[1],   [2],  [3],  [4]],
      [[5],   [6],  [7],  [8]]],
     [[[9],  [10], [11],  [12]],
      [[13], [14], [15],  [16]]]]

输出张量的形状为 [8, 1, 2, 1] 和值:

x = [[[[1], [3]]], [[[9], [11]]], [[[2], [4]]], [[[10], [12]]],
     [[[5], [7]]], [[[13], [15]]], [[[6], [8]]], [[[14], [16]]]]

除其他外,此操作对于将多孔卷积减少为常规卷积很有用。

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.raw_ops.SpaceToBatch。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。