Layer (Calque)

public protocol Layer : Module where Self.Input : Differentiable

Une couche de réseau neuronal.

Les types conformes à Layer représentent des fonctions qui mappent les entrées aux sorties. Ils peuvent avoir un état interne représenté par des paramètres, tels que des tenseurs de poids.

Les instances Layer définissent une méthode callAsFunction(_:) différentiable pour mapper les entrées aux sorties.

  • Renvoie le résultat obtenu en appliquant le calque à l’entrée donnée.

    Déclaration

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

    Paramètres

    input

    L'entrée dans le calque.

    Valeur de retour

    La sortie.

  • avant(_:) Implémentation par défaut

    Implémentation par défaut

    Déclaration

    @differentiable
    func forward(_ input: Input) -> Output
  • déduire (de :) Méthode d'extension

    Renvoie la sortie d’inférence obtenue en appliquant la couche à l’entrée donnée.

    Déclaration

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

    Paramètres

    input

    L'entrée dans le calque.

    Valeur de retour

    La sortie d’inférence.

  • Rétropropagateur Méthode d'extension

    Déclaration

    public typealias Backpropagator = (_ direction: Output.TangentVector)
      -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
  • Renvoie la sortie d'inférence et la fonction de rétropropagation obtenue en appliquant la couche à l'entrée donnée.

    Déclaration

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

    Paramètres

    input

    L'entrée dans le calque.

    Valeur de retour

    Un tuple contenant la sortie et la fonction de rétropropagation. La fonction de rétropropagation (alias rétropropagateur) prend un vecteur de direction et renvoie les dégradés au niveau du calque et à l'entrée, respectivement.

Disponible où `Input` : `DifferentiableTensorProtocol`, `Output` : `DifferentiableTensorProtocol`
  • appelAsFonction(_:) Implémentation par défaut

    Implémentation par défaut

    Déclaration

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