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
מערך מיפוי מדדי משקל מקוננים למיטובי קבוצות פרמטרים? משקל i יעבור אופטימיזציה על ידי
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)