परत

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