DepthToSpace dla tensorów typu T.
Przestawia dane z głębi na bloki danych przestrzennych. Jest to odwrotna transformacja SpaceToDepth. Mówiąc dokładniej, ta operacja generuje kopię tensora wejściowego, w którym wartości z wymiaru „głębokości” są przenoszone w blokach przestrzennych do wymiarów „wysokość” i „szerokość”. Atrybut `block_size` wskazuje rozmiar bloku wejściowego i sposób przenoszenia danych.
* Kawałki danych o rozmiarze `block_size * block_size` z głębokości są układane w nienakładające się bloki o rozmiarze `block_size x block_size` * Szerokość tensora wyjściowego to `input_głębokość * block_size`, natomiast wysokość to `input_height * block_size`. * Współrzędne Y, X w każdym bloku obrazu wyjściowego są określone przez składową wyższego rzędu indeksu kanału wejściowego. * Głębokość tensora wejściowego musi być podzielna przez `rozmiar_bloku * rozmiar_bloku`.
Atrybut `data_format` określa układ tensorów wejściowych i wyjściowych z następującymi opcjami: "NHWC": `[ partia, wysokość, szerokość, kanały ]` "NCHW": `[ partia, kanały, wysokość, szerokość ]` " NCHW_VECT_C": `qint8 [ partia, kanały / 4, wysokość, szerokość, 4 ]`
Warto rozważyć tę operację jako transformację tensora 6-D. np. dla format_danych = NHWC, każdy element tensora wejściowego można określić za pomocą 6 współrzędnych, uporządkowanych według malejącego znaczenia układu pamięci jako: n,iY,iX,bY,bX,oC (gdzie n=indeks wsadowy, iX, iY oznacza X lub Y w obrazie wejściowym, bX, bY oznaczają współrzędne w bloku wyjściowym, oC oznacza kanały wyjściowe). Dane wyjściowe będą danymi wejściowymi przetransponowanymi do następującego układu: n,iY,bY,iX,bX,oC
Ta operacja jest przydatna do zmiany rozmiaru aktywacji pomiędzy splotami (ale przy zachowaniu wszystkich danych), np. zamiast łączenia. Jest również przydatny do uczenia modeli czysto splotowych.
Na przykład, biorąc pod uwagę kształt `[1, 1, 1, 4]`, data_format = "NHWC" i block_size = 2:
x = [[[[1, 2, 3, 4]]]]
[[[[1], [2]],
[[3], [4]]]]
Dla tensora wejściowego o większej głębokości, tutaj o kształcie „[1, 1, 1, 12]”, np.
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]]]]
Klasy zagnieżdżone
klasa | Opcje głębokości do przestrzeni | Opcjonalne atrybuty dla DepthToSpace |
Stałe
Smyczkowy | OP_NAME | Nazwa tej operacji znana silnikowi rdzenia TensorFlow |
Metody publiczne
Wyjście <T> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
statyczny <T rozszerza TType > DepthToSpace <T> | |
statyczne DepthToSpace.Options | dataFormat (Format danych ciągu) |
Wyjście <T> | wyjście () |
Metody dziedziczone
Stałe
publiczny statyczny końcowy ciąg znaków OP_NAME
Nazwa tej operacji znana silnikowi rdzenia TensorFlow
Metody publiczne
publiczne wyjście <T> asOutput ()
Zwraca symboliczny uchwyt tensora.
Dane wejściowe operacji TensorFlow są wynikami innej operacji TensorFlow. Ta metoda służy do uzyskania symbolicznego uchwytu reprezentującego obliczenia danych wejściowych.
public static DepthToSpace <T> create (zakres zakresu , wejście argumentu <T>, długi rozmiar bloku, opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację DepthToSpace.
Parametry
zakres | aktualny zakres |
---|---|
Rozmiar bloku | Rozmiar bloku przestrzennego taki sam jak w Space2Depth. |
opcje | przenosi opcjonalne wartości atrybutów |
Powroty
- nowa instancja DepthToSpace