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) یک بردار جهت می گیرد و گرادیان ها را به ترتیب در لایه و در ورودی برمی گرداند.