public protocol Layer : Module where Self.Input : Differentiable
신경망 계층.
Layer
를 준수하는 유형은 입력을 출력으로 매핑하는 기능을 나타냅니다. 가중치 텐서와 같은 매개변수로 표시되는 내부 상태를 가질 수 있습니다.
Layer
인스턴스는 입력을 출력으로 매핑하기 위해 차별화 가능한 callAsFunction(_:)
메서드를 정의합니다.
주어진 입력에 레이어를 적용하여 얻은 출력을 반환합니다.
선언
@differentiable func callAsFunction(_ input: Input) -> Output
매개변수
input
레이어에 대한 입력입니다.
반환 값
출력.
기본 구현
선언
@differentiable func forward(_ input: Input) -> Output
주어진 입력에 레이어를 적용하여 얻은 추론 출력을 반환합니다.
선언
public func inferring(from input: Input) -> Output
매개변수
input
레이어에 대한 입력입니다.
반환 값
추론 출력.
선언
public typealias Backpropagator = (_ direction: Output.TangentVector) -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
주어진 입력에 레이어를 적용하여 얻은 추론 출력과 역전파 함수를 반환합니다.
선언
public func appliedForBackpropagation(to input: Input) -> (output: Output, backpropagator: Backpropagator)
매개변수
input
레이어에 대한 입력입니다.
반환 값
출력과 역전파 함수를 포함하는 튜플입니다. 역전파 함수(역전파기라고도 함)는 방향 벡터를 사용하여 각각 레이어와 입력에서의 그래디언트를 반환합니다.
기본 구현
선언
@differentiable(wrt: self) @differentiable public func callAsFunction(_ input: Input) -> Output