DepthToSpace

halka açık final dersi DepthToSpace

T tipi tensörler için DepthToSpace.

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

* Derinlikten "blok_boyutu * blok_boyutu" boyutundaki veri parçaları, "blok_boyutu x blok_boyutu" boyutunda örtüşmeyen bloklar halinde yeniden düzenlenir. * Çıkış tensörünün genişliği "giriş_derinliği * blok_boyutu" iken yüksekliği "giriş_yüksekliği * blok_boyutu"dur. * Çı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 "blok_boyutu * blok_boyutu" ile bölünebilir olmalıdır.

`data_format` özelliği, giriş ve çıkış tensörlerinin düzenini aşağıdaki seçeneklerle belirtir: "NHWC": `[ toplu iş, yükseklik, genişlik, kanallar ]` "NCHW": `[ toplu iş, kanallar, yükseklik, genişlik ]` " NCHW_VECT_C": `qint8 [ toplu iş, kanallar / 4, yükseklik, genişlik, 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 girdi verildiğinde, data_format = "NHWC" ve blok_size = 2:

x = [[[[1, 2, 3, 4]]]]
 
 
Bu işlem, "[1, 2, 2, 1" şeklinde bir tensör çıktısı verecektir. ]`:
[[[[1], [2]],
      [[3], [4]]]]
 
Burada, girdi 1'lik bir partiye sahiptir ve her parti elemanı `[1, 1, 4]' şeklindedir, karşılık gelen çıktı 2x2 elemana sahip olacak ve 1 kanal derinliğine sahip olacaktır (1 = ` 4 / (blok_boyutu * blok_boyutu)`). Çı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]' şeklinde, örneğin

x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
 
Bu işlem, blok boyutu 2 için, aşağıdaki şekildeki '[1, 2, 2' tensörünü döndürecektir. , 3]'
[[[[1, 2, 3], [4, 5, 6]],
      [[7, 8, 9], [10, 11, 12]]]]
 
 
Benzer şekilde, aşağıdaki '[1 2 2 4]' şekli girişi ve 2 blok boyutu için:
x =  [[[[1, 2, 3, 4],
        [5, 6, 7, 8]],
       [[9, 10, 11, 12],
        [13, 14, 15, 16]]]]
 
, operatör aşağıdaki '[1 4 4 1] şekli tensörünü döndürecektir. `:
x = [[[ [1],   [2],  [5],  [6]],
       [ [3],   [4],  [7],  [8]],
       [ [9],  [10], [13],  [14]],
       [ [11], [12], [15],  [16]]]]
 
 

İç İçe Sınıflar

sınıf DepthToSpace.Options DepthToSpace için isteğe bağlı özellikler

Sabitler

Sicim OP_NAME Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı

Genel Yöntemler

Çıkış <T>
Çıkış olarak ()
Tensörün sembolik tutamacını döndürür.
statik <T, TType'ı genişletir > DepthToSpace <T>
oluştur ( Kapsam kapsamı, İşlenen <T> girişi, Uzun blokBoyutu, Seçenekler... seçenekleri)
Yeni bir DepthToSpace işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
statik DepthToSpace.Options
dataFormat (Dize dataFormat)
Çıkış <T>

Kalıtsal Yöntemler

Sabitler

genel statik son Dize OP_NAME

Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı

Sabit Değer: "DepthToSpace"

Genel Yöntemler

genel Çıkış <T> asOutput ()

Tensörün sembolik tutamacını döndürür.

TensorFlow işlemlerinin girdileri, başka bir TensorFlow işleminin çıktılarıdır. Bu yöntem, girişin hesaplanmasını temsil eden sembolik bir tanıtıcı elde etmek için kullanılır.

public static DepthToSpace <T> create ( Kapsam kapsamı, İşlenen <T> girişi, Uzun blokBoyutu, Seçenekler... seçenekleri)

Yeni bir DepthToSpace işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.

Parametreler
kapsam mevcut kapsam
blok boyutu Uzaysal bloğun boyutu, Space2Depth'tekiyle aynıdır.
seçenekler isteğe bağlı nitelik değerlerini taşır
İadeler
  • DepthToSpace'in yeni bir örneği

public static DepthToSpace.Options dataFormat (String dataFormat)

genel Çıkış <T> çıkışı ()