public protocol Layer : Module where Self.Input : Differentiable
Una capa de red neuronal.
Los tipos que se ajustan a Layer
representan funciones que asignan entradas a salidas. Pueden tener un estado interno representado por parámetros, como tensores de peso.
Las instancias Layer
definen un método callAsFunction(_:)
diferenciable para asignar entradas a salidas.
Devuelve el resultado obtenido al aplicar la capa a la entrada dada.
Declaración
@differentiable func callAsFunction(_ input: Input) -> Output
Parámetros
input
La entrada a la capa.
Valor de retorno
La salida.
Implementación predeterminada
Declaración
@differentiable func forward(_ input: Input) -> Output
Devuelve el resultado de inferencia obtenido al aplicar la capa a la entrada dada.
Declaración
public func inferring(from input: Input) -> Output
Parámetros
input
La entrada a la capa.
Valor de retorno
El resultado de la inferencia.
Declaración
public typealias Backpropagator = (_ direction: Output.TangentVector) -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
Devuelve la salida de inferencia y la función de retropropagación obtenida al aplicar la capa a la entrada dada.
Declaración
public func appliedForBackpropagation(to input: Input) -> (output: Output, backpropagator: Backpropagator)
Parámetros
input
La entrada a la capa.
Valor de retorno
Una tupla que contiene la salida y la función de retropropagación. La función de retropropagación (también conocida como retropropagador) toma un vector de dirección y devuelve los gradientes en la capa y en la entrada, respectivamente.