T tipi ND tensörleri için SpaceToBatch.
Bu işlem, girdinin "uzamsal" boyutlarını "[1, ..., M]" "blok_şeklinde" bloklardan oluşan bir ızgaraya böler ve bu blokları çıktıda olacak şekilde "toplu" boyut (0) ile serpiştirir uzamsal boyutlar "[1, ..., M]" ızgara içindeki konuma karşılık gelir ve parti boyutu hem uzamsal bir blok içindeki konumu hem de orijinal parti konumunu birleştirir. Bloklara bölünmeden önce, girdinin uzamsal boyutları isteğe bağlı olarak "dolgular" a göre sıfır doldurulur. Kesin bir açıklama için aşağıya bakın.
Kamu Yöntemleri
Çıkış <T> | asOutput () Bir tensörün sembolik tutamacını döndürür. |
statik <T, U Sayı'yı genişletir, V Sayı'yı genişletir> SpaceToBatchNd <T> | oluşturmak ( Kapsam kapsamı, İşlenen <T> girişi, Operand <u> blockShape, İşlenen <V> Contalar) Yeni bir SpaceToBatchNd işlemini saran bir sınıf oluşturmak için fabrika yöntemi. |
Çıkış <T> | çıktı () |
Devralınan Yöntemler
Kamu Yöntemleri
public Output <T> asOutput ()
Bir tensörün sembolik tutamacını döndürür.
TensorFlow işlemlerine yönelik girdiler, başka bir TensorFlow işleminin çıktılarıdır. Bu yöntem, girdinin hesaplanmasını temsil eden sembolik bir tutamaç elde etmek için kullanılır.
public static SpaceToBatchNd <T> create ( Scope kapsamı, Operand <T> girişi, Operand <U> blockShape, Operand <V> dolgular)
Yeni bir SpaceToBatchNd işlemini saran bir sınıf oluşturmak için fabrika yöntemi.
Parametreler
dürbün | mevcut kapsam |
---|---|
giriş | "İnput_shape = [toplu] + uzamsal_şekil + kalan_ şekil" şeklinde ND, burada uzamsal_şekil "M" boyutlarına sahiptir. |
blockShape | "[M]" şeklinde 1-D, tüm değerler> = 1 olmalıdır. |
dolgular | "[M, 2]" şeklinde 2-D, tüm değerler> = 0 olmalıdır. "Paddings [i] = [pad_start, pad_end]", uzamsal boyuta karşılık gelen "i + 1" girdi boyutu için dolguyu belirtir 'ben'. "Block_shape [i]", "input_shape [i + 1] + pad_start + pad_end" i böler. Bu işlem aşağıdaki adımlara eşdeğerdir: 1. "dolgulu" şekil "yastıklı_shape" üretmek için "dolgulara" göre girdinin "[1, ..., M]" boyutlarının başlangıcını ve sonunu sıfırlayın. 2. "yastıklı" ı "reshaped_padded" şeklinde yeniden şekillendirin: [toplu] + [padded_shape [1] / block_shape [0], block_shape [0], ..., padded_shape [M] / block_shape [M-1], block_shape [M-1]] + kalan_ şekil 3. "permuted_reshaped_padded" şeklini üretmek için "reshaped_padded" boyutlarını değiştirin: block_shape + [batch] + [padded_shape [1] / block_shape [0], ..., padded_shape [M] / block_shape [M-1]] + kalan_ şekil 4. "block_shape" i toplu iş boyutuna düzleştirmek için "permuted_reshaped_padded" i yeniden şekillendirin ve bir şekil çıktı tensörü oluşturun: [toplu * prod (block_shape)] + [padded_shape [1] / block_shape [0], ..., padded_shape [M] / block_shape [M-1]] + kalan_ şekil Bazı örnekler: (1) Aşağıdaki şekil girişi için "[1, 2, 2, 1]", "block_shape = [2, 2]" ve "paddings = [[0, 0], [0, 0]]": Çıkış tensörü "[4, 1, 1, 1]" şekline ve değerine sahiptir: (2) Aşağıdaki şekil girişi için "[1, 2, 2, 3]", "blok_ şekli = [2, 2] `ve` paddings = [[0, 0], [0, 0]] `: Çıkış tensörü" [4, 1, 1, 3] "şekline ve (3) değerine sahiptir. şekil "[1, 4, 4, 1]", "block_shape = [2, 2]" ve "paddings = [[0, 0], [0, 0]]": Çıkış tensörünün şekli "[ 4, 2, 2, 1] `ve değer: (4) Aşağıdaki şekil girişi için" [2, 2, 4, 1] ", block_shape =" [2, 2] "ve dolgu =" [[ 0, 0], [2, 0]] `: Çıktı tensörü" [8, 1, 3, 1] "şekline ve değerine sahiptir. |
İadeler
- SpaceToBatchNd'nin yeni bir örneği