Spec-Zone.ru › TensorFlow 1.15

tf.nn.space_to_batch

SpaceToBatch для 4-мерных тензоров типа T.

Представления псевдонимов

Основные псевдонимы

tf.space_to_batch

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.nn.space_to_batch, tf.compat.v1.space_to_batch

tf.nn.space_to_batch(
    input, paddings, block_size=None, name=None, block_shape=None
)

Это устаревшая версия более общего SpaceToBatchND.

Добавляет нули и затем переупорядочивает (переставляет) блоки пространственных данных в пакет. Более конкретно, этот оператор выводит копию входного тензора, где значения из height и width измерений перемещаются в измерение batch. После добавления нулей height и width входного тензора должны быть кратными размеру блока.

Аргументы
input Тензор Tensor. 4-мерный с формой [batch, height, width, depth].
paddings Тензор Tensor. Должен быть одного из следующих типов: int32, int64. 2-мерный тензор неотрицательных целых чисел с формой [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 должен быть больше единицы. Он указывает размер блока.

  • Непересекающиеся блоки размером block_size x block size в измерениях высоты и ширины переупорядочиваются в измерение пакета в каждой позиции.
  • Пакет выходного тензора равен batch * block_size * block_size.
  • И height_pad, и width_pad должны быть кратны размеру блока.

Форма вывода будет:

[batchblock_sizeblock_size, height_pad/block_size, width_pad/block_size, depth]

Примеры:

(1) Для следующего входного тензора размером [1, 2, 2, 1] и размера блока 2:

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

Выходной тензор имеет размер [4, 1, 1, 1] и значение:

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

(2) Для следующего входного тензора размером [1, 2, 2, 3] и размера блока 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] и размера блока 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] и размера блока 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]]]]

Среди прочего, эта операция полезна для преобразования атрофического свёртки в обычную свёртку.

block_size Имя int оператора.
name Имя операции (необязательно).
Возвращаемое значение
Тензор Tensor. Имеет тот же тип, что и input.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/nn/space_to_batch

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API