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)