przepływ tensorowy:: ops:: BatchToSpace

#include <array_ops.h>

BatchToSpace dla tensorów 4-D typu T.

Streszczenie

To jest starsza wersja bardziej ogólnego BatchToSpaceND .

Porządkuje (przestawia) dane z partii na bloki danych przestrzennych, a następnie przycina. Jest to odwrotna transformacja SpaceToBatch. Mówiąc dokładniej, ta operacja generuje kopię tensora wejściowego, w którym wartości z wymiaru batch są przenoszone w blokach przestrzennych do wymiarów height i width , a następnie przycinane są wzdłuż wymiarów height i width .

Argumenty:

  • zakres: Obiekt Scope
  • dane wejściowe: tensor 4-D z kształtem [batch*block_size*block_size, height_pad/block_size, width_pad/block_size, depth] . Należy zauważyć, że rozmiar wsadu tensora wejściowego musi być podzielny przez block_size * block_size .
  • uprawy: tensor 2-D nieujemnych liczb całkowitych o kształcie [2, 2] . Określa, ile elementów należy wyciąć z wyniku pośredniego w wymiarach przestrzennych w następujący sposób:
    crops = [[crop_top, crop_bottom], [crop_left, crop_right]]

Zwroty:

  • Output : 4-D z kształtem [batch, height, width, depth] , gdzie:
    height = height_pad - crop_top - crop_bottom
    width = width_pad - crop_left - crop_right

Atrybut block_size musi być większy niż jeden. Wskazuje rozmiar bloku.

Kilka przykładów:

(1) Dla następującego wprowadzenia kształtu [4, 1, 1, 1] i rozmiaru_bloku równego 2:

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

Tensor wyjściowy ma kształt [1, 2, 2, 1] i wartość:

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

(2) Dla następującego wprowadzenia kształtu [4, 1, 1, 3] i rozmiaru_bloku równego 2:

[[[[1, 2, 3]]], [[[4, 5, 6]]], [[[7, 8, 9]]], [[[10, 11, 12]]]]

Tensor wyjściowy ma kształt [1, 2, 2, 3] i wartość:

x = [[[[1, 2, 3], [4, 5, 6]],
      [[7, 8, 9], [10, 11, 12]]]]

(3) Dla następującego wprowadzenia kształtu [4, 2, 2, 1] i rozmiaru_bloku równego 2:

x = [[[[1], [3]], [[9], [11]]],
     [[[2], [4]], [[10], [12]]],
     [[[5], [7]], [[13], [15]]],
     [[[6], [8]], [[14], [16]]]]

Tensor wyjściowy ma kształt [1, 4, 4, 1] i wartość:

x = [[[[1],   [2],  [3],  [4]],
     [[5],   [6],  [7],  [8]],
     [[9],  [10], [11],  [12]],
     [[13], [14], [15],  [16]]]]

(4) Dla następującego wprowadzenia kształtu [8, 1, 2, 1] i rozmiaru_bloku równego 2:

x = [[[[1], [3]]], [[[9], [11]]], [[[2], [4]]], [[[10], [12]]],
     [[[5], [7]]], [[[13], [15]]], [[[6], [8]]], [[[14], [16]]]]

Tensor wyjściowy ma kształt [2, 2, 4, 1] i wartość:

x = [[[[1], [3]], [[5], [7]]],
     [[[2], [4]], [[10], [12]]],
     [[[5], [7]], [[13], [15]]],
     [[[6], [8]], [[14], [16]]]]

Konstruktory i destruktory

BatchToSpace (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input crops, int64 block_size)

Atrybuty publiczne

operation
output

Funkcje publiczne

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Atrybuty publiczne

działanie

Operation operation

wyjście

::tensorflow::Output output

Funkcje publiczne

BatchToSpace

 BatchToSpace(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input crops,
  int64 block_size
)

węzeł

::tensorflow::Node * node() const 

operator::tensorflow::Wejście

 operator::tensorflow::Input() const 

operator::tensorflow::Wyjście

 operator::tensorflow::Output() const