aliran tensor:: operasi:: DepthToSpace
#include <array_ops.h>
DepthToSpace untuk tensor tipe T.
Ringkasan
Menyusun ulang data dari kedalaman menjadi blok data spasial. Ini adalah transformasi kebalikan dari SpaceToDepth. Lebih khusus lagi, operasi ini menghasilkan salinan tensor masukan di mana nilai dari dimensi depth
dipindahkan dalam blok spasial ke dimensi height
dan width
. attr block_size
menunjukkan ukuran blok masukan dan cara data dipindahkan.
- Potongan data berukuran
block_size * block_size
dari kedalaman disusun ulang menjadi blok-blok yang tidak tumpang tindih dengan ukuranblock_size x block_size
- Lebar tensor keluarannya adalah
input_depth * block_size
, sedangkan tingginya adalahinput_height * block_size
. - Koordinat Y, X dalam setiap blok gambar keluaran ditentukan oleh komponen tingkat tinggi dari indeks saluran masukan.
- Kedalaman tensor masukan harus habis dibagi
block_size * block_size
.
attr data_format
menentukan tata letak tensor input dan output dengan opsi berikut: "NHWC": [ batch, height, width, channels ]
"NCHW": [ batch, channels, height, width ]
"NCHW_VECT_C": qint8 [ batch, channels / 4, height, width, 4 ]
Penting untuk mempertimbangkan operasi ini sebagai transformasi Tensor 6-D. misalnya untuk data_format = NHWC, Setiap elemen dalam tensor masukan dapat ditentukan melalui 6 koordinat, diurutkan dengan mengurangi signifikansi tata letak memori sebagai: n,iY,iX,bY,bX,oC (di mana n=indeks batch, iX, iY berarti X atau koordinat Y dalam gambar masukan, bX, bY berarti koordinat dalam blok keluaran, oC berarti saluran keluaran). Outputnya akan menjadi input yang dialihkan ke tata letak berikut: n,iY,bY,iX,bX,oC
Operasi ini berguna untuk mengubah ukuran aktivasi antar konvolusi (tetapi menyimpan semua data), misalnya, alih-alih mengumpulkan. Hal ini juga berguna untuk melatih model konvolusional murni.
Misalnya, jika diberi masukan bentuk [1, 1, 1, 4]
, data_format = "NHWC" dan block_size = 2:
x = [[[[1, 2, 3, 4]]]]
This operation will output a tensor of shape
[1, 2, 2, 1]
:
[[[[1], [2]], [[3], [4]]]]Di sini, masukan memiliki kumpulan 1 dan setiap elemen kumpulan memiliki bentuk
[1, 1, 4]
, keluaran yang sesuai akan memiliki elemen 2x2 dan akan memiliki kedalaman 1 saluran (1 =4 / (block_size * block_size)
). Bentuk elemen keluarannya adalah[2, 2, 1]
.Untuk tensor masukan dengan kedalaman lebih besar, bentuk berikut
[1, 1, 1, 12]
, misalnya
x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]Operasi ini, untuk ukuran blok 2, akan mengembalikan bentuk tensor berikut
[1, 2, 2, 3]
[[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]]
Similarly, for the following input of shape
[1 2 2 4]
, and a block size of 2:
x = [[[[1, 2, 3, 4], [5, 6, 7, 8]], [[9, 10, 11, 12], [13, 14, 15, 16]]]]operator akan mengembalikan tensor bentuk berikut
[1 4 4 1]
:
x = [[[ [1], [2], [5], [6]], [ [3], [4], [7], [8]], [ [9], [10], [13], [14]], [ [11], [12], [15], [16]]]]
Arguments:
- scope: A Scope object
- block_size: The size of the spatial block, same as in Space2Depth.
Returns:
Output
: The output tensor.
Constructors and Destructors |
|
---|---|
DepthToSpace(const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size)
|
|
DepthToSpace(const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size, const DepthToSpace::Attrs & attrs)
|
Public attributes |
|
---|---|
operation
|
|
output
|
Public functions |
|
---|---|
node() const
|
::tensorflow::Node *
|
operator::tensorflow::Input() const
|
|
operator::tensorflow::Output() const
|
|
Public static functions |
|
---|---|
DataFormat(StringPiece x)
|
Structs |
|
---|---|
tensorflow:: |
Optional attribute setters for DepthToSpace. |
Public attributes
operation
Operation operation
keluaran
::tensorflow::Output output
Fungsi publik
DepthToSpace
DepthToSpace( const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size )
DepthToSpace
DepthToSpace( const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size, const DepthToSpace::Attrs & attrs )
simpul
::tensorflow::Node * node() const
operator::tensorflow::Masukan
operator::tensorflow::Input() const
operator::tensorflow::Keluaran
operator::tensorflow::Output() const
Fungsi statis publik
Format Data
Attrs DataFormat( StringPiece x )