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)
ส่งกลับเอาต์พุตการอนุมานและฟังก์ชัน backpropagation ที่ได้รับจากการใช้เลเยอร์กับอินพุตที่กำหนด
ประกาศ
public func appliedForBackpropagation(to input: Input) -> (output: Output, backpropagator: Backpropagator)
พารามิเตอร์
input
อินพุตไปยังเลเยอร์
คืนมูลค่า
ทูเพิลที่มีเอาต์พุตและฟังก์ชัน backpropagation ฟังก์ชัน backpropagation (หรือที่เรียกว่า backpropagator) ใช้เวกเตอร์ทิศทางและคืนค่าการไล่ระดับสีที่เลเยอร์และที่อินพุตตามลำดับ
การใช้งานเริ่มต้น
ประกาศ
@differentiable(wrt: self) @differentiable public func callAsFunction(_ input: Input) -> Output