المنشآت

الهياكل التالية متاحة عالميًا.

  • سلسلة من تسلسلين بنفس نوع العنصر.

    تصريح

    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
  • سياق يقوم بتخزين المعلومات السياقية المحلية لسلسلة المحادثات التي تستخدمها واجهات برمجة تطبيقات التعلم العميق مثل الطبقات.

    استخدم Context.local لاسترداد سياق مؤشر الترابط المحلي الحالي.

    أمثلة:

    • قم بتعيين مرحلة التعلم الحالية على التدريب بحيث تقوم طبقات مثل BatchNorm بحساب المتوسط ​​والتباين عند تطبيقها على المدخلات.
      Context.local.learningPhase = .training
    
    • قم بتعيين مرحلة التعلم الحالية على الاستدلال بحيث لا تسقط الطبقات مثل Dropout الوحدات عند تطبيقها على المدخلات.
      Context.local.learningPhase = .inference
    

    تصريح

    public struct Context
  • طبقة الالتواء أحادية الأبعاد (على سبيل المثال الالتفاف الزمني عبر سلسلة زمنية).

    تقوم هذه الطبقة بإنشاء مرشح تلافيفي يتم دمجه مع مدخلات الطبقة لإنتاج موتر من المخرجات.

    تصريح

    @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
  • طبقة الالتواء المنقولة أحادية الأبعاد (على سبيل المثال، الالتواء المنقول مؤقتًا فوق الصور).

    تقوم هذه الطبقة بإنشاء مرشح تلافيفي يتم تبديله مع مدخلات الطبقة لإنتاج موتر من المخرجات.

    تصريح

    @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
  • طبقة تلافيفية قابلة للفصل أحادية الأبعاد.

    تقوم هذه الطبقة بإجراء التفاف عميق يعمل بشكل منفصل على القنوات متبوعًا بالتفاف نقطي يمزج القنوات.

    تصريح

    @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
  • بنية تشبه صفين تتوافق مع TensorGroup وتمثل صفًا من نوعين يتوافقان مع 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 عليه.

    تصريح

    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 بشكل جيد مع الوحدات الخطية الأسية المتدرجة عن طريق ضبط عمليات التنشيط بشكل عشوائي على قيمة التشبع السالبة.

    المصدر: الشبكات العصبية ذاتية التطبيع: 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 الفارغة للطبقات التي لا تحتوي على معلمات.

  • زوج من اللحظات الأولى والثانية (أي المتوسط ​​والتباين).

    ملحوظة

    يعد ذلك ضروريًا لأن أنواع الصف غير قابلة للتمييز.

    تصريح

    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 ومراجع الأعضاء وإعادتها منها. وهو يدعم العمليات الحسابية والمقارنة القياسية في بايثون.

    داخليًا، يتم تنفيذ 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 الذي يتيح استدعاءات الأسلوب. تنعكس الاستثناءات التي تنتجها وظائف بايثون كأخطاء سويفت ويتم طرحها.

    ملحوظة

    من المقصود أن 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.، "التشفير التطبيقي: البروتوكولات والخوارزميات وكود المصدر في لغة C"، الطبعة الثانية، 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

    يطبق هذا الهيكل Philox4x32 PRNG ذو 10 جولات. يجب أن يكون مصنفًا بقيمة 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 هو النوع الذي تستخدمه العمليات. وهو يشتمل على نوع 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(عمق_of_tree) المطلوب مع قائمة عادية لتعقب كل KeyPath على حدة.

    تصريح

    public struct TensorVisitorPlan<Base>
  • طبقة الاختزال للمدخلات 1-D.

    تصريح

    @frozen
    public struct UpSampling1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • طبقة تكبير للمدخلات ثنائية الأبعاد.

    تصريح

    @frozen
    public struct UpSampling2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • طبقة تكبير للمدخلات ثلاثية الأبعاد.

    تصريح

    @frozen
    public struct UpSampling3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
  • يجمع عدادات التنبؤ الصحيحة وإجماليات الخسارة.

    تصريح

    public struct HostStatistics