public struct ParameterGroupOptimizerBuilder
ParameterGroupOptimizer
を構築します。これは、基本的にモデル内の単一の重みのレベルで使用されます。 ( [Bool]
から ParameterGroupOptimizer) によって選択されたパラメーター グループからのマッピングによって、最終的なオプティマイザーが定義されます。
宣言
public init()
宣言
public mutating mutating func makeParameter(_ name: String, _ value: Float) -> GlobalAccessor
宣言
public subscript(global: GlobalAccessor) -> Float { get }
宣言
public subscript(state name: String) -> StateAccessor { mutating get }
宣言
public subscript(local name: String) -> LocalAccessor { mutating get }
コールバックをコールバックのリストに追加します。
宣言
public mutating mutating func appendCallback(_ cb: @escaping OptimizerCallback)
オプティマイザを返し、ビルダーをクリアします。
宣言
public mutating mutating func makeOptimizer() -> ParameterGroupOptimizer
勢いのある sgdStep を現在のパラメーター グループの最適化に適用します。
宣言
public mutating func sgdStep( nesterov: Bool, mom: GlobalAccessor, lr: GlobalAccessor, velocity: StateAccessor )
ClippedTrustRatio (LARS で使用) を計算します。
宣言
public mutating func clippedTrustRatio( trustCoefficient: GlobalAccessor, epsilon: GlobalAccessor, weightDecay: GlobalAccessor ) -> LocalAccessor
trustRatio (LARS で使用) によって勾配をスケーリングします。
宣言
public mutating mutating func scaleGradByTrustRatio(trustRatio: LocalAccessor)
ウェイト減衰スケーリングをグラデーションに適用します。
宣言
public mutating mutating func scaleGradient(byWeightDecay weightDecay: GlobalAccessor)
新しい勾配 (学習率によってスケール) に基づいて速度パラメーターを再計算します。
宣言
public mutating func updateVelocity( mom: GlobalAccessor, lr: GlobalAccessor, velocity: StateAccessor )