public class GeneralOptimizer<Model: EuclideanDifferentiable>: Optimizer
where
Model.TangentVector: VectorProtocol & ElementaryFunctions & KeyPathIterable,
Model.TangentVector.VectorSpaceScalar == Float
सामान्य अनुकूलक जो अनेक संभावित अनुकूलनों को व्यक्त करने में सक्षम होना चाहिए। ऑप्टिमाइज़र पैरामीटरग्रुप से पैरामीटरग्रुपऑप्टिमाइज़र तक मैपिंग से बना है। इस ऑप्टिमाइज़र में क्रॉस रेप्लिका योग में काम करने वाले तत्वों की संख्या भी शामिल है। यह ग्रेडिएंट पर एकाधिक अकुशल पुनरावृत्तियों को रोकने की दक्षता के लिए है।
घोषणा
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)