เลเยอร์

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)
  • AppliedForBackpropagation(ถึง :) วิธีการขยาย

    ส่งคืนเอาต์พุตการอนุมานและฟังก์ชัน backpropagation ที่ได้รับจากการใช้เลเยอร์กับอินพุตที่กำหนด

    คำประกาศ

    public func appliedForBackpropagation(to input: Input)
      -> (output: Output, backpropagator: Backpropagator)

    พารามิเตอร์

    input

    อินพุตไปยังเลเยอร์

    ค่าส่งคืน

    สิ่งอันดับที่มีเอาต์พุตและฟังก์ชัน backpropagation ฟังก์ชัน backpropagation (aka backpropagator) ใช้เวกเตอร์ทิศทางและส่งกลับการไล่ระดับสีที่เลเยอร์และที่อินพุตตามลำดับ

มีให้โดยที่ `อินพุต`: `DifferentiableTensorProtocol`, `Output`: `DifferentiableTensorProtocol`
  • โทรAsFunction(_:) การใช้งานเริ่มต้น

    การใช้งานเริ่มต้น

    คำประกาศ

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