public protocol Layer : Module where Self.Input : Differentiable
Một lớp mạng nơ-ron.
Loại mà phù hợp với Layer
đại diện cho chức năng mà đầu vào bản đồ để đầu ra. Chúng có thể có trạng thái bên trong được biểu thị bằng các thông số, chẳng hạn như bộ căng khối lượng.
Layer
trường xác định một khả vi callAsFunction(_:)
phương pháp đầu vào bản đồ để đầu ra.
Trả về kết quả thu được từ việc áp dụng lớp cho đầu vào đã cho.
Tuyên ngôn
@differentiable func callAsFunction(_ input: Input) -> Output
Thông số
input
Đầu vào cho lớp.
Giá trị trả lại
Đầu ra.
Triển khai mặc định
Tuyên ngôn
@differentiable func forward(_ input: Input) -> Output
Trả về đầu ra suy luận thu được từ việc áp dụng lớp cho đầu vào đã cho.
Tuyên ngôn
public func inferring(from input: Input) -> Output
Thông số
input
Đầu vào cho lớp.
Giá trị trả lại
Kết quả suy luận.
Tuyên ngôn
public typealias Backpropagator = (_ direction: Output.TangentVector) -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
Trả về đầu ra suy luận và hàm truyền ngược thu được từ việc áp dụng lớp cho đầu vào đã cho.
Tuyên ngôn
public func appliedForBackpropagation(to input: Input) -> (output: Output, backpropagator: Backpropagator)
Thông số
input
Đầu vào cho lớp.
Giá trị trả lại
Một bộ giá trị chứa đầu ra và chức năng nhân giống ngược. Hàm backpropagation (hay còn gọi là backpropagator) nhận một vectơ hướng và trả về các gradient ở lớp và ở đầu vào tương ứng.
Triển khai mặc định
Tuyên ngôn
@differentiable(wrt: self) @differentiable public func callAsFunction(_ input: Input) -> Output