tensor akışı:: işlem:: Uzaya Derinlik

#include <array_ops.h>

T tipi tensörler için DepthToSpace .

Özet

Verileri derinlikten uzamsal veri bloklarına yeniden düzenler. Bu SpaceToDepth'in ters dönüşümüdür. Daha spesifik olarak, bu işlem, depth boyutundan gelen değerlerin uzamsal bloklar halinde height ve width boyutlarına taşındığı giriş tensörünün bir kopyasını çıkarır. attr block_size giriş bloğu boyutunu ve verilerin nasıl taşındığını gösterir.

  • Derinlikten itibaren block_size * block_size boyutundaki veri yığınları, block_size x block_size boyutunda örtüşmeyen bloklar halinde yeniden düzenlenir
  • Çıkış tensörünün genişliği input_depth * block_size , yüksekliği ise input_height * block_size .
  • Çıkış görüntüsünün her bloğundaki Y, X koordinatları, giriş kanalı indeksinin yüksek dereceli bileşeni tarafından belirlenir.
  • Giriş tensörünün derinliği block_size * block_size ile bölünebilir olmalıdır.

data_format özniteliği, aşağıdaki seçeneklerle giriş ve çıkış tensörlerinin düzenini belirtir: "NHWC": [ batch, height, width, channels ] "NCHW": [ batch, channels, height, width ] "NCHW_VECT_C": qint8 [ batch, channels / 4, height, width, 4 ]

İşlemi 6-D Tensörün dönüştürülmesi olarak düşünmek faydalıdır. örneğin data_format = NHWC için, Giriş tensöründeki her öğe, bellek düzeni önemini şu şekilde azaltarak sıralanan 6 koordinat aracılığıyla belirtilebilir: n,iY,iX,bY,bX,oC (burada n=toplu indeks, iX, iY, X anlamına gelir) veya giriş görüntüsü içindeki Y koordinatları, bX, bY çıkış bloğu içindeki koordinatlar anlamına gelir, oC çıkış kanalları anlamına gelir). Çıkış, aşağıdaki düzene aktarılan giriş olacaktır: n,iY,bY,iX,bX,oC

Bu işlem, örneğin havuzlama yerine, evrişimler arasındaki aktivasyonları yeniden boyutlandırmak (ancak tüm verileri tutmak) için kullanışlıdır. Tamamen evrişimsel modellerin eğitimi için de kullanışlıdır.

Örneğin, [1, 1, 1, 4] şeklinde bir giriş verildiğinde, data_format = "NHWC" ve blok_size = 2:

x = [[[[1, 2, 3, 4]]]]

  

This operation will output a tensor of shape [1, 2, 2, 1]:

   [[[[1], [2]],
     [[3], [4]]]]

Burada giriş 1'lik bir partiye sahiptir ve her parti elemanı [1, 1, 4] şekline sahiptir, karşılık gelen çıktı 2x2 elemana sahip olacak ve 1 kanal derinliğine sahip olacaktır (1 = 4 / (block_size * block_size) ). Çıkış elemanı şekli [2, 2, 1] şeklindedir.

Daha büyük derinliğe sahip bir giriş tensörü için, burada [1, 1, 1, 12] şeklindedir, örneğin

x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]

Bu işlem, 2 blok boyutu için, aşağıdaki [1, 2, 2, 3] şeklindeki tensörü döndürecektir.

   [[[[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]]]]

operatör aşağıdaki şekil tensörünü döndürecektir [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

çıktı

::tensorflow::Output output

Kamu işlevleri

Uzaya Derinlik

 DepthToSpace(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  int64 block_size
)

Uzaya Derinlik

 DepthToSpace(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  int64 block_size,
  const DepthToSpace::Attrs & attrs
)

düğüm

::tensorflow::Node * node() const 

operatör::tensorflow::Giriş

 operator::tensorflow::Input() const 

operatör::tensorflow::Çıktı

 operator::tensorflow::Output() const 

Genel statik işlevler

Veri Formatı

Attrs DataFormat(
  StringPiece x
)