מבנים

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

  • שרשור של שני רצפים עם אותו סוג אלמנט.

    הַצהָרָה

    public struct Concatenation<Base1: Sequence, Base2: Sequence>: Sequence
    where Base1.Element == Base2.Element
    extension Concatenation: Collection where Base1: Collection, Base2: Collection
    extension Concatenation: BidirectionalCollection
    where Base1: BidirectionalCollection, Base2: BidirectionalCollection
    extension Concatenation: RandomAccessCollection
    where Base1: RandomAccessCollection, Base2: RandomAccessCollection
  • תצוגה מסובבת על אוסף.

    הַצהָרָה

    public struct RotatedCollection<Base> : Collection where Base : Collection
    extension RotatedCollection: BidirectionalCollection
    where Base: BidirectionalCollection
    extension RotatedCollection: RandomAccessCollection
    where Base: RandomAccessCollection
  • הַצהָרָה

    public struct AnyDifferentiable : Differentiable
  • ערך נגזרת שנמחק מהסוג.

    הסוג AnyDerivative מעביר את הפעולות שלו לערך נגזרת בסיס שרירותי התואם ל- Differentiable ו- AdditiveArithmetic , ומסתיר את הפרטים של הערך הבסיסי.

    הַצהָרָה

    @frozen
    public struct AnyDerivative : Differentiable & AdditiveArithmetic
  • מערך רב ממדי של אלמנטים שהוא הכללה של וקטורים ומטריצות למימדים בעלי פוטנציאל גבוה יותר.

    הפרמטר הגנרי Scalar מתאר את סוג הסקלרים בטנזור (כגון Int32 , Float וכו').

    הַצהָרָה

    @frozen
    public struct Tensor<Scalar> where Scalar : TensorFlowScalar
    extension Tensor: Collatable
    extension Tensor: CopyableToDevice
    extension Tensor: AnyTensor
    extension Tensor: ExpressibleByArrayLiteral
    extension Tensor: CustomStringConvertible
    extension Tensor: CustomPlaygroundDisplayConvertible
    extension Tensor: CustomReflectable
    extension Tensor: TensorProtocol
    extension Tensor: TensorGroup
    extension Tensor: ElementaryFunctions where Scalar: TensorFlowFloatingPoint
    extension Tensor: VectorProtocol where Scalar: TensorFlowFloatingPoint
    extension Tensor: Mergeable where Scalar: TensorFlowFloatingPoint
    extension Tensor: Equatable where Scalar: Equatable
    extension Tensor: Codable where Scalar: Codable
    extension Tensor: AdditiveArithmetic where Scalar: Numeric
    extension Tensor: PointwiseMultiplicative where Scalar: Numeric
    extension Tensor: Differentiable & EuclideanDifferentiable where Scalar: TensorFlowFloatingPoint
    extension Tensor: DifferentiableTensorProtocol
    where Scalar: TensorFlowFloatingPoint
  • פונקציית נסיגה המבצעת טרנספוזיציה של שידור שני Tensors .

    הַצהָרָה

    public struct BroadcastingPullback
  • הקשר המאחסן מידע קונטקסטואלי של שרשור מקומי המשמש את ממשקי API של למידה עמוקה כגון שכבות.

    השתמש ב- Context.local כדי לאחזר את ההקשר הנוכחי של השרשור המקומי.

    דוגמאות:

    • הגדר את שלב הלמידה הנוכחי לאימון כך ששכבות כמו BatchNorm יחשבו את הממוצע והשונות כשהן מיושמות על תשומות.
      Context.local.learningPhase = .training
    
    • הגדר את שלב הלמידה הנוכחי להסקת מסקנות כך ששכבות כמו Dropout לא ייפלטו יחידות כאשר יוחלו על קלט.
      Context.local.learningPhase = .inference
    

    הַצהָרָה

    public struct Context
  • שכבת קונבולציה 1-D (למשל פיתול זמני על פני סדרת זמן).

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

    הַצהָרָה

    @frozen
    public struct Conv1D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבת פיתול דו מימדי (למשל פיתול מרחבי על פני תמונות).

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

    הַצהָרָה

    @frozen
    public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבת קונבולציה תלת מימדית עבור פיתול מרחבי/מרחבי-זמני על פני תמונות.

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

    הַצהָרָה

    @frozen
    public struct Conv3D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבת קונבולציית טרנספוזיציה 1-D (למשל קונבולוציית טרנספוזיציה זמנית על פני תמונות).

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

    הַצהָרָה

    @frozen
    public struct TransposedConv1D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבת טרנספוזיציה דו-ממדית (למשל קונבולוציית טרנספוזיה מרחבית על פני תמונות).

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

    הַצהָרָה

    @frozen
    public struct TransposedConv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבת טרנספוזיציה תלת מימדית (למשל קונבולוציית טרנספוזיציה מרחבית על פני תמונות).

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

    הַצהָרָה

    @frozen
    public struct TransposedConv3D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבת פיתול דו-ממדית לעומק.

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

    הַצהָרָה

    @frozen
    public struct DepthwiseConv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבה להוספת ריפוד אפס בממד הזמני.

    הַצהָרָה

    public struct ZeroPadding1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבה להוספת ריפוד אפס במידות המרחביות.

    הַצהָרָה

    public struct ZeroPadding2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבה להוספת ריפוד אפס בממדים המרחביים/מרחבי-זמניים.

    הַצהָרָה

    public struct ZeroPadding3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת קונבולציה 1-D הניתנת להפרדה.

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

    הַצהָרָה

    @frozen
    public struct SeparableConv1D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבת פיתול דו מימדי ניתנת להפרדה.

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

    הַצהָרָה

    @frozen
    public struct SeparableConv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבה שטוחה.

    שכבה שטוחה משטחת את הקלט בעת יישום מבלי להשפיע על גודל האצווה.

    הַצהָרָה

    @frozen
    public struct Flatten<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת צורה מחדש.

    הַצהָרָה

    @frozen
    public struct Reshape<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבה שכוללת פונקציה הניתנת להבדלה מותאמת אישית.

    הַצהָרָה

    public struct Function<Input, Output> : ParameterlessLayer where Input : Differentiable, Output : Differentiable
  • ערך טיפוס דינמי של TensorFlow שניתן ליצור מסוגים התואמים ל- TensorFlowScalar .

    הַצהָרָה

    public struct TensorDataType : Equatable
  • הַצהָרָה

    @frozen
    public struct BFloat16
    extension BFloat16: TensorFlowScalar
    extension BFloat16: XLAScalarType
  • מייצג סט פוטנציאלי גדול של אלמנטים.

    ניתן להשתמש Dataset כדי לייצג צינור קלט כאוסף של טנסור אלמנטים.

    הַצהָרָה

    @available(*, deprecated, message: "Datasets will be removed in S4TF v0.10. Please use the new Batches API instead.")
    @frozen
    public struct Dataset<Element> where Element : TensorGroup
    extension Dataset: Sequence
  • הסוג המאפשר איטרציה על רכיבי מערך נתונים.

    הַצהָרָה

    @available(*, deprecated)
    @frozen
    public struct DatasetIterator<Element> where Element : TensorGroup
    extension DatasetIterator: IteratorProtocol
  • מבנה דמוי 2-טופל התואם ל-TensorGroup המייצג טופלה של 2 סוגים התואמים ל- TensorGroup .

    הַצהָרָה

    @frozen
    public struct Zip2TensorGroup<T, U> : TensorGroup where T : TensorGroup, U : TensorGroup
  • שכבת רשת עצבית מחוברת בצפיפות.

    Dense מיישמת את activation(matmul(input, weight) + bias) , כאשר weight הוא מטריצת משקל, bias היא וקטור הטיה, activation היא פונקציית הפעלה נקודתית.

    שכבה זו תומכת גם בטנסורי משקל תלת-ממדיים עם מטריצות הטיה דו-ממדיות. במקרה זה, הממד הראשון של שניהם מטופל כגודל האצווה המיושר עם הממד הראשון של input ומשתמשים בגרסה האצווה של פעולת matmul(_:_:) , ובכך משתמשים במשקל והטיה שונים עבור כל אלמנט באצווה קלט.

    הַצהָרָה

    @frozen
    public struct Dense<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • מכשיר שעליו ניתן להקצות Tensor s.

    הַצהָרָה

    public struct Device
    extension Device: Equatable
    extension Device: CustomStringConvertible
  • שכבת נשירה.

    נשירה מורכבת מהגדרה אקראית של חלק מיחידות הקלט ל 0 בכל עדכון במהלך זמן האימון, מה שעוזר במניעת התאמת יתר.

    הַצהָרָה

    @frozen
    public struct Dropout<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • GaussianNoise מוסיף רעש שנדגם מהתפלגות נורמלית.

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

    הַצהָרָה

    public struct GaussianNoise<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • GaussianDropout מכפיל את הקלט עם הרעש שנדגם מהתפלגות נורמלית בממוצע 1.0.

    מכיוון שמדובר בשכבת סדירות, היא פעילה רק בזמן האימון. במהלך היסק, GaussianDropout עובר דרך הקלט ללא שינוי.

    הַצהָרָה

    public struct GaussianDropout<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת נשירת אלפא.

    Alpha Dropout הוא Dropout ששומר על ממוצע ושונות של כניסות לערכים המקוריים שלהם, על מנת להבטיח את תכונת הנרמול העצמי גם לאחר נשירה זו. Alpha Dropout מתאים היטב ליחידות לינאריות מעריכיות בקנה מידה על ידי הגדרה אקראית של הפעלות לערך הרוויה השלילי.

    מקור: Self-Normalizing Neural Networks: https://arxiv.org/abs/1706.02515

    הַצהָרָה

    @frozen
    public struct AlphaDropout<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת הטבעה.

    Embedding היא למעשה טבלת חיפוש הממפה אינדקסים מאוצר מילים קבוע לייצוגי וקטור בגודל קבוע (צפוף), למשל [[0], [3]] -> [[0.25, 0.1], [0.6, -0.2]] .

    הַצהָרָה

    public struct Embedding<Scalar> : Module where Scalar : TensorFlowFloatingPoint
  • מבנה ריק המייצג TangentVector s ריקים עבור שכבות ללא פרמטרים.

  • זוג רגעים ראשונים ושניים (כלומר, ממוצע ושונות).

    פֶּתֶק

    זה נחוץ מכיוון שלא ניתן להבדיל סוגי tuple.

    הַצהָרָה

    public struct Moments<Scalar> : Differentiable where Scalar : TensorFlowFloatingPoint
  • שכבת הרחבה מורפולוגית דו מימדית

    שכבה זו מחזירה את ההתרחבות המורפוגית של טנזור הקלט עם המסננים שסופקו

    הַצהָרָה

    @frozen
    public struct Dilation2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבת שחיקה מורפולוגית דו מימדית

    שכבה זו מחזירה את השחיקה המורפוגית של טנזור הקלט עם המסננים שסופקו

    הַצהָרָה

    @frozen
    public struct Erosion2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • מבחר עצלן של אלמנטים, בסדר נתון, מאוסף בסיס כלשהו.

    הַצהָרָה

    public struct Sampling<Base: Collection, Selection: Collection>
    where Selection.Element == Base.Index
    extension Sampling: SamplingProtocol
    extension Sampling: Collection
    extension Sampling: BidirectionalCollection
      where Selection: BidirectionalCollection
    extension Sampling: RandomAccessCollection
      where Selection: RandomAccessCollection
  • אוסף של הפרוסות הרציפות הארוכות ביותר שאינן חופפות מאוסף Base כלשהו, ​​החל מהאלמנט הראשון שלו, ובעלות אורך מקסימלי קבוע כלשהו.

    לרכיבים של אוסף זה, מלבד האחרון, לכולם יש count של batchSize , אלא אם כן Base.count % batchSize !=0 , ובמקרה זה count של האצווה האחרונה היא base.count % batchSize.

    הַצהָרָה

    public struct Slices<Base> where Base : Collection
    extension Slices: Collection
  • שכבת נורמליזציה אצווה.

    מנרמל את ההפעלה של השכבה הקודמת בכל אצווה, כלומר מחיל טרנספורמציה השומרת על ההפעלה הממוצעת קרובה ל 0 ועל סטיית התקן של ההפעלה קרובה ל 1 .

    התייחסות: נורמליזציה של אצווה: האצת אימון רשת עמוק על ידי הפחתת הסטת משתנים פנימית .

    הַצהָרָה

    @frozen
    public struct BatchNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבה המיישמת נורמליזציה של שכבות על מיני-אצט של כניסות.

    הפניה: נורמליזציה של שכבה .

    הַצהָרָה

    @frozen
    public struct LayerNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבה המיישמת נורמליזציה קבוצתית על מיני-אצט של כניסות.

    התייחסות: נורמליזציה קבוצתית .

    הַצהָרָה

    @frozen
    public struct GroupNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • שכבה המיישמת נורמליזציה של מופעים על מיני-אצט של כניסות.

    הפניה: נורמליזציה של מופע: המרכיב החסר לסטייליזציה מהירה .

    הַצהָרָה

    @frozen
    public struct InstanceNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
  • ציין עבור שלב בודד של משקל בודד בתוך מייעל.

    הַצהָרָה

    public struct OptimizerWeightStepState
  • גישה למדינה גלובלית דרך StateAccessor .

    הַצהָרָה

    public struct OptimizerState
  • [String: Float] אך ניתן לגשת לאלמנטים כאילו היו חברים.

    הַצהָרָה

    @dynamicMemberLookup
    public struct HyperparameterDictionary
  • אופטימיזר שעובד על קבוצת פרמטרים בודדת.

    הַצהָרָה

    public struct ParameterGroupOptimizer
  • עטיפה בטוחה לסוג סביב ערך אינדקס Int עבור ערכים מקומיים למיטוב.

    הַצהָרָה

    public struct LocalAccessor
  • עטיפה בטוחה לסוג סביב ערך אינדקס Int עבור ערכים גלובליים למיטוב.

    הַצהָרָה

    public struct GlobalAccessor
  • עטיפה בטוחה לסוג סביב ערך אינדקס Int עבור ערכי מצב אופטימיזציה.

    הַצהָרָה

    public struct StateAccessor
  • בונה ParameterGroupOptimizer . זה משמש למעשה ברמה של משקל בודד בדגם. מיפוי מקבוצות פרמטרים שנבחרו על ידי ( [Bool] ל-ParameterGroupOptimizer) מגדיר את המייעל הסופי.

    הַצהָרָה

    public struct ParameterGroupOptimizerBuilder
  • שכבת איגום מקסימלית עבור נתונים זמניים.

    הַצהָרָה

    @frozen
    public struct MaxPool1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת איגום מקסימלית לנתונים מרחביים.

    הַצהָרָה

    @frozen
    public struct MaxPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת איגום מקסימלית לנתונים מרחביים או מרחביים-זמניים.

    הַצהָרָה

    @frozen
    public struct MaxPool3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת איגום ממוצעת לנתונים זמניים.

    הַצהָרָה

    @frozen
    public struct AvgPool1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת איגום ממוצעת לנתונים מרחביים.

    הַצהָרָה

    @frozen
    public struct AvgPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת איגום ממוצעת לנתונים מרחביים או מרחביים-זמניים.

    הַצהָרָה

    @frozen
    public struct AvgPool3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת איגום ממוצעת גלובלית לנתונים זמניים.

    הַצהָרָה

    @frozen
    public struct GlobalAvgPool1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת איגום ממוצעת גלובלית לנתונים מרחביים.

    הַצהָרָה

    @frozen
    public struct GlobalAvgPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת איגום ממוצעת גלובלית לנתונים מרחביים ומרחב-זמניים.

    הַצהָרָה

    @frozen
    public struct GlobalAvgPool3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת איסוף מקסימלית גלובלית לנתונים זמניים.

    הַצהָרָה

    @frozen
    public struct GlobalMaxPool1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת איסוף מקסימלית גלובלית לנתונים מרחביים.

    הַצהָרָה

    @frozen
    public struct GlobalMaxPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת איסוף מקסימלית גלובלית לנתונים מרחביים ומרחבי-זמניים.

    הַצהָרָה

    @frozen
    public struct GlobalMaxPool3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת איסוף מקסימלית חלקית עבור נתונים מרחביים. הערה: FractionalMaxPool אין מימוש XLA, ולכן עשויות להיות לו השלכות ביצועים.

    הַצהָרָה

    @frozen
    public struct FractionalMaxPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • PythonObject מייצג אובייקט ב- Python ותומך בחיפוש חברים דינמי. כל גישת חבר כמו object.foo תבקש באופן דינמי את זמן הריצה של Python עבור חבר עם השם שצוין באובייקט זה.

    PythonObject מועבר ומוחזר מכל קריאות הפונקציה Python והפניות לחבר. הוא תומך בחשבון Python סטנדרטיים ואופרטורים להשוואה.

    באופן פנימי, PythonObject מיושם כמצביע שנספר הפניות ל- Python C API PyObject .

    הַצהָרָה

    @dynamicCallable
    @dynamicMemberLookup
    public struct PythonObject
    extension PythonObject : CustomStringConvertible
    extension PythonObject : CustomPlaygroundDisplayConvertible
    extension PythonObject : CustomReflectable
    extension PythonObject : PythonConvertible, ConvertibleFromPython
    extension PythonObject : SignedNumeric
    extension PythonObject : Strideable
    extension PythonObject : Equatable, Comparable
    extension PythonObject : Hashable
    extension PythonObject : MutableCollection
    extension PythonObject : Sequence
    extension PythonObject : ExpressibleByBooleanLiteral, ExpressibleByIntegerLiteral,
    ExpressibleByFloatLiteral, ExpressibleByStringLiteral
    extension PythonObject : ExpressibleByArrayLiteral, ExpressibleByDictionaryLiteral
  • מעטפת PythonObject המאפשרת זריקת קריאות למתודה. חריגים המיוצרים על ידי פונקציות Python באים לידי ביטוי כשגיאות Swift ונזרקות.

    פֶּתֶק

    זה מכוון של ThrowingPythonObject אין את התכונה @dynamicCallable מכיוון שתחביר הקריאה אינו אינטואיטיבי: x.throwing(arg1, arg2, ...) . השיטות עדיין ייקראו dynamicallyCall עד לדיון/עיצוב נוסף.

    הַצהָרָה

    public struct ThrowingPythonObject
  • מעטפת PythonObject המאפשרת גישה לחברים. פעולות גישת חבר מחזירות תוצאה Optional . כאשר הגישה לחבר נכשל, nil מוחזר.

    הַצהָרָה

    @dynamicMemberLookup
    public struct CheckingPythonObject
  • ממשק לפייתון.

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

    פֶּתֶק

    זה לא מיועד ל- PythonInterface להיות אתחול ישירות. במקום זאת, אנא השתמש במופע הגלובלי של PythonInterface בשם Python .

    הַצהָרָה

    @dynamicMemberLookup
    public struct PythonInterface
  • הַצהָרָה

    public struct PythonLibrary
  • מחולל מספרים אקראיים שנמחק על ידי סוג.

    הסוג AnyRandomNumberGenerator מעביר פעולות של יצירת מספרים אקראיים למחולל מספרים אקראיים בסיסיים, ומסתיר את הסוג הבסיסי הספציפי שלו.

    הַצהָרָה

    public struct AnyRandomNumberGenerator : RandomNumberGenerator
  • יישום של SeedableRandomNumberGenerator באמצעות ARC4.

    ARC4 הוא צופן זרם שיוצר זרם פסאודו אקראי של בתים. PRNG זה משתמש בזרע כמפתח שלו.

    ARC4 מתואר ב-Schneier, B., "Applied Cryptography: Protocols, Algorithms, and Source Code in C", מהדורה 2, 1996.

    מחולל בודד אינו בטוח בחוט, אך מחוללים נפרדים אינם חולקים מצב. הנתונים האקראיים שנוצרו הם באיכות גבוהה, אך אינם מתאימים ליישומי הצפנה.

    הַצהָרָה

    @frozen
    public struct ARC4RandomNumberGenerator : SeedableRandomNumberGenerator
  • יישום של SeedableRandomNumberGenerator באמצעות Threefry. סלמון וחב'. SC 2011. מספרים אקראיים מקבילים: קלים כמו 1, 2, 3. http://www.thesalmons.org/john/random123/papers/random123sc11.pdf

    מבנה זה מיישם 20 סיבובים Threefry2x32 PRNG. זה חייב להיות זרע עם ערך של 64 סיביות.

    מחולל בודד אינו בטוח בחוט, אך מחוללים נפרדים אינם חולקים מצב. הנתונים האקראיים שנוצרו הם באיכות גבוהה, אך אינם מתאימים ליישומי הצפנה.

    הַצהָרָה

    public struct ThreefryRandomNumberGenerator : SeedableRandomNumberGenerator
  • יישום של SeedableRandomNumberGenerator באמצעות Philox. סלמון וחב'. SC 2011. מספרים אקראיים מקבילים: קלים כמו 1, 2, 3. http://www.thesalmons.org/john/random123/papers/random123sc11.pdf

    מבנה זה מיישם 10 סיבובים של Philox4x32 PRNG. זה חייב להיות זרע עם ערך של 64 סיביות.

    מחולל בודד אינו בטוח בחוט, אך מחוללים נפרדים אינם חולקים מצב. הנתונים האקראיים שנוצרו הם באיכות גבוהה, אך אינם מתאימים ליישומי הצפנה.

    הַצהָרָה

    public struct PhiloxRandomNumberGenerator : SeedableRandomNumberGenerator
  • הַצהָרָה

    @frozen
    public struct UniformIntegerDistribution<T> : RandomDistribution where T : FixedWidthInteger
  • הַצהָרָה

    @frozen
    public struct UniformFloatingPointDistribution<T: BinaryFloatingPoint>: RandomDistribution
    where T.RawSignificand: FixedWidthInteger
  • הַצהָרָה

    @frozen
    public struct NormalDistribution<T: BinaryFloatingPoint>: RandomDistribution
    where T.RawSignificand: FixedWidthInteger
  • הַצהָרָה

    @frozen
    public struct BetaDistribution : RandomDistribution
  • קלט לרשת עצבית חוזרת.

    הַצהָרָה

    public struct RNNCellInput<Input, State> : Differentiable where Input : Differentiable, State : Differentiable
    extension RNNCellInput: EuclideanDifferentiable
    where Input: EuclideanDifferentiable, State: EuclideanDifferentiable
  • פלט לרשת עצבית חוזרת.

    הַצהָרָה

    public struct RNNCellOutput<Output, State> : Differentiable where Output : Differentiable, State : Differentiable
    extension RNNCellOutput: EuclideanDifferentiable
    where Output: EuclideanDifferentiable, State: EuclideanDifferentiable
  • תא RNN בסיסי.

    הַצהָרָה

    public struct BasicRNNCell<Scalar> : RecurrentLayerCell where Scalar : TensorFlowFloatingPoint
  • תא LSTM.

    הַצהָרָה

    public struct LSTMCell<Scalar> : RecurrentLayerCell where Scalar : TensorFlowFloatingPoint
  • תא GRU.

    הַצהָרָה

    public struct GRUCell<Scalar> : RecurrentLayerCell where Scalar : TensorFlowFloatingPoint
  • הַצהָרָה

    public struct RecurrentLayer<Cell> : Layer where Cell : RecurrentLayerCell
    extension RecurrentLayer: Equatable where Cell: Equatable
    extension RecurrentLayer: AdditiveArithmetic where Cell: AdditiveArithmetic
  • הַצהָרָה

    public struct BidirectionalRecurrentLayer<Cell: RecurrentLayerCell>: Layer
    where Cell.TimeStepOutput: Mergeable
  • שכבה המרכיבה ברצף שתי שכבות אחרות או יותר.

    דוגמאות:

    • בנה מודל פרספטרון דו-שכבתי פשוט עבור MNIST:
    let inputSize = 28 * 28
    let hiddenSize = 300
    var classifier = Sequential {
         Dense<Float>(inputSize: inputSize, outputSize: hiddenSize, activation: relu)
         Dense<Float>(inputSize: hiddenSize, outputSize: 3, activation: identity)
     }
    
    • בנה מקודד אוטומטי עבור MNIST:
    var autoencoder = Sequential {
        // The encoder.
        Dense<Float>(inputSize: 28 * 28, outputSize: 128, activation: relu)
        Dense<Float>(inputSize: 128, outputSize: 64, activation: relu)
        Dense<Float>(inputSize: 64, outputSize: 12, activation: relu)
        Dense<Float>(inputSize: 12, outputSize: 3, activation: relu)
        // The decoder.
        Dense<Float>(inputSize: 3, outputSize: 12, activation: relu)
        Dense<Float>(inputSize: 12, outputSize: 64, activation: relu)
        Dense<Float>(inputSize: 64, outputSize: 128, activation: relu)
        Dense<Float>(inputSize: 128, outputSize: imageHeight * imageWidth, activation: tanh)
    }
    

    הַצהָרָה

    public struct Sequential<Layer1: Module, Layer2: Layer>: Module
        where Layer1.Output == Layer2.Input,
              Layer1.TangentVector.VectorSpaceScalar == Layer2.TangentVector.VectorSpaceScalar
    extension Sequential: Layer where Layer1: Layer
  • הַצהָרָה

    @_functionBuilder
    public struct LayerBuilder
  • ShapedArray הוא מערך רב מימדי. יש לו צורה, שיש לה סוג [Int] ומגדירה את ממדי המערך, ומשתמשת ב- TensorBuffer פנימי כאחסון.

    הַצהָרָה

    @frozen
    public struct ShapedArray<Scalar> : _ShapedArrayProtocol
    extension ShapedArray: RandomAccessCollection, MutableCollection
    extension ShapedArray: CustomStringConvertible
    extension ShapedArray: CustomPlaygroundDisplayConvertible
    extension ShapedArray: CustomReflectable
    extension ShapedArray: ExpressibleByArrayLiteral where Scalar: TensorFlowScalar
    extension ShapedArray: Equatable where Scalar: Equatable
    extension ShapedArray: Hashable where Scalar: Hashable
    extension ShapedArray: Codable where Scalar: Codable
  • פרוסה רציפה של מופע ShapedArray או ShapedArraySlice .

    ShapedArraySlice מאפשר פעולות מהירות ויעילות על פרוסות רצופות של מופעי ShapedArray . למופעי ShapedArraySlice אין אחסון משלהם. במקום זאת, הם מספקים מבט על האחסון של ShapedArray הבסיסי שלהם. ShapedArraySlice יכול לייצג שני סוגים שונים של פרוסות: מערכי אלמנטים ומערכים משנה.

    מערכי אלמנטים הם אלמנטים תת-ממדיים של ShapedArray : הדרגה שלהם היא אחת פחות מזו של הבסיס שלהם. פרוסות מערך אלמנטים מתקבלות על ידי אינדקס של מופע ShapedArray עם אינדקס Int32 יחיד.

    לְדוּגמָה:

        var matrix = ShapedArray(shape: [2, 2], scalars: [0, 1, 2, 3])
        // `matrix` represents [[0, 1], [2, 3]].
    
        let element = matrix[0]
        // `element` is a `ShapedArraySlice` with shape [2]. It is an element
        // array, specifically the first element in `matrix`: [0, 1].
    
        matrix[1] = ShapedArraySlice(shape: [2], scalars: [4, 8])
        // The second element in `matrix` has been mutated.
        // `matrix` now represents [[0, 1, 4, 8]].
    

    מערכי משנה הם טווח רציף של האלמנטים ב- ShapedArray . הדרגה של תת-מערך זהה לזו של הבסיס שלו, אבל הממד המוביל שלו הוא ספירת טווח הפרוסות. פרוסות תת-מערך מתקבלות על ידי אינדקס של ShapedArray עם Range<Int32> המייצג טווח של אלמנטים (במימד המוביל). שיטות כמו prefix(:) suffix(:) אשר אינדקס פנימית עם טווח מייצרות גם תת-מערך.

    לְדוּגמָה:

        let zeros = ShapedArray(repeating: 0, shape: [3, 2])
        var matrix = ShapedArray(shape: [3, 2], scalars: Array(0..<6))
        // `zeros` represents [[0, 0], [0, 0], [0, 0]].
        // `matrix` represents [[0, 1], [2, 3], [4, 5]].
    
        let subarray = matrix.prefix(2)
        // `subarray` is a `ShapedArraySlice` with shape [2, 2]. It is a slice
        // of the first 2 elements in `matrix` and represents [[0, 1], [2, 3]].
    
        matrix[0..<2] = zeros.prefix(2)
        // The first 2 elements in `matrix` have been mutated.
        // `matrix` now represents [[0, 0], [0, 0], [4, 5]].
    

    הַצהָרָה

    @frozen
    public struct ShapedArraySlice<Scalar> : _ShapedArrayProtocol
    extension ShapedArraySlice: RandomAccessCollection, MutableCollection
    extension ShapedArraySlice: CustomStringConvertible
    extension ShapedArraySlice: CustomPlaygroundDisplayConvertible
    extension ShapedArraySlice: CustomReflectable
    extension ShapedArraySlice: ExpressibleByArrayLiteral where Scalar: TensorFlowScalar
    extension ShapedArraySlice: Equatable where Scalar: Equatable
    extension ShapedArraySlice: Hashable where Scalar: Hashable
    extension ShapedArraySlice: Codable where Scalar: Codable
  • StringTensor הוא מערך רב מימדי שהאלמנטים שלו הם String s.

    הַצהָרָה

    @frozen
    public struct StringTensor
    extension StringTensor: TensorGroup
  • TensorHandle הוא הסוג המשמש את ops. הוא כולל סוג Scalar , שבו מערכות פנימיות מהדר יכולות להשתמש כדי לקבוע את סוגי הנתונים של פרמטרים כאשר הם מחולצים לתוכנית טנזור.

    הַצהָרָה

    public struct TensorHandle<Scalar> where Scalar : _TensorFlowDataTypeCompatible
    extension TensorHandle: TensorGroup
  • הַצהָרָה

    public struct ResourceHandle
    extension ResourceHandle: TensorGroup
  • הַצהָרָה

    public struct VariantHandle
    extension VariantHandle: TensorGroup
  • מבנה המייצג צורה של טנזור.

    TensorShape היא עטיפה דקה סביב מערך של מספרים שלמים המייצגים ממדי צורות. כל סוגי הטנסור משתמשים ב- TensorShape כדי לייצג את צורתם.

    הַצהָרָה

    @frozen
    public struct TensorShape : ExpressibleByArrayLiteral
    extension TensorShape: Collection, MutableCollection
    extension TensorShape: RandomAccessCollection
    extension TensorShape: RangeReplaceableCollection
    extension TensorShape: Equatable
    extension TensorShape: Codable
    extension TensorShape: CustomStringConvertible
  • TensorVisitorPlan מקרוב את [WritableKeyPath<Base, Tensor<Float>] אבל הוא יעיל יותר. זה שימושי לכתיבת מטובי אופטימיזציה גנריים שרוצים למפות את ההדרגות, את המשקלים הקיימים ואינדקס שניתן להשתמש בו כדי למצוא משקלים מאוחסנים בעזרה. זה מעט יותר יעיל (~2x) אבל זה יכול להיות טוב יותר מכיוון שהוא מחליף תקורה מעט יותר גבוהה (הפניית מצביע נוספת) על כך שלא צריך לעשות עבודת O(depth_of_tree) שנדרשת עם רשימה פשוטה כדי לעקוב אחר כל KeyPath בנפרד.

    הַצהָרָה

    public struct TensorVisitorPlan<Base>
  • שכבת upsampling עבור כניסות 1-D.

    הַצהָרָה

    @frozen
    public struct UpSampling1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת upsampling עבור כניסות דו-ממדיות.

    הַצהָרָה

    @frozen
    public struct UpSampling2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • שכבת upsampling עבור כניסות תלת מימדיות.

    הַצהָרָה

    @frozen
    public struct UpSampling3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • אוסף מוני חיזוי נכונים וסיכומי הפסד.

    הַצהָרָה

    public struct HostStatistics