public class GeneralOptimizer<Model: EuclideanDifferentiable>: Optimizer
where
Model.TangentVector: VectorProtocol & ElementaryFunctions & KeyPathIterable,
Model.TangentVector.VectorSpaceScalar == Float
เครื่องมือเพิ่มประสิทธิภาพทั่วไปที่ควรสามารถแสดงการเพิ่มประสิทธิภาพที่เป็นไปได้หลายประการ เครื่องมือเพิ่มประสิทธิภาพประกอบด้วยการแมปจาก ParameterGroup ไปยัง ParameterGroupOptimizer เครื่องมือเพิ่มประสิทธิภาพนี้ยังมีจำนวนองค์ประกอบที่ทำงานในผลรวมของแบบจำลองข้าม นี่เป็นเพื่อประสิทธิภาพในการป้องกันการวนซ้ำที่ไม่มีประสิทธิภาพหลายครั้งในการไล่ระดับสี
คำประกาศ
public typealias Model = Model
ชุดขั้นตอนที่ดำเนินการ
คำประกาศ
public var step: Int
ใช้เพื่อกำหนดปัจจัยสเกลของผลรวมการจำลองข้าม
คำประกาศ
public var crossReplicaSumCount: Int?
สถานะเครื่องมือเพิ่มประสิทธิภาพระดับโลก
คำประกาศ
public var optimizerState: OptimizerState
อุปกรณ์ปัจจุบันของรุ่น (ใช้สำหรับสร้างไฮเปอร์พารามิเตอร์)
คำประกาศ
public var device: Device
การแมปอาร์เรย์ดัชนีน้ำหนักที่ซ้อนกันกับเครื่องมือเพิ่มประสิทธิภาพกลุ่มพารามิเตอร์? น้ำหนักที่ฉันจะได้รับการปรับให้เหมาะสมโดย
parameterGroups[parameterGroupIndices[i]]
คำประกาศ
public var parameterGroupIndices: [Int]
อาร์เรย์ของเครื่องมือเพิ่มประสิทธิภาพกลุ่มพารามิเตอร์
คำประกาศ
public var parameterGroups: [ParameterGroupOptimizer]
อัตราการเรียนรู้โดยรวมของเครื่องมือเพิ่มประสิทธิภาพ
คำประกาศ
public var learningRate: Float { get set }
อัตราการเรียนรู้ของเครื่องมือเพิ่มประสิทธิภาพกลุ่มต่อพารามิเตอร์
คำประกาศ
public var learningRates: [Float] { get set }
สร้างเครื่องมือเพิ่มประสิทธิภาพจากรายการเครื่องมือเพิ่มประสิทธิภาพกลุ่มพารามิเตอร์และตัวเลือกที่แบ่งน้ำหนักออกเป็นกลุ่มพารามิเตอร์ต่างๆ นี่เป็นตัวสร้างทั่วไปที่สุด เนื่องจากมีหลายวิธีในการสร้างเวกเตอร์ตัวเลือกนี้
คำประกาศ
public init( for model: __shared Model, _ kpPlan: TensorVisitorPlan<Model.TangentVector>, parameterGroupIndices: [Int], parameterGroups: [ParameterGroupOptimizer] )
สร้างเครื่องมือเพิ่มประสิทธิภาพจากลำดับของเครื่องมือเพิ่มประสิทธิภาพกลุ่มต่อพารามิเตอร์ จากนั้นจึงสร้างเครื่องมือเพิ่มประสิทธิภาพกลุ่มพารามิเตอร์เริ่มต้นขั้นสุดท้าย อาร์เรย์
[Bool]
เป็นค่าต่อน้ำหนักและเป็นค่าจริงสำหรับน้ำหนักในกลุ่มพารามิเตอร์นั้น กลุ่มพารามิเตอร์แรกจะถูกนำมาใช้กับกลุ่มที่ตามมาคำประกาศ
public convenience init( for model: __shared Model, _ kpPlan: TensorVisitorPlan<Model.TangentVector>, parameterGroups: ([Bool], ParameterGroupOptimizer)..., defaultOptimizer: ParameterGroupOptimizer )
คัดลอกเครื่องมือเพิ่มประสิทธิภาพไปยังอุปกรณ์ที่ระบุ
คำประกาศ
public required init(copying other: GeneralOptimizer, to device: Device)