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 ukuran block_size x block_size
  • Lebar tensor keluarannya adalah input_depth * block_size , sedangkan tingginya adalah input_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:

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

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
)