TensorFlow:tf.space_to_batch函數(shù)

2018-01-26 10:44 更新

tf.space_to_batch 函數(shù)

space_to_batch(
    input,
    paddings,
    block_size,
    name=None
)

定義在:tensorflow/python/ops/array_ops.py.

參見指南:張量變換>分割和連接

用于 T 型的4維張量的 SpaceToBatch.

這是更一般的SpaceToBatchND的傳統(tǒng)版本.

零填充,然后重新排列(permutes)的空間數(shù)據(jù)塊成批.更具體地說,該操作會輸出輸入張量的副本,其中來自height維和width維的值將移至該batch維.在零填充之后,輸入的height和width輸入必須能被塊大小整除.

函數(shù)參數(shù)

  • input:一個Tensor,是4-D的,并且具有形狀[batch, height, width, depth].
  • paddings:一個Tensor,必須是以下類型之一:int32,int64.具有形狀的非負整數(shù)的二維張量[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
    attr block_size 必須大于1.它表示塊大小.
    • 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)對于以下輸入的shape [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)對于以下輸入的shape [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]]]]
    在其他方面, 此操作有助于將 atrous 卷積減為常規(guī)卷積.block_size:是一個大于等于2的int.name:操作的名稱(可選).

函數(shù)返回

tf.space_to_batch函數(shù)返回一個與input具有相同的類型的Tensor.

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號