3#if _MSC_VER >= 1900 && defined(_M_X64)
5#include "LearningRateSchedulerBase.h"
14 class FL_EXPORT CLearningRateSchedulerLambda :
public CLearningRateSchedulerBase<T>
19 EOperationMode_Normal = 0,
20 EOperationMode_Accumulate
23 CLearningRateSchedulerLambda();
24 CLearningRateSchedulerLambda(
const CLearningRateSchedulerLambda<T>& lrs);
25 CLearningRateSchedulerLambda(
const CLearningRateSchedulerLambda<T>* pLrs);
27 virtual ~CLearningRateSchedulerLambda();
29 virtual const CResult
Assign(
const CLearningRateSchedulerLambda<T>& lrs);
30 virtual const CResult
Assign(
const CLearningRateSchedulerLambda<T>* pLrs);
32 virtual const CResult
Clear();
33 virtual const CResult Initialize()
override;
35 virtual const CResult SetLambda(std::function<T(T, int64_t)>& funcLambda);
36 virtual const std::function<T(T, int64_t)>* GetLambda()
const;
38 virtual const CResult SetOperationMode(EOperationMode eOperationMode = EOperationMode_Normal);
39 virtual EOperationMode GetOperationMode()
const;
41 virtual const CResult Step(T tLoss = 0)
override;
44 DeclareGetClassType();
45 SupportToDuplicateObject(CLearningRateSchedulerLambda<T>, *
this);
48 std::function<T(T, int64_t)>* m_pFuncLambda;
49 EOperationMode m_eOperationMode;
53 typedef CLearningRateSchedulerLambda<float> CLearningRateSchedulerLambdaF;
54 typedef CLearningRateSchedulerLambda<double> CLearningRateSchedulerLambdaD;
56 typedef CLearningRateSchedulerLambda<float> CLRSLambdaF;
57 typedef CLearningRateSchedulerLambda<double> CLRSLambdaD;
60 using CLRSLambda = CLearningRateSchedulerLambda<T>;
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
@ Clear
Clear all the figure objects.