T tipi tensörler için SpaceToDepth.
Uzamsal veri bloklarını derinlemesine yeniden düzenler. Daha spesifik olarak, bu işlem, 'yükseklik' ve 'genişlik' boyutlarından gelen değerlerin 'derinlik' boyutuna taşındığı giriş tensörünün bir kopyasını çıkarır. 'block_size' özelliği giriş bloğu boyutunu belirtir.
* "blok_boyutu x blok boyutu" boyutunda örtüşmeyen bloklar, her konumda derinliğe göre yeniden düzenlenir. * Çıkış tensörünün derinliği `blok_boyutu * blok_boyutu * giriş_derinliği`dir. * Girişin her bloğundaki Y, X koordinatları, çıkış kanalı indeksinin yüksek dereceli bileşeni haline gelir. * Giriş tensörünün yüksekliği ve genişliği blok_boyutu'na 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,oY,bY,oX,bX,iC (burada n=toplu indeks, oX, oY, X anlamına gelir) veya çıkış görüntüsü içindeki Y koordinatları, bX, bY giriş bloğu içindeki koordinatlar anlamına gelir, iC giriş kanalları anlamına gelir). Çıktı şu düzene göre aktarılacaktır: n,oY,oX,bY,bX,iC
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, 2, 2, 1]" 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, 2, 2, 3]' ş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], [5], [6]],
[[3], [4], [7], [8]],
[[9], [10], [13], [14]],
[[11], [12], [15], [16]]]]
x = [[[[1, 2, 3, 4],
[5, 6, 7, 8]],
[[9, 10, 11, 12],
[13, 14, 15, 16]]]]
İç İçe Sınıflar
sınıf | SpaceToDepth.Options | SpaceToDepth 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 > SpaceToDepth <T> | oluştur ( Kapsam kapsamı, İşlenen <T> girişi, Uzun blokBoyutu, Seçenekler... seçenekleri) Yeni bir SpaceToDepth işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi. |
statik SpaceToDepth.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 SpaceToDepth <T> create ( Kapsam kapsamı, İşlenen <T> girişi, Uzun blokBoyutu, Seçenekler... seçenekler)
Yeni bir SpaceToDepth işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
Parametreler
kapsam | mevcut kapsam |
---|---|
blok boyutu | Uzaysal bloğun boyutu. |
seçenekler | isteğe bağlı nitelik değerlerini taşır |
İade
- SpaceToDepth'in yeni bir örneği