פרוטוקולים

הפרוטוקולים הבאים זמינים ברחבי העולם.

  • מספק נקודות התאמה אישית עבור אלגוריתמים 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.

    הערה

    Tensor תואם באופן מותנה ל- Differentiable כאשר הסוג המשויך Scalar תואם ל- TensorFlowFloatingPoint .

    הַצהָרָה

    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) וההפוכים שלהן, והפונקציות ההיפרבוליות (sinh, cosh, tanh) וההפוכים שלהן.

    התאמה לפרוטוקול זה פירושה שכל אבני הבניין הללו זמינות כפונקציות סטטיות על הסוג.

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

    הַצהָרָה

    public protocol ElementaryFunctions
  • טיפוס שניתן להמיר את התכונות והאלמנטים המקוננים של נקודה צפה מטנסור מדיוק מלא לדיוק מופחת ולהיפך.

  • פרט יישום המשמש כדי לעקוף את העובדה ש-Swift לא יכולה לבטא אילוץ גנרי שסוג כלשהו חייב להיות מופע של Sampling .

    הַצהָרָה

    public protocol SamplingProtocol : Collection
  • סוג שניתן לאתחל ממופע numpy.ndarray המיוצג כ- PythonObject .

    הַצהָרָה

    public protocol ConvertibleFromNumpyArray
  • סוג התואם סיביות לסוג סקלרי אחד או יותר של NumPy.

    הַצהָרָה

    public protocol NumpyScalarCompatible
  • סוג שניתן להמיר את ערכיו ל- PythonObject .

    הַצהָרָה

    public protocol PythonConvertible
  • סוג שניתן לאתחל מ- PythonObject .

    הַצהָרָה

    public protocol ConvertibleFromPython
  • סוג המספק נתונים פסאודו אקראיים דטרמיניסטיים שניתנים לזריעה.

    ניתן להשתמש ב-SeedableRandomNumberGenerator בכל מקום בו נעשה שימוש ב-RandomNumberGenerator. זה שימושי כאשר הנתונים הפסאודו אקראיים צריכים להיות ניתנים לשחזור על פני ריצות.

    תואם לפרוטוקול SeedableRandomNumberGenerator

    כדי לגרום לסוג מותאם אישית להתאים לפרוטוקול SeedableRandomNumberGenerator , הטמיע את האתחול init(seed: [UInt8]) , כמו גם את הדרישות עבור RandomNumberGenerator . הערכים המוחזרים על ידי next() חייבים ליצור רצף דטרמיניסטי שתלוי רק ב-seed שסופק בעת האתחול.

    הַצהָרָה

    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
  • פרוטוקול מיוחד לקריאה לפעולות tensorflow שלוקחות מערכים הטרוגניים כקלט.

    הַצהָרָה

    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 משמש כארגומנט לפעולת טנסור, הוא מועבר כרשימת ארגומנטים שהרכיבים שלה הם שדות הטנסור מהסוג.

    כאשר TensorGroup מוחזר כתוצאה מפעולת טנזור, הוא מאותחל כאשר שדות הטנזור שלו מוגדרים לתוצאות הטנזור של פעולת הטנזור.

    הַצהָרָה

    public protocol TensorGroup : TensorArrayProtocol
  • סוג נתונים נתמך ב-x10.

    הַצהָרָה

    public protocol XLAScalarType