aliran tensor:: operasi:: Konv2D
#include <nn_ops.h>
Menghitung konvolusi 2-D dengan input
4-D dan tensor filter
.
Ringkasan
Dengan adanya tensor masukan berbentuk [batch, in_height, in_width, in_channels]
dan tensor filter/kernel berbentuk [filter_height, filter_width, in_channels, out_channels]
, operasi ini melakukan hal berikut:
- Meratakan filter ke matriks 2D dengan bentuk
[filter_height * filter_width * in_channels, output_channels]
. - Mengekstrak patch gambar dari tensor masukan untuk membentuk tensor virtual berbentuk
[batch, out_height, out_width, filter_height * filter_width * in_channels]
. - Untuk setiap patch, gandakan matriks filter dan vektor patch gambar ke kanan.
Secara detail, dengan format default NHWC,
output[b, i, j, k] =
sum_{di, dj, q} input[b, strides[1] * i + di, strides[2] * j + dj, q] *
filter[di, dj, q, k]
Harus memiliki strides[0] = strides[3] = 1
. Untuk kasus paling umum dari langkah horizontal dan simpul yang sama, strides = [1, stride, stride, 1]
.
Argumen:
- ruang lingkup: Objek Lingkup
- masukan: Tensor 4-D. Urutan dimensi diinterpretasikan berdasarkan nilai
data_format
, lihat di bawah untuk detailnya. - filter: Tensor bentuk 4-D
[filter_height, filter_width, in_channels, out_channels]
- langkah: tensor 1-D dengan panjang 4. Langkah jendela geser untuk setiap dimensi
input
. Urutan dimensi ditentukan oleh nilaidata_format
, lihat di bawah untuk detailnya. - padding: Jenis algoritma padding yang akan digunakan.
Atribut opsional (lihat Attrs
):
- eksplisit_paddings: Jika
padding
adalah"EXPLICIT"
, daftar jumlah padding eksplisit. Untuk dimensi ke-i, jumlah padding yang disisipkan sebelum dan sesudah dimensi masing-masing adalahexplicit_paddings[2 * i]
danexplicit_paddings[2 * i + 1]
. Jikapadding
bukan"EXPLICIT"
,explicit_paddings
harus kosong. - data_format: Menentukan format data input dan output data. Dengan format default "NHWC", data disimpan dalam urutan: [batch, tinggi, lebar, saluran]. Alternatifnya, formatnya bisa berupa "NCHW", urutan penyimpanan data: [batch, saluran, tinggi, lebar].
- dilatasi: tensor 1-D dengan panjang 4. Faktor dilatasi untuk setiap dimensi
input
. Jika diatur ke k > 1, akan ada k-1 sel yang dilewati di antara setiap elemen filter pada dimensi tersebut. Urutan dimensi ditentukan oleh nilaidata_format
, lihat di atas untuk detailnya. Pelebaran dalam dimensi batch dan kedalaman harus 1.
Pengembalian:
-
Output
: Tensor 4-D. Urutan dimensi ditentukan oleh nilaidata_format
, lihat di bawah untuk detailnya.
Konstruktor dan Destruktor | |
---|---|
Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding) | |
Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const Conv2D::Attrs & attrs) |
Atribut publik | |
---|---|
operation | |
output |
Fungsi publik | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Fungsi statis publik | |
---|---|
DataFormat (StringPiece x) | |
Dilations (const gtl::ArraySlice< int > & x) | |
ExplicitPaddings (const gtl::ArraySlice< int > & x) | |
UseCudnnOnGpu (bool x) |
Struktur | |
---|---|
tensorflow:: ops:: Conv2D:: Attrs | Penyetel atribut opsional untuk Conv2D . |
Atribut publik
operasi
Operation operation
keluaran
::tensorflow::Output output
Fungsi publik
Konv2D
Conv2D( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding )
Konv2D
Conv2D( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const Conv2D::Attrs & attrs )
simpul
::tensorflow::Node * node() const
operator::tensorflow::Masukan
operator::tensorflow::Input() const
operator::tensorflow::Keluaran
operator::tensorflow::Output() const
Fungsi statis publik
Format Data
Attrs DataFormat( StringPiece x )
Pelebaran
Attrs Dilations( const gtl::ArraySlice< int > & x )
Padding Eksplisit
Attrs ExplicitPaddings( const gtl::ArraySlice< int > & x )
Gunakan CudnnOnGpu
Attrs UseCudnnOnGpu( bool x )