Konv2D yang Dapat Dipisahkan

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

Lapisan konvolusi 2-D yang dapat dipisahkan.

Lapisan ini melakukan konvolusi mendalam yang bekerja secara terpisah pada saluran diikuti dengan konvolusi titik yang mencampurkan saluran.

  • Kernel konvolusi mendalam 4-D.

    Pernyataan

    public var depthwiseFilter: Tensor<Scalar>
  • Kernel konvolusi titik 4-D.

    Pernyataan

    public var pointwiseFilter: 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
  • Jenis fungsi aktivasi berdasarkan elemen.

    Pernyataan

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Membuat lapisan SeparableConv2D dengan filter, bias, fungsi aktivasi, langkah, dan bantalan yang ditentukan secara mendalam dan tepat.

    Pernyataan

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

    Parameter

    depthwiseFilter

    Kernel konvolusi mendalam 4-D [filter height, filter width, input channels count, channel multiplier] .

    pointwiseFilter

    Kernel konvolusi pointwise 4-D [1, 1, channel multiplier * input channels count, output channels count] .

    bias

    Vektor bias.

    activation

    Fungsi aktivasi berdasarkan elemen.

    strides

    Langkah jendela geser untuk dimensi spasial.

    padding

    Algoritma padding untuk konvolusi.

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

    Pernyataan

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

    Parameter

    input

    Masukan ke lapisan.

    Nilai Pengembalian

    Hasil.

  • Membuat lapisan SeparableConv2D dengan bentuk filter, langkah, padding, dan fungsi aktivasi berdasarkan elemen yang ditentukan secara mendalam dan tepat.

    Pernyataan

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

    Parameter

    depthwiseFilterShape

    Bentuk kernel konvolusi mendalam 4-D.

    pointwiseFilterShape

    Bentuk kernel konvolusi titik 4-D.

    strides

    Langkah jendela geser untuk dimensi spasial/spatio-temporal.

    padding

    Algoritma padding untuk konvolusi.

    activation

    Fungsi aktivasi berdasarkan elemen.

    filterInitializer

    Inisialisasi yang digunakan untuk parameter filter.

    biasInitializer

    Inisialisasi yang akan digunakan untuk parameter bias.