Schicht

public protocol Layer : Module where Self.Input : Differentiable

Eine neuronale Netzwerkschicht.

Layer konforme Typen stellen Funktionen dar, die Eingaben auf Ausgaben abbilden. Sie können einen internen Zustand haben, der durch Parameter wie Gewichtstensoren dargestellt wird.

Layer definieren eine differenzierbare callAsFunction(_:) Verfahren zum Abbilden von Eingaben auf Ausgaben.

  • Gibt die Ausgabe zurück, die durch Anwenden der Ebene auf die angegebene Eingabe erhalten wurde.

    Erklärung

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

    Parameter

    input

    Die Eingabe in die Ebene.

    Rückgabewert

    Die Ausgabe.

  • nach vorne(_:)

    Standardimplementierung

    Standardimplementierung

    Erklärung

    @differentiable
    func forward(_ input: Input) -> Output
  • ableiten (von :)

    Erweiterungsmethode

    Gibt die Inferenzausgabe zurück, die durch Anwenden der Ebene auf die angegebene Eingabe erhalten wurde.

    Erklärung

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

    Parameter

    input

    Die Eingabe in die Ebene.

    Rückgabewert

    Die Inferenzausgabe.

  • Backpropagator

    Erweiterungsmethode

    Erklärung

    public typealias Backpropagator = (_ direction: Output.TangentVector)
      -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
  • AppliedForBackpropagation (to :)

    Erweiterungsmethode

    Gibt die Inferenzausgabe und die Backpropagation-Funktion zurück, die durch Anwenden der Ebene auf die angegebene Eingabe erhalten wurden.

    Erklärung

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

    Parameter

    input

    Die Eingabe in die Ebene.

    Rückgabewert

    Ein Tupel, das die Ausgabe- und die Backpropagation-Funktion enthält. Die Backpropagation-Funktion (auch bekannt als Backpropagator) nimmt einen Richtungsvektor und gibt die Gradienten auf der Ebene bzw. am Eingang zurück.

Verfügbar, wenn `Input`:` DifferentiableTensorProtocol`, `Output`:` DifferentiableTensorProtocol`

  • callAsFunction (_ :)

    Standardimplementierung

    Standardimplementierung

    Erklärung

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