Couche

public protocol Layer : Module where Self.Input : Differentiable

Une couche de réseau de neurones.

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

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

  • Renvoie la sortie obtenue en appliquant le calque à l'entrée donnée.

    Déclaration

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

    Paramètres

    input

    L'entrée de la couche.

    Valeur de retour

    Le résultat.

  • effronté(_:)

    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 de la couche.

    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 obtenues 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 de la couche.

    Valeur de retour

    Un tuple contenant la sortie et la fonction de rétropropagation. La fonction de rétropropagation (alias backpropagator) prend un vecteur de direction et renvoie les gradients au niveau de la couche et à l'entrée, respectivement.

Disponible où `Entrée` : `Protocole Tenseur Différentiel`, `Sortie` : `Protocole Tenseur Différentiel`

  • callAsFunction(_:)

    Implémentation par défaut

    Implémentation par défaut

    Déclaration

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