public protocol Layer : Module where Self.Input : Differentiable
Warstwa sieci neuronowej.
Typy, które są zgodne z Layer
stanowią funkcje, które map wejść do wyjść. Mogą mieć stan wewnętrzny reprezentowany przez parametry, takie jak tensory wagi.
Layer
przypadki określenia różniczkowalnej callAsFunction(_:)
sposób odwzorowywania wejściowych do wyjściowych.
Zwraca dane wyjściowe uzyskane z zastosowania warstwy do danych danych wejściowych.
Deklaracja
@differentiable func callAsFunction(_ input: Input) -> Output
Parametry
input
Wejście do warstwy.
Wartość zwrotu
Wyjście.
Domyślna implementacja
Deklaracja
@differentiable func forward(_ input: Input) -> Output
Zwraca wynik wnioskowania uzyskany po zastosowaniu warstwy do danych danych wejściowych.
Deklaracja
public func inferring(from input: Input) -> Output
Parametry
input
Wejście do warstwy.
Wartość zwrotu
Wyjście wnioskowania.
Deklaracja
public typealias Backpropagator = (_ direction: Output.TangentVector) -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
Zwraca dane wyjściowe wnioskowania i funkcję wstecznej propagacji błędów uzyskane z zastosowania warstwy do danych danych wejściowych.
Deklaracja
public func appliedForBackpropagation(to input: Input) -> (output: Output, backpropagator: Backpropagator)
Parametry
input
Wejście do warstwy.
Wartość zwrotu
Krotka zawierająca dane wyjściowe i funkcję wstecznej propagacji błędów. Funkcja propagacji wstecznej (aka propagacja wsteczna) pobiera wektor kierunku i zwraca gradienty odpowiednio na warstwie i na wejściu.
Domyślna implementacja
Deklaracja
@differentiable(wrt: self) @differentiable public func callAsFunction(_ input: Input) -> Output