public protocol Layer : Module where Self.Input : Differentiable
Một lớp mạng thần kinh.
Các loại phù hợp với Layer
biểu thị các hàm ánh xạ đầu vào thành đầu ra. Chúng có thể có trạng thái bên trong được biểu thị bằng các tham số, chẳng hạn như các tensor trọng số.
Các phiên bản Layer
xác định một phương thức callAsFunction(_:)
có thể phân biệt để ánh xạ đầu vào thành đầ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 của lớp.
Giá trị trả về
Đầ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 của lớp.
Giá trị trả về
Đầu ra 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 lan 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 của lớp.
Giá trị trả về
Một bộ dữ liệu chứa đầu ra và hàm lan truyền ngược. Hàm lan truyền ngược (còn gọi là backpropagator) lấy một vectơ chỉ hướng và trả về độ dốc tương ứng ở lớp và ở đầu vào.
Triển khai mặc định
Tuyên ngôn
@differentiable(wrt: self) @differentiable public func callAsFunction(_ input: Input) -> Output