aliran tensor:: operasi:: BatchToSpaceND
#include <array_ops.h>
BatchToSpace untuk tensor ND tipe T.
Ringkasan
Operasi ini membentuk ulang dimensi "batch" 0 menjadi M + 1
dimensi bentuk block_shape + [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 crops
untuk menghasilkan keluaran. Ini adalah kebalikan dari SpaceToBatch. Lihat di bawah untuk deskripsi yang tepat.
Argumen:
- ruang lingkup: Objek Lingkup
- input: ND dengan bentuk
input_shape = [batch] + spatial_shape + remaining_shape
, dimana spasial_shape memiliki dimensi M. - block_shape: 1-D dengan bentuk
[M]
, semua nilai harus >= 1. - tanaman: 2-D dengan bentuk
[M, 2]
, semua nilai harus >= 0.crops[i] = [crop_start, crop_end]
menentukan jumlah yang akan dipotong dari dimensi masukani + 1
, yang sesuai dengan dimensi spasiali
. Diperlukancrop_start[i] + crop_end[i] <= block_shape[i] * input_shape[i + 1]
.
Operasi ini setara dengan langkah-langkah berikut:
- Bentuk ulang
input
untukreshaped
bentuk: [block_shape[0], ..., block_shape[M-1], batch / prod(block_shape), input_shape[1], ..., input_shape[N-1]] - Ubah dimensi
reshaped
untuk menghasilkanpermuted
bentuk [batch / prod(block_shape),input_shape[1], block_shape[0], ..., input_shape[M], block_shape[M-1],input_shape[M+1], ..., bentuk_masukan[N-1]] - Bentuk ulang
permuted
untuk menghasilkanreshaped_permuted
dari bentuk [batch / prod(block_shape),input_shape[1] * block_shape[0], ..., input_shape[M] * block_shape[M-1],input_shape[M+1], .. ., bentuk_masukan[N-1]] - Pangkas awal dan akhir dimensi
[1, ..., M]
darireshaped_permuted
sesuai dengancrops
untuk menghasilkan keluaran bentuk: [batch / prod(block_shape),input_shape[1] * block_shape[0] - crop[0, 0] - tanaman[0,1], ..., bentuk_input[M] * bentuk_blok[M-1] - tanaman[M-1,0] - tanaman[M-1,1],bentuk_input[M+1] , ..., bentuk_masukan[N-1]]
Beberapa contoh:
(1) Untuk masukan bentuk [4, 1, 1, 1]
berikut, block_shape = [2, 2]
, dan crops = [[0, 0], [0, 0]]
:
[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]
Tensor keluaran memiliki bentuk [1, 2, 2, 1]
dan nilai:
x = [[[[1], [2]], [[3], [4]]]]
(2) Untuk input bentuk [4, 1, 1, 3]
berikut, 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 masukan bentuk [4, 2, 2, 1]
berikut, block_shape = [2, 2]
, dan crops = [[0, 0], [0, 0]]
:
x = [[[[1], [3]], [[9], [11]]], [[[2], [4]], [[10], [12]]], [[[5], [7]], [[13], [15]]], [[[6], [8]], [[14], [16]]]]
Tensor keluaran memiliki 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 [8, 1, 3, 1]
berikut, 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]]]]
Pengembalian:
-
Output
: Tensor keluaran.
Konstruktor dan Destruktor | |
---|---|
BatchToSpaceND (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input block_shape, :: tensorflow::Input crops) |
Atribut publik | |
---|---|
operation | |
output |
Fungsi publik | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Atribut publik
operasi
Operation operation
keluaran
::tensorflow::Output output
Fungsi publik
BatchToSpaceND
BatchToSpaceND( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input block_shape, ::tensorflow::Input crops )
simpul
::tensorflow::Node * node() const
operator::tensorflow::Masukan
operator::tensorflow::Input() const
operator::tensorflow::Keluaran
operator::tensorflow::Output() const