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 restituito
L'uscita.
Implementazione predefinita
Dichiarazione
@differentiable func forward(_ input: Input) -> Output
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 restituito
L'output dell'inferenza.
Dichiarazione
public typealias Backpropagator = (_ direction: Output.TangentVector) -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
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 restituito
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.
Implementazione predefinita
Dichiarazione
@differentiable(wrt: self) @differentiable public func callAsFunction(_ input: Input) -> Output