Livello

public protocol Layer : Module where Self.Input : Differentiable

Uno strato di rete neurale.

I tipi conformi a Layer rappresentano funzioni che mappano gli input sugli output. Possono avere uno stato interno rappresentato da parametri, come i tensori del peso.

Le istanze Layer definiscono un metodo callAsFunction(_:) differenziabile per mappare gli input sugli output.

  • Restituisce l'output ottenuto dall'applicazione del livello all'input specificato.

    Dichiarazione

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

    Parametri

    input

    L'input al livello.

    Valore di ritorno

    Il risultato.

  • inoltrare(_:) Implementazione predefinita

    Implementazione predefinita

    Dichiarazione

    @differentiable
    func forward(_ input: Input) -> Output
  • deducendo(da:) Metodo di estensione

    Restituisce l'output dell'inferenza ottenuto dall'applicazione del livello all'input specificato.

    Dichiarazione

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

    Parametri

    input

    L'input al livello.

    Valore di ritorno

    L'output dell'inferenza.

  • Propagatore posteriore Metodo di estensione

    Dichiarazione

    public typealias Backpropagator = (_ direction: Output.TangentVector)
      -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
  • applicatoForBackpropagation(a:) Metodo di estensione

    Restituisce l'output dell'inferenza e la funzione di backpropagation ottenuta applicando il livello all'input specificato.

    Dichiarazione

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

    Parametri

    input

    L'input al livello.

    Valore di ritorno

    Una tupla contenente l'output e la funzione di backpropagation. La funzione di backpropagation (nota anche come backpropagator) prende un vettore di direzione e restituisce i gradienti rispettivamente sul livello e sull'input.

Disponibile dove `Input`: `DifferentiableTensorProtocol`, `Output`: `DifferentiableTensorProtocol`
  • chiamataAsFunzione(_:) Implementazione predefinita

    Implementazione predefinita

    Dichiarazione

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