प्रोटोकॉल

निम्नलिखित प्रोटोकॉल विश्व स्तर पर उपलब्ध हैं।

  • MutableCollection एल्गोरिदम के लिए अनुकूलन बिंदु प्रदान करता है।

    यदि मानक लाइब्रेरी में शामिल किया जाता है, तो ये आवश्यकताएं केवल MutableCollection का हिस्सा होंगी। इस बीच, आप MutableCollectionAlgorithms पर परिभाषित अन्य एल्गोरिदम से उपयोग किए जाने वाले इन अनुकूलन बिंदुओं को प्राप्त करने के लिए MutableCollectionAlgorithms के लिए एक संग्रह की अनुरूपता की घोषणा कर सकते हैं।

    घोषणा

    public protocol MutableCollectionAlgorithms: MutableCollection
    where SubSequence: MutableCollectionAlgorithms
  • घोषणा

    public protocol TensorFlowScalar : _TensorFlowDataTypeCompatible
  • घोषणा

    public protocol TensorRangeExpression
  • वे प्रकार जिनके तत्वों को एक ही प्रकार के कुछ उच्च-रैंक तत्वों में एकत्रित किया जा सकता है (उदाहरण: टेंसर, टेंसर का टुपल)

    घोषणा

    public protocol Collatable
  • एक प्रकार जिसके नेस्टेड गुणों और तत्वों को किसी Device में कॉपी किया जा सकता है।

    घोषणा

    public protocol CopyableToDevice : _CopyableToDevice
  • एक प्रकार जिसका मान गुणों या तत्वों के लिए कस्टम कुंजी पथ प्रदान करता है।

    घोषणा

    public protocol KeyPathIterable : _KeyPathIterableBase
  • TensorFlow के साथ संगत एक स्केलर डेटा प्रकार।

    TensorFlowScalar के अनुरूप प्रकार का उपयोग Scalar से संबंधित Tensor प्रकार के रूप में किया जा सकता है।

  • एक पूर्णांक डेटा प्रकार जो पूर्णांक प्रकारों का प्रतिनिधित्व करता है जिसे TensorFlow में टेंसर सूचकांक के रूप में उपयोग किया जा सकता है।

    घोषणा

    public protocol TensorFlowIndex : BinaryInteger, TensorFlowScalar
  • एक फ़्लोटिंग-पॉइंट डेटा प्रकार जो Differentiable के अनुरूप है और TensorFlow के साथ संगत है।

    टिप्पणी

    जब Scalar संबंधित प्रकार TensorFlowFloatingPoint के अनुरूप होता है, तो Tensor सशर्त रूप से Differentiable के अनुरूप होता है।

    घोषणा

    public protocol TensorFlowFloatingPoint:
      TensorFlowScalar & BinaryFloatingPoint & Differentiable & ElementaryFunctions
    where
      Self.RawSignificand: FixedWidthInteger,
      Self == Self.TangentVector
  • एक प्रकार जो गणितीय रूप से एक भिन्न अनेक गुना का प्रतिनिधित्व करता है जिसके स्पर्शरेखा स्थान परिमित-आयामी होते हैं।

    घोषणा

    public protocol Differentiable
  • मानों वाला एक प्रकार जो बिंदुवार गुणन का समर्थन करता है।

    घोषणा

    public protocol PointwiseMultiplicative : AdditiveArithmetic
  • एक प्रकार जो एक अनारक्षित वेक्टर स्थान का प्रतिनिधित्व करता है। इस प्रकार के मान इस वेक्टर स्थान में तत्व हैं और इनका या तो कोई आकार नहीं है या स्थिर आकार है।

    घोषणा

    public protocol VectorProtocol : AdditiveArithmetic
  • एक प्रकार जो यूक्लिडियन स्थान में भिन्न है। प्रकार एक सदिश समष्टि का प्रतिनिधित्व कर सकता है, या इसमें एक सदिश समष्टि और कुछ अन्य गैर-विभेदनीय घटक शामिल हो सकते हैं।

    गणितीय रूप से, यह एक उत्पाद मैनिफोल्ड का प्रतिनिधित्व करता है जिसमें एक अलग-अलग वेक्टर स्पेस और कुछ मनमाना मैनिफोल्ड शामिल होते हैं, जहां पूरे उत्पाद मैनिफोल्ड का स्पर्शरेखा बंडल वेक्टर स्पेस घटक के बराबर होता है।

    यह अमूर्तन सामान्य भिन्न डेटा संरचनाओं का प्रतिनिधित्व करने के लिए उपयोगी है जिसमें भिन्न वेक्टर गुण और अन्य संग्रहीत गुण शामिल हैं जिनमें कोई व्युत्पन्न नहीं है, उदाहरण के लिए

    struct Perceptron: @memberwise EuclideanDifferentiable {
        var weight: SIMD16<Float>
        var bias: Float
        @noDerivative var useBias: Bool
    }
    

    टिप्पणी

    एक प्रकार को EuclideanDifferentiable के अनुरूप बनाएं यदि यह केवल इसके वेक्टर स्पेस घटक के संबंध में भिन्न हो और जब इसका TangentVector इसके वेक्टर स्पेस घटक के बराबर हो।

    घोषणा

    public protocol EuclideanDifferentiable : Differentiable
  • घोषणा

  • एक तंत्रिका नेटवर्क परत.

    Layer के अनुरूप प्रकार उन फ़ंक्शंस का प्रतिनिधित्व करते हैं जो इनपुट को आउटपुट में मैप करते हैं। उनके पास वज़न टेंसर जैसे मापदंडों द्वारा दर्शाई गई एक आंतरिक स्थिति हो सकती है।

    Layer उदाहरण इनपुट को आउटपुट में मैप करने के लिए एक अलग-अलग callAsFunction(_:) विधि को परिभाषित करते हैं।

    घोषणा

    public protocol Layer : Module where Self.Input : Differentiable
  • एक पैरामीटर रहित तंत्रिका नेटवर्क परत।

    पैरामीटर रहित परतों का TangentVector हमेशा EmptyTangentVector होता है।

    घोषणा

    public protocol ParameterlessLayer : Layer where Self.TangentVector == EmptyTangentVector
  • एक प्रकार जिसमें प्राथमिक कार्य उपलब्ध हैं।

    एक "प्राथमिक फलन" घातों, मूलों, घातांकों, लघुगणक, त्रिकोणमितीय फलनों (sin, cos, tan) और उनके व्युत्क्रमों तथा अतिपरवलयिक फलनों (सिंह, कोश, तन्ह) और उनके व्युत्क्रमों से निर्मित एक फलन है।

    इस प्रोटोकॉल के अनुरूप होने का मतलब है कि ये सभी बिल्डिंग ब्लॉक प्रकार पर स्थिर कार्यों के रूप में उपलब्ध हैं।

    let x: Float = 1
    let y = Float.sin(x) // 0.84147096
    

    घोषणा

    public protocol ElementaryFunctions
  • एक प्रकार जिसके नेस्टेड फ़्लोटिंग-पॉइंट टेंसर गुणों और तत्वों को पूर्ण परिशुद्धता से कम परिशुद्धता में परिवर्तित किया जा सकता है और इसके विपरीत।

  • एक कार्यान्वयन विवरण का उपयोग इस तथ्य के आसपास काम करने के लिए किया जाता है कि स्विफ्ट एक सामान्य बाधा व्यक्त नहीं कर सकती है कि कुछ प्रकार का Sampling का एक उदाहरण होना चाहिए।

    घोषणा

    public protocol SamplingProtocol : Collection
  • एक प्रकार जिसे numpy.ndarray उदाहरण से प्रारंभ किया जा सकता है जिसे PythonObject के रूप में दर्शाया जाता है।

    घोषणा

    public protocol ConvertibleFromNumpyArray
  • एक प्रकार जो एक या अधिक NumPy स्केलर प्रकारों के साथ बिटवाइज़ संगत है।

    घोषणा

    public protocol NumpyScalarCompatible
  • एक प्रकार जिसका मान PythonObject में परिवर्तित किया जा सकता है।

    घोषणा

    public protocol PythonConvertible
  • एक प्रकार जिसे PythonObject से प्रारंभ किया जा सकता है।

    घोषणा

    public protocol ConvertibleFromPython
  • एक प्रकार जो बीज योग्य नियतात्मक छद्म-यादृच्छिक डेटा प्रदान करता है।

    एक SeadableRandomNumberGenerator का उपयोग कहीं भी किया जा सकता है जहां एक RandomNumberGenerator का उपयोग किया जाएगा। यह तब उपयोगी होता है जब छद्म-यादृच्छिक डेटा को रनों में पुन: प्रस्तुत करने की आवश्यकता होती है।

    SeadableRandomNumberGenerator प्रोटोकॉल के अनुरूप

    एक कस्टम प्रकार को SeedableRandomNumberGenerator प्रोटोकॉल के अनुरूप बनाने के लिए, init(seed: [UInt8]) इनिशियलाइज़र, साथ ही RandomNumberGenerator की आवश्यकताओं को लागू करें। next() द्वारा लौटाए गए मानों को एक नियतात्मक अनुक्रम बनाना चाहिए जो केवल आरंभीकरण पर प्रदान किए गए बीज पर निर्भर करता है।

    घोषणा

    public protocol SeedableRandomNumberGenerator : RandomNumberGenerator
  • घोषणा

    public protocol RandomDistribution
  • एक आवर्ती परत कोशिका.

    घोषणा

    public protocol RecurrentLayerCell: Layer
    where
      Input == RNNCellInput<TimeStepInput, State>,
      Output == RNNCellOutput<TimeStepOutput, State>
  • मानों वाला एक प्रकार जो भिन्न-भिन्न बाइनरी ऑपरेशनों का समर्थन करता है।

    मर्ज फ़ंक्शंस के लिए सामान्य आवश्यकता के रूप में BidirectionalRecurrentLayer द्वारा उपयोग किया जाता है।

    घोषणा

    public protocol Mergeable : AdditiveArithmetic, Differentiable
  • घोषणा

    public protocol TensorOperation
  • घोषणा

    public protocol TFTensorOperation : TensorOperation
  • टेंसरफ़्लो संचालन को कॉल करने के लिए विशेष प्रोटोकॉल जो इनपुट के रूप में विषम सरणी लेते हैं।

    घोषणा

    public protocol AnyTensor
  • घोषणा

    public protocol TensorProtocol
  • घोषणा

    public protocol DifferentiableTensorProtocol:
      TensorProtocol & Differentiable & EuclideanDifferentiable
    where Scalar: TensorFlowFloatingPoint
  • एक प्रोटोकॉल जो उन प्रकारों का प्रतिनिधित्व करता है जिन्हें Array<CTensorHandle> पर मैप किया जा सकता है।

    रनटाइम पर टेन्सर की संख्या निर्धारित करने के लिए इस प्रोटोकॉल को TensorGroup से अलग से परिभाषित किया गया है। उदाहरण के लिए, [Tensor<Float>] संकलन समय पर अज्ञात संख्या में तत्व हो सकते हैं।

    यह प्रोटोकॉल उन संरचनाओं के लिए स्वचालित रूप से प्राप्त किया जा सकता है जिनके सभी संग्रहीत गुण TensorGroup प्रोटोकॉल के अनुरूप हैं। यह उन संरचनाओं के लिए स्वचालित रूप से प्राप्त नहीं किया जा सकता है जिनके सभी गुण कंस्ट्रक्टर आवश्यकता के कारण TensorArrayProtocol के अनुरूप हैं (यानी, ऐसे मामलों में यह जानना असंभव होगा कि संग्रहीत गुणों के बीच count कैसे तोड़ा जाए)।

    घोषणा

    public protocol TensorArrayProtocol
  • एक प्रोटोकॉल जो उन प्रकारों का प्रतिनिधित्व करता है जिन्हें Array<CTensorHandle> से मैप किया जा सकता है।

    जब एक TensorGroup एक Tensor ऑपरेशन के तर्क के रूप में उपयोग किया जाता है, तो इसे एक तर्क सूची के रूप में पारित किया जाता है जिसके तत्व प्रकार के Tensor फ़ील्ड होते हैं।

    जब एक टेंसर ऑपरेशन के परिणामस्वरूप एक TensorGroup लौटाया जाता है, तो इसे टेंसर ऑपरेशन के टेंसर परिणामों पर सेट किए गए टेंसर फ़ील्ड के साथ प्रारंभ किया जाता है।

    घोषणा

    public protocol TensorGroup : TensorArrayProtocol
  • x10 में एक समर्थित डेटाटाइप.

    घोषणा

    public protocol XLAScalarType