BatchToSpaceNd

публичный финальный класс BatchToSpaceNd

BatchToSpace для ND-тензоров типа T.

Эта операция преобразует «пакетное» измерение 0 в измерения «M + 1» формы «block_shape + [batch]», чередует эти блоки обратно в сетку, определенную пространственными измерениями «[1, ..., M]», чтобы получить результат того же ранга, что и входные данные. Пространственные измерения этого промежуточного результата затем при необходимости обрезаются в соответствии с «обрезками» для получения выходных данных. Это противоположность SpaceToBatch. Подробное описание смотрите ниже.

Публичные методы

Выход <Т>
какВывод ()
Возвращает символический дескриптор тензора.
static <T, U расширяет число, V расширяет число> BatchToSpaceNd <T>
create ( Область действия, ввод операнда <T>, операнд <U> blockShape, обрезка операнда <V>)
Фабричный метод для создания класса, обертывающего новую операцию BatchToSpaceNd.
Выход <Т>

Унаследованные методы

Публичные методы

публичный вывод <T> asOutput ()

Возвращает символический дескриптор тензора.

Входные данные для операций TensorFlow являются выходными данными другой операции TensorFlow. Этот метод используется для получения символического дескриптора, который представляет собой вычисление входных данных.

public static BatchToSpaceNd <T> create (область действия , ввод операнда <T>, операнд <U> blockShape, обрезка операнда <V>)

Фабричный метод для создания класса, обертывающего новую операцию BatchToSpaceNd.

Параметры
объем текущий объем
вход ND с формой `input_shape = [batch] + пространственная_форма + оставшаяся_форма`, где пространственная_форма имеет M измерений.
блокшапе 1-D с формой `[M]`, все значения должны быть >= 1.
посевы 2-D с формой `[M, 2]`, все значения должны быть >= 0. `crops[i] = [crop_start, Crop_end]` указывает количество обрезки из входного измерения `i + 1`, что соответствует пространственное измерение `i`. Требуется, чтобы `crop_start[i] + Crop_end[i] <= block_shape[i] * input_shape[i + 1]`.

Эта операция эквивалентна следующим шагам:

1. Измените форму «входа» на «измененную» форму: [block_shape[0], ..., block_shape[M-1], пакет / prod(block_shape), input_shape[1], ..., input_shape[N- 1]]

2. Измените размеры «измененной» формы, чтобы получить «измененную» форму [batch / prod(block_shape),

input_shape[1], block_shape[0], ..., input_shape[M], block_shape[M-1],

input_shape[M+1], ..., input_shape[N-1]]

3. Измените форму `permuted`, чтобы получить `reshaded_permuted` формы [batch / prod(block_shape),

входная_форма[1] * форма_блока[0], ..., форма_блока[M] * форма_блока[M-1],

input_shape[M+1], ..., input_shape[N-1]]

4. Обрежьте начало и конец размеров `[1, ..., M]` объекта `reshape_permuted` в соответствии с `crops`, чтобы получить на выходе форму: [batch / prod(block_shape),

input_shape[1] * block_shape[0] — обрезки[0,0] — обрезки[0,1], ..., input_shape[M] * block_shape[M-1] — обрезки[M-1,0] — обрезки [М-1,1],

input_shape[M+1], ..., input_shape[N-1]]

Некоторые примеры:

(1) Для следующего ввода формы `[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]]]]
 
(2) Для следующих входных данных формы `[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]]]]
 
(3) Для следующего ввода формы `[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]]]]
 
(4) Для следующих входных данных формы `[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]]]]
 

Возврат
  • новый экземпляр BatchToSpaceNd

публичный вывод <T> вывод ()