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:

  1. Meratakan filter ke matriks 2D dengan bentuk [filter_height * filter_width * in_channels, output_channels] .
  2. Mengekstrak patch gambar dari tensor masukan untuk membentuk tensor virtual berbentuk [batch, out_height, out_width, filter_height * filter_width * in_channels] .
  3. 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 nilai data_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 adalah explicit_paddings[2 * i] dan explicit_paddings[2 * i + 1] . Jika padding 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 nilai data_format , lihat di atas untuk detailnya. Pelebaran dalam dimensi batch dan kedalaman harus 1.

Pengembalian:

  • Output : Tensor 4-D. Urutan dimensi ditentukan oleh nilai data_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
)