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]
بر وزن است و برای وزن های آن گروه پارامتر صادق است. اولین ParameterGroup بر روی پارامترهای بعدی استفاده خواهد شد.اعلام
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)