tensorflow::ops::BatchToSpaceND
#include <array_ops.h>BatchToSpace untuk tensor ND tipe T.
Ringkasan
Operasi ini membentuk ulang dimensi "batch" 0 menjadi M + 1 dimensi dengan bentuk block_shape + [batch] , menyusun kembali blok-blok ini ke dalam grid yang ditentukan oleh dimensi spasial [1, ..., M] , untuk mendapatkan hasil dengan rank yang sama dengan input. Dimensi spasial dari hasil perantara ini kemudian secara opsional dipotong sesuai dengan crops untuk menghasilkan output. Ini adalah kebalikan dari SpaceToBatch. Lihat di bawah untuk deskripsi yang lebih tepat.
Argumen:
- Cakupan: Objek Cakupan
- input: ND dengan bentuk
input_shape = [batch] + spatial_shape + remaining_shape, di mana spatial_shape memiliki M dimensi. - block_shape: 1-D dengan bentuk
[M], semua nilai harus >= 1. - crops: 2-D dengan bentuk
[M, 2], semua nilai harus >= 0.crops[i] = [crop_start, crop_end]menentukan jumlah yang akan dipangkas dari dimensi inputi + 1, yang sesuai dengan dimensi spasiali. Persyaratan yang harus dipenuhi adalahcrop_start[i] + crop_end[i] <= block_shape[i] * input_shape[i + 1].
Operasi ini setara dengan langkah-langkah berikut:
- Ubah bentuk
inputmenjadi bentukreshaped: [block_shape[0], ..., block_shape[M-1], batch / prod(block_shape), input_shape[1], ..., input_shape[N-1]] - Susun ulang dimensi yang
reshapeduntuk menghasilkanpermutedbentuk [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]] - Ubah bentuk
permuteduntuk menghasilkanreshaped_permuteddengan 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]] - Pangkas awal dan akhir dimensi
[1, ..., M]darireshaped_permutedsesuai dengancropsuntuk menghasilkan output bentuk: [batch / prod(block_shape),input_shape[1] * block_shape[0] - crops[0,0] - crops[0,1], ..., input_shape[M] * block_shape[M-1] - crops[M-1,0] - crops[M-1,1],input_shape[M+1], ..., input_shape[N-1]]
Beberapa contoh:
(1) Untuk input berikut dengan bentuk [4, 1, 1, 1] , block_shape = [2, 2] , dan crops = [[0, 0], [0, 0]] :
[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]
Tensor keluarannya memiliki bentuk [1, 2, 2, 1] dan nilai:
x = [[[[1], [2]], [[3], [4]]]]
(2) Untuk input berikut dengan bentuk [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 keluarannya memiliki bentuk [1, 2, 2, 3] dan nilai:
x = [[[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]]] (3) Untuk input berikut dengan bentuk [4, 2, 2, 1] , 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 keluarannya 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 input berikut dengan bentuk [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 keluarannya 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]]]]Mengembalikan:
-
Output: Tensor output.
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::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const