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.
Implémentation par défaut
Déclaration
@differentiable func forward(_ input: Input) -> Output
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.
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.
Implémentation par défaut
Déclaration
@differentiable(wrt: self) @differentiable public func callAsFunction(_ input: Input) -> Output