BatchToSpaceNd

kelas akhir publik BatchToSpaceNd

BatchToSpace untuk tensor ND tipe T.

Operasi ini membentuk ulang dimensi "batch" 0 menjadi dimensi `M + 1` dari bentuk `bentuk_blok + [batch]`, menyisipkan blok-blok ini kembali ke dalam kisi 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 dipotong menurut `tanaman` untuk menghasilkan keluaran. Ini adalah kebalikan dari SpaceToBatch. Lihat di bawah untuk deskripsi yang tepat.

Konstanta

Rangkaian OP_NAME Nama operasi ini dikenal dengan mesin inti TensorFlow

Metode Publik

Keluaran <T>
sebagai Keluaran ()
Mengembalikan pegangan simbolis tensor.
statis <T memperluas TType > BatchToSpaceNd <T>
buat ( Lingkup lingkup, masukan Operan <T>, Operan <? extends TNumber > blockShape, Operan <? extends TNumber > crop)
Metode pabrik untuk membuat kelas yang membungkus operasi BatchToSpaceNd baru.
Keluaran <T>

Metode Warisan

Konstanta

String akhir statis publik OP_NAME

Nama operasi ini dikenal dengan mesin inti TensorFlow

Nilai Konstan: "BatchToSpaceND"

Metode Publik

Keluaran publik <T> sebagai Keluaran ()

Mengembalikan pegangan simbolis tensor.

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

public static BatchToSpaceNd <T> buat ( Lingkup lingkup, input Operand <T>, Operand <? extends TNumber > blockShape, Operand <? extends TNumber > crop)

Metode pabrik untuk membuat kelas yang membungkus operasi BatchToSpaceNd baru.

Parameter
cakupan ruang lingkup saat ini
memasukkan ND dengan bentuk `input_shape = [batch] + spasial_shape + sisa_shape`, dimana spasial_shape memiliki dimensi M.
bentuk blok 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 `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. Ubah dimensi `reshape` untuk menghasilkan `permutasi` bentuk [batch / prod(block_shape),

bentuk_masukan[1], bentuk_blok[0], ..., bentuk_masukan[M], bentuk_blok[M-1],

bentuk_masukan[M+1], ..., bentuk_masukan[N-1]]

3. Bentuk ulang `permuted` untuk menghasilkan `reshape_permuted` dari bentuk [batch / prod(block_shape),

masukan_bentuk[1] * bentuk_blok[0], ..., bentuk_masukan[M] * bentuk_blok[M-1],

bentuk_masukan[M+1], ..., bentuk_masukan[N-1]]

4. Pangkas awal dan akhir dimensi `[1, ..., M]` dari `reshape_permuted` menurut `crops` untuk menghasilkan keluaran 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],

bentuk_masukan[M+1], ..., bentuk_masukan[N-1]]

Beberapa contoh:

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

[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]
 
Tensor keluaran mempunyai bentuk `[1, 2, 2, 1]` dan nilai:
x = [[[[1], [2]], [[3], [4]]]]
 
(2) Untuk masukan bentuk berikut `[4, 1, 1, 3]`, `block_shape = [ 2, 2]`, dan `crops = [[0, 0], [0, 0]]`:
[[[[1, 2, 3]]], [[[4, 5, 6]]], [[[7, 8, 9]]], [[[10, 11, 12]]]]
 
Tensor keluaran memiliki bentuk `[1, 2, 2, 3]` dan nilai:
x = [[[[1, 2, 3], [4, 5, 6]],
       [[7, 8, 9], [10, 11, 12]]]]
 
(3) Untuk input bentuk `[4, 2, 2, 1]`, `block_shape = [2, 2]`, dan `crops = [[0, 0], [0, 0]]` berikut:
x = [[[[1], [3]], [[9], [11]]],
      [[[2], [4]], [[10], [12]]],
      [[[5], [7]], [[13], [15]]],
      [[[6], [8]], [[14], [16]]]]
 
Tensor keluaran mempunyai bentuk `[1, 4, 4, 1]` dan nilai:
x = [[[[1],   [2],  [3],  [4]],
      [[5],   [6],  [7],  [8]],
      [[9],  [10], [11],  [12]],
      [[13], [14], [15],  [16]]]]
 
(4) Untuk masukan bentuk berikut `[8, 1, 3, 1]`, `block_shape = [ 2, 2]`, dan `crops = [[0, 0], [2, 0]]`:
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]]]]
 
Tensor keluaran memiliki bentuk `[2, 2, 4, 1]` dan nilai:
x = [[[[1],   [2],  [3],  [4]],
       [[5],   [6],  [7],  [8]]],
      [[[9],  [10], [11],  [12]],
       [[13], [14], [15],  [16]]]]
 

Kembali
  • contoh baru BatchToSpaceNd

Keluaran publik <T> keluaran ()