tensorflow::ops::DepthToSpace
#include <array_ops.h>DepthToSpace untuk tensor tipe T.
Ringkasan
Mengatur ulang data dari kedalaman ke dalam blok data spasial. Ini adalah transformasi kebalikan dari SpaceToDepth. Lebih spesifiknya, operasi ini menghasilkan salinan tensor input di mana nilai dari dimensi depth dipindahkan dalam blok spasial ke dimensi height dan width . Atribut block_size menunjukkan ukuran blok input dan bagaimana data dipindahkan.
- Potongan data berukuran
block_size * block_sizedari kedalaman tertentu disusun ulang menjadi blok-blok yang tidak tumpang tindih berukuranblock_size x block_size - Lebar tensor keluaran adalah
input_depth * block_size, sedangkan tingginya adalahinput_height * block_size. - Koordinat Y dan X di dalam setiap blok gambar keluaran ditentukan oleh komponen orde tinggi dari indeks saluran masukan.
- Kedalaman tensor input harus habis dibagi oleh
block_size * block_size.
Atribut 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 ]
Akan lebih mudah untuk menganggap operasi ini sebagai transformasi Tensor 6-D. Misalnya, untuk data_format = NHWC, setiap elemen dalam tensor input dapat ditentukan melalui 6 koordinat, diurutkan berdasarkan signifikansi tata letak memori yang menurun sebagai berikut: n,iY,iX,bY,bX,oC (di mana n=indeks batch, iX, iY berarti koordinat X atau Y dalam gambar input, bX, bY berarti koordinat dalam blok output, oC berarti saluran output). Outputnya akan berupa input yang ditransposisikan ke tata letak berikut: n,iY,bY,iX,bX,oC
Operasi ini berguna untuk mengubah ukuran aktivasi antar konvolusi (tetapi tetap mempertahankan semua data), misalnya sebagai pengganti pooling. Operasi ini juga berguna untuk melatih model yang sepenuhnya berbasis konvolusi.
Misalnya, diberikan input dengan 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, input memiliki batch 1 dan setiap elemen batch memiliki bentuk [1, 1, 4] , output yang sesuai akan memiliki elemen 2x2 dan akan memiliki kedalaman 1 saluran (1 = 4 / (block_size * block_size) ). Bentuk elemen output adalah [2, 2, 1] .
Untuk tensor masukan dengan kedalaman yang lebih besar, di sini dengan bentuk [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 tensor berikut dengan bentuk [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 tersebut akan mengembalikan tensor berikut dengan bentuk [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
keluaran
::tensorflow::Output output
Fungsi publik
Kedalaman ke Ruang Angkasa
DepthToSpace( const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size )
Kedalaman ke Ruang Angkasa
DepthToSpace( const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size, const DepthToSpace::Attrs & attrs )
simpul
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
Fungsi statis publik
Format Data
Attrs DataFormat( StringPiece x )