public class GeneralOptimizer<Model: EuclideanDifferentiable>: Optimizer
where
Model.TangentVector: VectorProtocol & ElementaryFunctions & KeyPathIterable,
Model.TangentVector.VectorSpaceScalar == Float
Trình tối ưu hóa chung có thể thể hiện nhiều tối ưu hóa có thể. Trình tối ưu hóa bao gồm ánh xạ từ ParameterGroup đến ParameterGroupOptimizer. Trình tối ưu hóa này cũng chứa số lượng phần tử hoạt động trong tổng bản sao chéo. Điều này mang lại hiệu quả trong việc ngăn chặn nhiều lần lặp lại không hiệu quả trên gradient.
Tuyên ngôn
public typealias Model = Model
Tập hợp các bước được thực hiện.
Tuyên ngôn
public var step: Int
Được sử dụng để xác định hệ số tỷ lệ của tổng bản sao chéo.
Tuyên ngôn
public var crossReplicaSumCount: Int?
trạng thái tối ưu hóa toàn cầu.
Tuyên ngôn
public var optimizerState: OptimizerState
Thiết bị hiện tại của mô hình. (Được sử dụng để xây dựng siêu tham số)
Tuyên ngôn
public var device: Device
Một mảng ánh xạ các chỉ số trọng số lồng nhau tới trình tối ưu hóa nhóm tham số? Trọng lượng tôi sẽ được tối ưu hóa bởi
parameterGroups[parameterGroupIndices[i]]
Tuyên ngôn
public var parameterGroupIndices: [Int]
Một loạt các trình tối ưu hóa nhóm tham số.
Tuyên ngôn
public var parameterGroups: [ParameterGroupOptimizer]
Tốc độ học tập tổng thể của trình tối ưu hóa.
Tuyên ngôn
public var learningRate: Float { get set }
Tỷ lệ học tập tối ưu hóa nhóm trên mỗi tham số.
Tuyên ngôn
public var learningRates: [Float] { get set }
Xây dựng trình tối ưu hóa từ danh sách trình tối ưu hóa nhóm tham số và bộ chọn chia trọng số thành các nhóm tham số khác nhau. Đây là hàm tạo tổng quát nhất vì có nhiều cách để tạo vectơ chọn này.
Tuyên ngôn
public init( for model: __shared Model, _ kpPlan: TensorVisitorPlan<Model.TangentVector>, parameterGroupIndices: [Int], parameterGroups: [ParameterGroupOptimizer] )
Xây dựng trình tối ưu hóa từ một chuỗi các trình tối ưu hóa nhóm cho mỗi tham số và sau đó là trình tối ưu hóa nhóm tham số mặc định cuối cùng. Mảng
[Bool]
tính theo trọng số và đúng với các trọng số trong nhóm thông số đó. Nhóm tham số đầu tiên sẽ được sử dụng cho các tham số tiếp theo.Tuyên ngôn
public convenience init( for model: __shared Model, _ kpPlan: TensorVisitorPlan<Model.TangentVector>, parameterGroups: ([Bool], ParameterGroupOptimizer)..., defaultOptimizer: ParameterGroupOptimizer )
Sao chép trình tối ưu hóa vào thiết bị được chỉ định.
Tuyên ngôn
public required init(copying other: GeneralOptimizer, to device: Device)