Decay schedule API reference
ParameterSchedulers.Exp
— TypeExp{T}(start, decay)
Exp(; start, decay)
A exponential decay schedule at rate decay
. The output conforms to
start * decay^{t - 1}
Arguments:
start
: the base valuedecay
: the decay rate
ParameterSchedulers.Inv
— TypeInv{T, S<:Integer}(start, decay, degree)
Inv(; start, decay, degree)
A decay schedule that inversely decays with rate decay
. The output conforms to
start / (1 + (t - 1) * decay)^degree
Arguments
start
: the base valuedecay
: the decay ratedegree::Integer
: the degree of decay
ParameterSchedulers.Poly
— TypePoly{T, S<:Integer}(start, degree, max_iter)
Poly(; start, degree, max_iter)
A polynomial schedule decays with degree degree
. The output conforms to
start / (1 - (t - 1) / max_iter)^degree
Arguments
start
: the base valuedegree::Integer
: the degree of the polynomialmax_iter::Integer
: the total number of iterations
ParameterSchedulers.Step
— TypeStep{T, S<:Integer}(start, decay, step_sizes)
Step(; start, decay, step_sizes)
A step schedule decays exponentially by decay
every step in step_sizes
. The output conforms to
start * decay^{i - 1}
where sum(step_sizes[1:(i - 1)]) < t <= sum(step_sizes[1:i])
Arguments
start
: the starting valuedecay
: the decay ratestep_sizes::Union{<:Integer, <:Vector}
: the step sizes