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]" biçiminde bir girdi verildiğinde, data_format = "NHWC" ve blok_boyutu = 2:
x = [[[[1, 2, 3, 4]]]]
[[[[1], [2]],
[[3], [4]]]]
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]]]]
[[[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]]]
x = [[[[1, 2, 3, 4],
[5, 6, 7, 8]],
[[9, 10, 11, 12],
[13, 14, 15, 16]]]]
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> | çıktı () |
Kalıtsal Yöntemler
Sabitler
genel statik son Dize OP_NAME
Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı
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 |
İade
- DepthToSpace'in yeni bir örneği