Konv2D

@frozen
public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint

Lapisan konvolusi 2-D (misalnya konvolusi spasial pada gambar).

Lapisan ini membuat filter konvolusi yang dikonvolusi dengan masukan lapisan untuk menghasilkan tensor keluaran.

  • Filter konvolusi 4-D.

    Pernyataan

    public var filter: Tensor<Scalar>
  • Vektor bias.

    Pernyataan

    public var bias: Tensor<Scalar>
  • Fungsi aktivasi berdasarkan elemen.

    Pernyataan

    @noDerivative
    public let activation: Activation
  • Langkah jendela geser untuk dimensi spasial.

    Pernyataan

    @noDerivative
    public let strides: (Int, Int)
  • Algoritma padding untuk konvolusi.

    Pernyataan

    @noDerivative
    public let padding: Padding
  • Faktor dilatasi dimensi spasial.

    Pernyataan

    @noDerivative
    public let dilations: (Int, Int)
  • Jenis fungsi aktivasi berdasarkan elemen.

    Pernyataan

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Membuat lapisan Conv2D dengan filter, bias, fungsi aktivasi, langkah, dilatasi, dan padding yang ditentukan.

    Pernyataan

    public init(
      filter: Tensor<Scalar>,
      bias: Tensor<Scalar>? = nil,
      activation: @escaping Activation = identity,
      strides: (Int, Int) = (1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int) = (1, 1)
    )

    Parameter

    filter

    Bentuk filter konvolusi 4-D [tinggi filter, lebar filter, jumlah saluran masukan, jumlah saluran keluaran].

    bias

    Bentuk vektor bias [jumlah saluran keluaran].

    activation

    Fungsi aktivasi berdasarkan elemen.

    strides

    Langkah jendela geser untuk dimensi spasial, yaitu (tinggi langkah, lebar langkah).

    padding

    Algoritma padding untuk konvolusi.

    dilations

    Faktor dilatasi untuk dimensi spasial yaitu (tinggi dilatasi, lebar dilatasi).

  • Mengembalikan keluaran yang diperoleh dari penerapan lapisan ke masukan yang diberikan.

    Dimensi spasial keluaran dihitung sebagai:

    tinggi keluaran = (tinggi masukan + 2 * tinggi bantalan - (tinggi dilatasi * (tinggi filter - 1) + 1)) / tinggi langkah + 1

    lebar keluaran = (lebar masukan + 2 * lebar bantalan - (lebar dilatasi * (lebar filter - 1) + 1)) / lebar langkah + 1

    dan ukuran padding ditentukan oleh skema padding.

    Catatan

    Ukuran padding sama dengan nol saat menggunakan .valid .

    Pernyataan

    @differentiable
    public func forward(_ input: Tensor<Scalar>) -> Tensor<Scalar>

    Parameter

    input

    Masukan ke lapisan bentuk [ukuran tumpukan, tinggi masukan, lebar masukan, jumlah saluran masukan].

    Nilai Pengembalian

    Bentuk keluaran [jumlah batch, tinggi keluaran, lebar keluaran, jumlah saluran keluaran].

  • Membuat lapisan Conv2D dengan bentuk filter, langkah, padding, pelebaran, dan fungsi aktivasi berdasarkan elemen yang ditentukan.

    Pernyataan

    public init(
      filterShape: (Int, Int, Int, Int),
      strides: (Int, Int) = (1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int) = (1, 1),
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      filterInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    Parameter

    filterShape

    Bentuk filter konvolusi 4-D, mewakili (tinggi filter, lebar filter, jumlah saluran masukan, jumlah saluran keluaran).

    strides

    Langkah jendela geser untuk dimensi spasial, yaitu (tinggi langkah, lebar langkah).

    padding

    Algoritma padding untuk konvolusi.

    dilations

    Faktor dilatasi untuk dimensi spasial yaitu (tinggi dilatasi, lebar dilatasi).

    activation

    Fungsi aktivasi berdasarkan elemen.

    filterInitializer

    Inisialisasi yang digunakan untuk parameter filter.

    biasInitializer

    Inisialisasi yang digunakan untuk parameter bias.