Lapisan

public protocol Layer : Module where Self.Input : Differentiable

Lapisan jaringan saraf.

Tipe yang sesuai dengan Layer mewakili fungsi yang memetakan masukan ke keluaran. Mereka mungkin memiliki keadaan internal yang diwakili oleh parameter, seperti tensor bobot.

Instance Layer menentukan metode callAsFunction(_:) yang dapat dibedakan untuk memetakan input ke output.

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

    Pernyataan

    @differentiable
    func callAsFunction(_ input: Input) -> Output

    Parameter

    input

    Masukan ke lapisan.

    Nilai Pengembalian

    Hasil.

  • maju(_:) Implementasi bawaan

    Implementasi Bawaan

    Pernyataan

    @differentiable
    func forward(_ input: Input) -> Output
  • menyimpulkan (dari :) Metode penyuluhan

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

    Pernyataan

    public func inferring(from input: Input) -> Output

    Parameter

    input

    Masukan ke lapisan.

    Nilai Pengembalian

    Keluaran inferensi.

  • Propagator mundur Metode penyuluhan

    Pernyataan

    public typealias Backpropagator = (_ direction: Output.TangentVector)
      -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
  • Mengembalikan keluaran inferensi dan fungsi propagasi mundur yang diperoleh dari penerapan lapisan ke masukan yang diberikan.

    Pernyataan

    public func appliedForBackpropagation(to input: Input)
      -> (output: Output, backpropagator: Backpropagator)

    Parameter

    input

    Masukan ke lapisan.

    Nilai Pengembalian

    Tuple yang berisi output dan fungsi backpropagation. Fungsi backpropagation (alias backpropagator) mengambil vektor arah dan mengembalikan gradien masing-masing pada lapisan dan masukan.

Tersedia jika `Input`: `DifferentiableTensorProtocol`, `Output`: `DifferentiableTensorProtocol`
  • panggilanSebagaiFungsi(_:) Implementasi bawaan

    Implementasi Bawaan

    Pernyataan

    @differentiable(wrt: self)
    @differentiable
    public func callAsFunction(_ input: Input) -> Output