public struct ParameterGroupOptimizerBuilder
Xây dựng một ParameterGroupOptimizer
. Điều này về cơ bản được sử dụng ở cấp độ của một trọng lượng duy nhất trong mô hình. Ánh xạ từ các nhóm tham số được chọn bởi ( [Bool]
tới ParameterGroupOptimizer) xác định trình tối ưu hóa cuối cùng.
Tuyên ngôn
public init()
Tuyên ngôn
public mutating mutating func makeParameter(_ name: String, _ value: Float) -> GlobalAccessor
Tuyên ngôn
public subscript(global: GlobalAccessor) -> Float { get }
Tuyên ngôn
public subscript(state name: String) -> StateAccessor { mutating get }
Tuyên ngôn
public subscript(local name: String) -> LocalAccessor { mutating get }
Thêm một cuộc gọi lại vào danh sách các cuộc gọi lại.
Tuyên ngôn
public mutating mutating func appendCallback(_ cb: @escaping OptimizerCallback)
Trả về trình tối ưu hóa và xóa trình tạo.
Tuyên ngôn
public mutating mutating func makeOptimizer() -> ParameterGroupOptimizer
Áp dụng sgdStep có động lượng để tối ưu hóa nhóm tham số hiện tại.
Tuyên ngôn
public mutating func sgdStep( nesterov: Bool, mom: GlobalAccessor, lr: GlobalAccessor, velocity: StateAccessor )
Tính toán clippedTrustRatio (được sử dụng trong LARS).
Tuyên ngôn
public mutating func clippedTrustRatio( trustCoefficient: GlobalAccessor, epsilon: GlobalAccessor, weightDecay: GlobalAccessor ) -> LocalAccessor
Chia tỷ lệ độ dốc theo tỷ lệ tin cậy (được sử dụng trong LARS).
Tuyên ngôn
public mutating mutating func scaleGradByTrustRatio(trustRatio: LocalAccessor)
Áp dụng tỷ lệ giảm dần trọng lượng cho gradient.
Tuyên ngôn
public mutating mutating func scaleGradient(byWeightDecay weightDecay: GlobalAccessor)
Tính toán lại tham số vận tốc dựa trên gradient mới (được chia tỷ lệ theo tốc độ học).
Tuyên ngôn
public mutating func updateVelocity( mom: GlobalAccessor, lr: GlobalAccessor, velocity: StateAccessor )