TensorVisitorPlan

public struct TensorVisitorPlan<Base>

TensorVisitorPlan يقارب [WritableKeyPath<Base, Tensor<Float>] ولكنه أكثر كفاءة. يعد هذا مفيدًا لكتابة أدوات التحسين العامة التي ترغب في تعيين التدرجات والأوزان الموجودة والفهرس الذي يمكن استخدامه للعثور على الأوزان المخزنة بشكل مساعد. يعد هذا أكثر كفاءة قليلاً (~ 2x) ولكنه قد يكون أفضل لأنه يستبدل النفقات العامة الأعلى قليلاً (إلغاء مرجعية المؤشر الإضافية) لعدم الاضطرار إلى القيام بعمل O(عمق_of_tree) المطلوب مع قائمة عادية لتعقب كل KeyPath على حدة.

  • قم بتسوية الخطة كخطة واحدة [WritableKeyPath<Base, Tensor<Float>] .

    تصريح

    public var allTensorKeyPaths: [WritableKeyPath<Base, Tensor<Float>>] { get }
  • جمع كافة الموترات بكفاءة.

    تصريح

    public func allTensors(_ v: Base) -> [Tensor<Float>]
  • قم بتعيين قيمتين من النوع Base بكفاءة وقم بتطبيق وظيفة التعيين. إرجاع عدد الموترات. يتم توفير وسيطة Int الإضافية للسماح بالفهرسة في قائمة مساعدة من Tensors بنفس عدد Tensor مثل الخطة.

    تصريح

    @discardableResult
    public func mapTensors(
      _ v1: inout Base, _ v2: Base, _ fn: (inout Tensor<Float>, Tensor<Float>, Int) -> Void
    ) -> Int
  • تصريح

    func populateMask<Base>(_ mask: inout [Bool], _ kp: WritableKeyPath<Base, Tensor<Float>>)
  • ابحث عن جميع المفاتيح التي تنتهي بمسار مفتاح معين.

    تصريح

    public func keysEnding<Base>(with kp: WritableKeyPath<Base, Tensor<Float>>) -> [Bool]
  • تصريح

    func findFirstIndex<TrueBase, T>(
      _ rootKeyPath: WritableKeyPath<TrueBase, Base>,
      _ prefix: WritableKeyPath<TrueBase, T>, _ i: inout Int
    ) -> Bool
  • ابحث عن فهرس مسار المفاتيح الأول الذي يبدأ ببادئة معينة. ملاحظة: تدعم جميع طبقات المصفوفة فهرسة واحدة بعد النهاية.

    تصريح

    func firstIndex<T>(withPrefix prefix: WritableKeyPath<Base, T>) -> Int
  • ابحث عن جميع مؤشرات المفاتيح في نطاق محدد بواسطة بادئتين KeyPath: [سفلية، علوية)

    تصريح

    public func allKeysBetween<T, U>(lower: WritableKeyPath<Base, T>, upper: WritableKeyPath<Base, U>)
      -> [Bool]
متاح حيث `Base`: `KeyPathIterable`
  • ينشئ خطة لزيارة جميع الموترات في مثيل معين من Base . هذه الخطة قابلة للتحويل إلى إصدارات مكافئة هيكليًا من Base.

    تصريح

    public init(_ obj: Base)