แผนผู้เยี่ยมชมเทนเซอร์

public struct TensorVisitorPlan<Base>

TensorVisitorPlan ประมาณ [WritableKeyPath<Base, Tensor<Float>] แต่มีประสิทธิภาพมากกว่า สิ่งนี้มีประโยชน์สำหรับการเขียนเครื่องมือเพิ่มประสิทธิภาพทั่วไปที่ต้องการแมปกับการไล่ระดับสี น้ำหนักที่มีอยู่ และดัชนีที่สามารถใช้เพื่อค้นหาน้ำหนักที่เก็บไว้เสริม สิ่งนี้มีประสิทธิภาพมากกว่าเล็กน้อย (~ 2x) แต่อาจจะดีกว่าเพราะมันแลกกับค่าโสหุ้ยที่สูงขึ้นเล็กน้อย (การอ้างอิงตัวชี้เพิ่มเติม) โดยที่ไม่ต้องทำงาน O(deep_of_tree) ที่จำเป็นสำหรับรายการธรรมดาเพื่อติดตาม KeyPath แต่ละรายการ

  • เรียบเรียงแผนเป็น [WritableKeyPath<Base, Tensor<Float>] เดียว

    คำประกาศ

    public var allTensorKeyPaths: [WritableKeyPath<Base, Tensor<Float>>] { get }
  • รวบรวมเทนเซอร์ทั้งหมดอย่างมีประสิทธิภาพ

    คำประกาศ

    public func allTensors(_ v: Base) -> [Tensor<Float>]
  • แมปค่าประเภท Base สองค่าอย่างมีประสิทธิภาพ และใช้ฟังก์ชันการแมป ส่งกลับจำนวนเทนเซอร์ อาร์กิวเมนต์ Int เพิ่มเติมมีไว้เพื่อให้สามารถจัดทำดัชนีลงในรายการเสริมของเทนเซอร์ที่นับเทนเซอร์เดียวกันกับแผน

    คำประกาศ

    @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
  • ค้นหาดัชนีของเส้นทางคีย์แรกที่เริ่มต้นด้วยคำนำหน้าเฉพาะ หมายเหตุ: เลเยอร์อาเรย์ทั้งหมดรองรับการจัดทำดัชนีแบบ 1 ที่ผ่านมาถึงจุดสิ้นสุด

    คำประกาศ

    func firstIndex<T>(withPrefix prefix: WritableKeyPath<Base, T>) -> Int
  • ค้นหาดัชนีคีย์ทั้งหมดในช่วงที่กำหนดโดยคำนำหน้า KeyPath สองคำ: [ล่าง, บน)

    คำประกาศ

    public func allKeysBetween<T, U>(lower: WritableKeyPath<Base, T>, upper: WritableKeyPath<Base, U>)
      -> [Bool]
มีจำหน่ายที่ `ฐาน`: `KeyPathIterable`
  • สร้างแผนเพื่อเยี่ยมชมเทนเซอร์ทั้งหมดในกรณีเฉพาะของ Base แผนนี้สามารถโอนไปยังเวอร์ชัน Base ที่เทียบเท่าเชิงโครงสร้างได้

    คำประกาศ

    public init(_ obj: Base)