Warstwa

public protocol Layer : Module where Self.Input : Differentiable

Warstwa sieci neuronowej.

Typy, które są zgodne z Layer stanowią funkcje, które map wejść do wyjść. Mogą mieć stan wewnętrzny reprezentowany przez parametry, takie jak tensory wagi.

Layer przypadki określenia różniczkowalnej callAsFunction(_:) sposób odwzorowywania wejściowych do wyjściowych.

  • Zwraca dane wyjściowe uzyskane z zastosowania warstwy do danych danych wejściowych.

    Deklaracja

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

    Parametry

    input

    Wejście do warstwy.

    Wartość zwrotu

    Wyjście.

  • Naprzód(_:)

    Domyślna implementacja

    Domyślna implementacja

    Deklaracja

    @differentiable
    func forward(_ input: Input) -> Output
  • wnioskowanie(z:)

    Metoda rozszerzenia

    Zwraca wynik wnioskowania uzyskany po zastosowaniu warstwy do danych danych wejściowych.

    Deklaracja

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

    Parametry

    input

    Wejście do warstwy.

    Wartość zwrotu

    Wyjście wnioskowania.

  • Propagator wsteczny

    Metoda rozszerzenia

    Deklaracja

    public typealias Backpropagator = (_ direction: Output.TangentVector)
      -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
  • Zwraca dane wyjściowe wnioskowania i funkcję wstecznej propagacji błędów uzyskane z zastosowania warstwy do danych danych wejściowych.

    Deklaracja

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

    Parametry

    input

    Wejście do warstwy.

    Wartość zwrotu

    Krotka zawierająca dane wyjściowe i funkcję wstecznej propagacji błędów. Funkcja propagacji wstecznej (aka propagacja wsteczna) pobiera wektor kierunku i zwraca gradienty odpowiednio na warstwie i na wejściu.

Dostępne, gdy `Input`: `DifferentiableTensorProtocol`, `Output`: `DifferentiableTensorProtocol`

  • callAsFunction(_:)

    Domyślna implementacja

    Domyślna implementacja

    Deklaracja

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