הפרוטוקולים הבאים זמינים ברחבי העולם.
מספק נקודות התאמה אישית עבור אלגוריתמים
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
הַצהָרָה
public protocol Module: EuclideanDifferentiable, KeyPathIterable where TangentVector: VectorProtocol & ElementaryFunctions & PointwiseMultiplicative & KeyPathIterable
שכבת רשת עצבית.
סוגים התואמים
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