tf.batch_to_space
| Просмотреть исходный код на GitHub |
BatchToSpace для N-мерных тензоров типа T.
tf.batch_to_space(
input, block_shape, crops, name=None
)
Эта операция преобразует размерность «batch» 0 в M + 1 размерности формы block_shape + [batch], вставляет эти блоки обратно в сетку, определённую пространственными размерностями [1, ..., M], чтобы получить результат с таким же рангом, как у входных данных. Пространственные размеры этого промежуточного результата затем необязательно обрезаются в соответствии с crops для получения результата. Это обратная операция к SpaceToBatch (см. tf.space_to_batch).
| Аргументы | |
|---|---|
input | N-мерный Tensor с формой input_shape = [batch] + spatial_shape + remaining_shape, где spatial_shape имеет M измерений. |
block_shape | 1-мерный Tensor с формой [M]. Должен быть одного из следующих типов: int32, int64. Все значения должны быть >= 1. Для обратной совместимости с TF 1.0 этот параметр может быть целым числом, в этом случае он преобразуется в numpy.array([block_shape, block_shape], dtype=numpy.int64). |
crops | 2-мерный Tensor с формой [M, 2]. Должен быть одного из следующих типов: int32, int64. Все значения должны быть >= 0. crops[i] = [crop_start, crop_end] задаёт количество обрезки из входного измерения i + 1, что соответствует пространственному измерению i. Требуется, чтобы crop_start[i] + crop_end[i] <= block_shape[i] * input_shape[i + 1]. Эта операция эквивалентна следующим шагам:
|
name | Имя операции (необязательно). |
Примеры:
-
Для входных данных формы
[4, 1, 1, 1],block_shape = [2, 2], иcrops = [[0, 0], [0, 0]]:[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]
Тензор результата имеет форму
[1, 2, 2, 1]и значение:x = [[[[1], [2]], [[3], [4]]]] -
Для входных данных формы
[4, 1, 1, 3],block_shape = [2, 2], иcrops = [[0, 0], [0, 0]]:[[[1, 2, 3]], [[4, 5, 6]], [[7, 8, 9]], [[10, 11, 12]]]
Тензор результата имеет форму
[1, 2, 2, 3]и значение:x = [[[[1, 2, 3], [4, 5, 6 ]], [[7, 8, 9], [10, 11, 12]]]] -
Для входных данных формы
[4, 2, 2, 1],block_shape = [2, 2], иcrops = [[0, 0], [0, 0]]:x = [[[[1], [3]], [[ 9], [11]]], [[[2], [4]], [[10], [12]]], [[[5], [7]], [[13], [15]]], [[[6], [8]], [[14], [16]]]]Тензор результата имеет форму
[1, 4, 4, 1]и значение:x = [[[1], [2], [ 3], [ 4]], [[5], [6], [ 7], [ 8]], [[9], [10], [11], [12]], [[13], [14], [15], [16]]] -
Для входных данных формы
[8, 1, 3, 1],block_shape = [2, 2], иcrops = [[0, 0], [2, 0]]:x = [[[[0], [ 1], [ 3]]], [[[0], [ 9], [11]]], [[[0], [ 2], [ 4]]], [[[0], [10], [12]]], [[[0], [ 5], [ 7]]], [[[0], [13], [15]]], [[[0], [ 6], [ 8]]], [[[0], [14], [16]]]]Тензор результата имеет форму
[2, 2, 4, 1]и значение:x = [[[[ 1], [ 2], [ 3], [ 4]], [[ 5], [ 6], [ 7], [ 8]]], [[[ 9], [10], [11], [12]], [[13], [14], [15], [16]]]]
| Возвращаемое значение | |
|---|---|
Tensor. Имеет тот же тип, что и input. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/batch_to_space