Lớp

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.

  • phía trước(_:) Triển khai mặc định

    Triển khai mặc định

    Tuyên ngôn

    @differentiable
    func forward(_ input: Input) -> Output
  • suy luận (từ :) Phương pháp mở rộng

    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.

  • lan truyền ngược Phương pháp mở rộng

    Tuyên ngôn

    public typealias Backpropagator = (_ direction: Output.TangentVector)
      -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
  • áp dụngForBackpropagation(to:) Phương pháp mở rộng

    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.

Có sẵn ở nơi `Đầu vào`: `DifferentiableTensorProtocol`, `Output`: `DifferentiableTensorProtocol`
  • callAsFunction(_:) Triển khai mặc định

    Triển khai mặc định

    Tuyên ngôn

    @differentiable(wrt: self)
    @differentiable
    public func callAsFunction(_ input: Input) -> Output