3#if _MSC_VER >= 1900 && defined(_M_X64)
5#include "LearningRateSchedulerBase.h"
12 class FL_EXPORT CLearningRateSchedulerMultiStep :
public CLearningRateSchedulerBase<T>
17 EMilestoneMode_Unit = 0,
21 CLearningRateSchedulerMultiStep();
22 CLearningRateSchedulerMultiStep(
const CLearningRateSchedulerMultiStep<T>& lrs);
23 CLearningRateSchedulerMultiStep(
const CLearningRateSchedulerMultiStep<T>* pLrs);
25 virtual ~CLearningRateSchedulerMultiStep();
27 virtual const CResult
Assign(
const CLearningRateSchedulerMultiStep<T>& lrs);
28 virtual const CResult
Assign(
const CLearningRateSchedulerMultiStep<T>* pLrs);
30 virtual const CResult
Clear();
31 virtual const CResult Initialize()
override;
33 virtual const CResult SetMilestoneMode(EMilestoneMode eMilestoneMode = EMilestoneMode_Unit);
34 virtual EMilestoneMode GetMilestoneMode()
const;
36 virtual const CResult SetMilestones(
const std::vector<T>& vctMilestones);
37 virtual const std::vector<T>& GetMilestones()
const;
39 virtual const CResult SetGamma(T tGamma = (T)0.5);
40 virtual T GetGamma()
const;
42 virtual const CResult Step(T tLoss = 0)
override;
44 virtual const CResult ConvertMilestoneToMilestoneUnit(int64_t i64TotalCount = 0);
47 DeclareGetClassType();
48 SupportToDuplicateObject(CLearningRateSchedulerMultiStep<T>, *
this);
51 EMilestoneMode m_eMilestoneMode;
52 std::vector<T>& m_vctMilestones;
53 std::vector<int64_t>& m_vctActualMilestonesUnit;
55 int64_t m_i64CurrentIndex;
59 typedef CLearningRateSchedulerMultiStep<float> CLearningRateSchedulerMultiStepF;
60 typedef CLearningRateSchedulerMultiStep<double> CLearningRateSchedulerMultiStepD;
62 typedef CLearningRateSchedulerMultiStep<float> CLRSMultiStepF;
63 typedef CLearningRateSchedulerMultiStep<double> CLRSMultiStepD;
66 using CLRSMultiStep = CLearningRateSchedulerMultiStep<T>;
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
@ Clear
Clear all the figure objects.