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_size dari kedalaman tertentu disusun ulang menjadi blok-blok yang tidak tumpang tindih berukuran block_size x block_size
  • Lebar tensor keluaran adalah input_depth * block_size , sedangkan tingginya adalah input_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:

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::ops::DepthToSpace::Attrs

Optional attribute setters for DepthToSpace.

Public attributes

operation

Operation operation

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
)