BatchToSpace untuk tensor ND tipe T.
Operasi ini membentuk ulang dimensi "batch" 0 menjadi dimensi `M + 1` dari bentuk `block_shape + [batch]`, menyisipkan blok-blok ini kembali ke grid yang ditentukan oleh dimensi spasial `[1, ..., M]`, untuk mendapatkan hasil dengan peringkat yang sama dengan input. Dimensi spasial dari hasil antara ini kemudian secara opsional dipangkas menurut `krop` untuk menghasilkan output. Ini adalah kebalikan dari SpaceToBatch. Lihat di bawah untuk deskripsi yang tepat.
Metode Publik
Output <T> | asOutput () Mengembalikan pegangan simbolis tensor. |
statis <T, U meluas Nomor, V meluas Nomor> BatchToSpaceNd <T> | |
Output <T> | Output () |
Metode yang Diwarisi
Metode Publik
publik Keluaran <T> asOutput ()
Mengembalikan pegangan simbolis tensor.
Input ke operasi TensorFlow adalah output dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.
public static BatchToSpaceNd <T> membuat ( Lingkup lingkup, Operan <T> input, Operan <U> blockShape, Operan <V> tanaman)
Metode pabrik untuk membuat kelas yang membungkus operasi BatchToSpaceNd baru.
Parameter
cakupan | lingkup saat ini |
---|---|
memasukkan | ND dengan bentuk `input_shape = [batch] + spatial_shape + sisa_shape`, di mana spatial_shape memiliki dimensi M. |
bentuk balok | 1-D dengan bentuk `[M]`, semua nilai harus >= 1. |
tanaman-tanaman | 2-D dengan bentuk `[M, 2]`, semua nilai harus >= 0. `crops[i] = [crop_start, crop_end]` menentukan jumlah yang akan dipotong dari dimensi input `i + 1`, yang sesuai dengan dimensi spasial `i`. Diperlukan bahwa `crop_start[i] + crop_end[i] <= block_shape[i] * input_shape[i + 1]`. Operasi ini setara dengan langkah-langkah berikut: 1. Bentuk ulang `input` menjadi `bentuk ulang` bentuk: [block_shape[0], ..., block_shape[M-1], batch / prod(block_shape), input_shape[1], ..., input_shape[N- 1]] 2. Permutasi dimensi `reshaped` untuk menghasilkan `permuted` bentuk [batch / prod(block_shape), input_shape[1], block_shape[0], ..., input_shape[M], block_shape[M-1], input_shape[M+1], ..., input_shape[N-1]] 3. Bentuk ulang `permuted` untuk menghasilkan `reshaped_permuted` dari bentuk [batch / prod(block_shape), input_shape[1] * block_shape[0], ..., input_shape[M] * block_shape[M-1], input_shape[M+1], ..., input_shape[N-1]] 4. Pangkas awal dan akhir dimensi `[1, ..., M]` dari `reshaped_permuted` menurut `crops` untuk menghasilkan output bentuk: [batch / prod(block_shape), input_shape[1] * block_shape[0] - tanaman[0,0] - tanaman[0,1], ..., input_shape[M] * block_shape[M-1] - tanaman[M-1,0] - tanaman [M-1,1], input_shape[M+1], ..., input_shape[N-1]] Beberapa contoh: (1) Untuk input bentuk berikut `[4, 1, 1, 1]`, `block_shape = [2, 2]`, dan `crops = [[0, 0], [0, 0]]`: Output tensor memiliki bentuk `[1, 2, 2, 1]` dan nilai: (2) Untuk input berikut bentuk `[4, 1, 1, 3]`, `block_shape = [ 2, 2] `, dan` tanaman = [[0, 0], [0, 0]] `: Output tensor memiliki bentuk` [1, 2, 2, 3] `dan nilai: (3) Untuk input bentuk berikut `[4, 2, 2, 1]`, `block_shape = [2, 2]`, dan `crops = [[0, 0], [0, 0]]`: Output tensor memiliki bentuk `[1, 4, 4, 1]` dan nilai: (4) Untuk input berikut bentuk `[8, 1, 3, 1]`, `block_shape = [ 2, 2] `, dan` tanaman = [[0, 0], [2, 0]] `: Output tensor memiliki bentuk` [2, 2, 4, 1] `dan nilai:
|
Kembali
- contoh baru BatchToSpaceNd