Peringatan: API ini tidak digunakan lagi dan akan dihapus di versi TensorFlow mendatang setelah penggantinya stabil.

SpaceToBatchNd

kelas akhir publik SpaceToBatchNd

SpaceToBatch untuk tensor ND tipe T.

Operasi ini membagi dimensi "spasial" `[1, ..., M]` dari input ke dalam kotak blok berbentuk `block_shape`, dan menyisipkan blok ini dengan dimensi "batch" (0) sedemikian rupa sehingga dalam output , dimensi spasial `[1, ..., M]` sesuai dengan posisi di dalam kisi, dan dimensi kumpulan menggabungkan posisi dalam blok spasial dan posisi kumpulan asli. Sebelum dibagi ke dalam blok, dimensi spasial input secara opsional diisi nol menurut `paddings`. Lihat di bawah untuk deskripsi yang tepat.

Operasi ini setara dengan langkah-langkah berikut:

1. Zero-pad awal dan akhir dimensi `[1, ..., M]` dari input sesuai dengan `paddings` untuk menghasilkan `padded` dari bentuk `padded_shape`.

2. Bentuk ulang `padded` menjadi `reshaped_padded` dari bentuk:

[batch] + [padded_shape[1] / block_shape[0], block_shape[0], ..., padded_shape[M] / block_shape[M-1], block_shape[M-1]] + sisa_bentuk

3. Permutasi dimensi `reshaped_padded` untuk menghasilkan bentuk `permuted_reshaped_padded`:

block_shape + [batch] + [padded_shape[1] / block_shape[0], ..., padded_shape[M] / block_shape[M-1]] + sisa_shape

4. Bentuk ulang `permuted_reshaped_padded` untuk meratakan `block_shape` ke dalam dimensi batch, menghasilkan tensor keluaran bentuk:

[batch * prod(block_shape)] + [padded_shape[1] / block_shape[0], ..., padded_shape[M] / block_shape[M-1]] + sisa_shape

Beberapa contoh:

(1) Untuk input berikut dari bentuk `[1, 2, 2, 1]`, `block_shape = [2, 2]`, dan `paddings = [[0, 0], [0, 0]]`:

x = [[[[1], [2]], [[3], [4]]]]
 
Tensor keluaran memiliki bentuk `[4, 1, 1, 1]` dan nilai:
[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]
 
(2) Untuk input bentuk berikut `[1, 2, 2, 3]`, `block_shape = [ 2, 2]`, dan `paddings = [[0, 0], [0, 0]]`:
x = [[[[1, 2, 3], [4, 5, 6]],
       [[7, 8, 9], [10, 11, 12]]]]
 
Tensor keluaran memiliki bentuk `[4, 1, 1, 3]` dan nilai:
[[[[1, 2, 3]]], [[[4, 5, 6]]], [[[7, 8, 9]]], [[[10, 11, 12]]]]
 
(3) Untuk input bentuk berikut `[1, 4, 4, 1]`, `block_shape = [2, 2]`, dan `paddings = [[0, 0], [0, 0]]`:
x = [[[[1],   [2],  [3],  [4]],
       [[5],   [6],  [7],  [8]],
       [[9],  [10], [11],  [12]],
       [[13], [14], [15],  [16]]]]
 
Tensor output memiliki bentuk `[4, 2, 2, 1]` dan nilai:
x = [[[[1], [3]], [[9], [11]]],
      [[[2], [4]], [[10], [12]]],
      [[[5], [7]], [[13], [15]]],
      [[[6], [8]], [[14], [16]]]]
 
(4) Untuk input bentuk berikut `[2, 2, 4, 1]`, block_shape = `[ 2, 2]`, dan padding = `[[0, 0], [2, 0]]`:
x = [[[[1],   [2],  [3],  [4]],
       [[5],   [6],  [7],  [8]]],
      [[[9],  [10], [11],  [12]],
       [[13], [14], [15],  [16]]]]
 
Tensor keluaran memiliki bentuk `[8, 1, 3, 1]` dan nilai:
x = [[[[0], [1], [3]]], [[[0], [9], [11]]],
      [[[0], [2], [4]]], [[[0], [10], [12]]],
      [[[0], [5], [7]]], [[[0], [13], [15]]],
      [[[0], [6], [8]]], [[[0], [14], [16]]]]
 
Antara lain, operasi ini berguna untuk mengurangi konvolusi atrous menjadi konvolusi reguler.

Metode Publik

Keluaran <T>
sebagai Keluaran ()
Mengembalikan pegangan simbolis dari sebuah tensor.
static <T, U perpanjang Angka, V perpanjang Angka> SpaceToBatchNd <T>
buat ( Lingkup lingkup, input Operand <T>, Operand <U> blockShape, bantalan Operand <V>)
Metode pabrik untuk membuat kelas yang membungkus operasi SpaceToBatchNd baru.
Keluaran <T>

Metode yang Diwarisi

Metode Publik

Output publik <T> sebagai Output ()

Mengembalikan pegangan simbolis dari sebuah tensor.

Input ke operasi TensorFlow adalah output dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.

publik statis SpaceToBatchNd <T> buat ( Cakupan lingkup, input Operand <T>, Operand <U> blockShape, bantalan Operand <V>)

Metode pabrik untuk membuat kelas yang membungkus operasi SpaceToBatchNd 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.
bantalan 2-D dengan bentuk `[M, 2]`, semua nilai harus >= 0. `paddings[i] = [pad_start, pad_end]` menentukan padding untuk dimensi input `i + 1`, yang sesuai dengan dimensi spasial `saya`. Diperlukan bahwa `block_shape[i]` membagi `input_shape[i + 1] + pad_start + pad_end`.
Kembali
  • contoh baru SpaceToBatchNd

Keluaran publik <T> keluaran ()