3#if _MSC_VER >= 1900 && defined(_M_X64)
10 class FL_EXPORT CLearningRateSchedulerBase :
public Base::CFLBase
13 CLearningRateSchedulerBase();
14 CLearningRateSchedulerBase(
const CLearningRateSchedulerBase<T>& lrs);
15 CLearningRateSchedulerBase(
const CLearningRateSchedulerBase<T>* pLrs);
17 virtual ~CLearningRateSchedulerBase();
19 virtual const CResult
Assign(
const CLearningRateSchedulerBase<T>& lrs);
20 virtual const CResult
Assign(
const CLearningRateSchedulerBase<T>* pLrs);
22 virtual const CResult
Clear();
23 virtual const CResult Initialize();
25 virtual const CResult SetBurnInBatchIteration(int64_t i64BurnInBatchIteration);
26 virtual int64_t GetBurnInBatchIteration()
const;
27 virtual const CResult AddBatchIteration(int64_t i64BatchCount);
28 virtual bool IsBurnIn()
const;
30 virtual const CResult SetLearningRate(T tLearningRate = 1e-3);
31 virtual T GetLearningRate()
const;
32 virtual T GetCurrentLearningRate()
const;
34 virtual const CResult Step(T tLoss = 0) = 0;
37 DeclareGetClassType();
38 SupportToDuplicateAbstractObject(CLearningRateSchedulerBase<T>);
41 virtual void Throw(
const CResult& res,
const wchar_t* pWcsExtraMessage =
nullptr)
const override;
44 int64_t m_i64CurrentBatchIteration;
45 int64_t m_i64BurnInBatchIteration;
46 int64_t m_i64CurrentSteps;
48 T m_tCurrentLearingRate;
49 T m_tOriginLearningRate;
54 typedef CLearningRateSchedulerBase<float> CLearningRateSchedulerBaseF;
55 typedef CLearningRateSchedulerBase<double> CLearningRateSchedulerBaseD;
57 typedef CLearningRateSchedulerBase<float> CLRSBaseF;
58 typedef CLearningRateSchedulerBase<double> CLRSBaseD;
61 using CLRSBase = CLearningRateSchedulerBase<T>;
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
@ Clear
Clear all the figure objects.