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)
تقوم بإرجاع مخرجات الاستدلال ووظيفة الانتشار العكسي التي تم الحصول عليها من تطبيق الطبقة على المدخلات المحددة.
تصريح
public func appliedForBackpropagation(to input: Input) -> (output: Output, backpropagator: Backpropagator)
حدود
input
الإدخال إلى الطبقة
قيمة الإرجاع
صف يحتوي على الإخراج ووظيفة الانتشار العكسي. تأخذ وظيفة backpropagation (المعروفة أيضًا باسم backpropagator) متجهًا للاتجاه وتعيد التدرجات عند الطبقة وعند الإدخال، على التوالي.
التنفيذ الافتراضي
تصريح
@differentiable(wrt: self) @differentiable public func callAsFunction(_ input: Input) -> Output