DepthToSpace для тензоров типа T.
Переупорядочивает данные из глубины в блоки пространственных данных. Это обратное преобразование SpaceToDepth. Точнее, эта операция выводит копию входного тензора, в которой значения из измерения «глубина» перемещаются в пространственных блоках в измерения «высота» и «ширина». Атрибут «block_size» указывает размер входного блока и способ перемещения данных.
* Фрагменты данных размера `block_size * block_size` из глубины перегруппировываются в непересекающиеся блоки размером `block_size x block_size` * Ширина выходного тензора равна `input_length * block_size`, тогда как высота равна `input_height * block_size`. * Координаты Y, X внутри каждого блока выходного изображения определяются компонентом высокого порядка индекса входного канала. * Глубина входного тензора должна делиться на `block_size *block_size`.
Атрибут `data_format` определяет расположение входных и выходных тензоров со следующими параметрами: "NHWC": `[ пакет, высота, ширина, каналы]` "NCHW": `[ пакет, каналы, высота, ширина]` " NCHW_VECT_C": `qint8 [пакет, каналы / 4, высота, ширина, 4]`
Полезно рассматривать эту операцию как преобразование 6-D тензора. например, для data_format = NHWC, каждый элемент во входном тензоре может быть указан с помощью 6 координат, упорядоченных по уменьшению значимости расположения памяти следующим образом: n,iY,iX,bY,bX,oC (где n = индекс пакета, iX, iY означает X или координаты Y внутри входного изображения, bX, byY означает координаты внутри выходного блока, oC означает выходные каналы). Выходные данные будут преобразованы в следующий формат: n,iY,bY,iX,bX,oC.
Эта операция полезна для изменения размера активаций между свертками (но с сохранением всех данных), например, вместо объединения в пул. Это также полезно для обучения чисто сверточных моделей.
Например, для ввода формы `[1, 1, 1, 4]` data_format = "NHWC" и block_size = 2:
x = [[[[1, 2, 3, 4]]]]
[[[[1], [2]],
[[3], [4]]]]
Для входного тензора с большей глубиной, здесь формы `[1, 1, 1, 12]`, например
x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
[[[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]]]
x = [[[[1, 2, 3, 4],
[5, 6, 7, 8]],
[[9, 10, 11, 12],
[13, 14, 15, 16]]]]
x = [[[ [1], [2], [5], [6]],
[ [3], [4], [7], [8]],
[ [9], [10], [13], [14]],
[ [11], [12], [15], [16]]]]
Вложенные классы
сорт | DepthToSpace.Параметры | Дополнительные атрибуты для DepthToSpace |
Константы
Нить | OP_NAME | Название этой операции, известное основному движку TensorFlow. |
Публичные методы
Выход <Т> | какВывод () Возвращает символический дескриптор тензора. |
статический <T расширяет TType > DepthToSpace <T> | create (Область действия , ввод операнда <T>, длинный размер блока, параметры... ) Фабричный метод для создания класса, обертывающего новую операцию DepthToSpace. |
статический DepthToSpace.Options | dataFormat (строка dataFormat) |
Выход <Т> | выход () |
Унаследованные методы
Константы
общедоступная статическая финальная строка OP_NAME
Название этой операции, известное основному движку TensorFlow.
Публичные методы
публичный вывод <T> asOutput ()
Возвращает символический дескриптор тензора.
Входные данные для операций TensorFlow являются выходными данными другой операции TensorFlow. Этот метод используется для получения символического дескриптора, который представляет собой вычисление входных данных.
public static DepthToSpace <T> create (область области действия , ввод операнда <T>, длинный размер блока, параметры... параметры)
Фабричный метод для создания класса, обертывающего новую операцию DepthToSpace.
Параметры
объем | текущий объем |
---|---|
размер блока | Размер пространственного блока такой же, как в Space2Depth. |
параметры | содержит значения необязательных атрибутов |
Возврат
- новый экземпляр DepthToSpace