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
লেয়ারে ইনপুট।
রিটার্ন ভ্যালু
আউটপুট এবং ব্যাকপ্রোপগেশন ফাংশন ধারণকারী একটি টিপল। ব্যাকপ্রপাগেশন ফাংশন (ওরফে ব্যাকপ্রোপ্যাগেটর) একটি দিকনির্দেশনা ভেক্টর নেয় এবং স্তরে এবং ইনপুটে যথাক্রমে গ্রেডিয়েন্টগুলি প্রদান করে।
ডিফল্ট বাস্তবায়ন
ঘোষণা
@differentiable(wrt: self) @differentiable public func callAsFunction(_ input: Input) -> Output