T tipi ND tensörleri için BatchToSpace.
Bu işlem "toplu" boyut 0'ı "blok_şekli + [batch]" şeklinin "M + 1" boyutlarına yeniden şekillendirir, bu blokları "[1, ..., M]" uzamsal boyutlarıyla tanımlanan ızgaraya geri bırakır, Girişle aynı sıralamaya sahip bir sonuç elde etmek için. Bu ara sonucun uzamsal boyutları daha sonra çıktıyı üretmek için isteğe bağlı olarak "ekinlere" göre kırpılır. Bu SpaceToBatch'in tam tersidir. Kesin bir açıklama için aşağıya bakın.
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. |
static <T, TType'ı genişletir > BatchToSpaceNd <T> | |
Çı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 BatchToSpaceNd <T> create ( Kapsam kapsamı, İşlenen <T> girişi, İşlenen <? extends TNumber > blokShape, İşlenen <? extends TNumber > mahsuller)
Yeni bir BatchToSpaceNd işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
Parametreler
kapsam | mevcut kapsam |
---|---|
giriş | `input_shape = [toplu] + mekansal_şekil + kalan_şekil` şeklinde ND; burada mekansal_şekil M boyutlara sahiptir. |
blok Şekli | "[M]" şeklinde 1-D, tüm değerler >= 1 olmalıdır. |
mahsuller | `[M, 2]` şeklinde 2 boyutlu, tüm değerler >= 0 olmalıdır. `kırpmalar[i] = [kırpma_başlangıç, kırpma_bitiş]`, `i + 1` giriş boyutundan kırpılacak miktarı belirtir; bu, şuna karşılık gelir: uzaysal boyut 'i'. `crop_start[i] + crop_end[i] <= blok_shape[i] * input_shape[i + 1]' olması gerekiyor. Bu işlem aşağıdaki adımlara eşdeğerdir: 1. 'Girdi'yi şeklin 'yeniden şekillendirilmesi' olarak yeniden şekillendirin: [blok_şekli[0], ..., blok_şekli[M-1], toplu / ürün(blok_şekli), giriş_şekli[1], ..., giriş_şekli[N- 1]] 2. Şeklin "değiştirilmiş" halini üretmek için "yeniden şekillendirilmiş" boyutlarını değiştirin [batch / prod(block_shape), giriş_şekli[1], blok_şekli[0], ..., giriş_şekli[M], blok_şekli[M-1], giriş_şekli[M+1], ..., giriş_şekli[N-1]] 3. [batch / prod(block_shape)'in 'yeniden şekillendirilmiş_permuted' şeklini üretmek için 'permütasyonlu'yu yeniden şekillendirin, giriş_şekli[1] * blok_şekli[0], ..., giriş_şekli[M] * blok_şekli[M-1], giriş_şekli[M+1], ..., giriş_şekli[N-1]] 4. Şu şeklin çıktısını üretmek için "ekinler"e göre "yeniden şekillendirilmiş_permuted"in "[1, ..., M]" boyutlarının başlangıcını ve bitişini kırpın: [batch / prod(block_shape), input_shape[1] * blok_shape[0] - mahsuller[0,0] - mahsuller[0,1], ..., input_shape[M] * blok_shape[M-1] - mahsuller[M-1,0] - mahsuller [M-1,1], giriş_şekli[M+1], ..., giriş_şekli[N-1]] Bazı örnekler: (1) Aşağıdaki "[4, 1, 1, 1]", "blok_şekli = [2, 2]" ve "ekinler = [[0, 0], [0, 0]]" şeklinin girişi için:
|
İade
- BatchToSpaceNd'nin yeni bir örneği