3#if _MSC_VER >= 1900 && defined(_M_X64)
5#include "LearningRateSchedulerBase.h"
12 class FL_EXPORT CLearningRateSchedulerReduceOnPlateau :
public CLearningRateSchedulerBase<T>
17 ESchedulerMode_Min= 0,
21 enum EDynamicThresholdMode
23 EDynamicThresholdMode_None = 0,
24 EDynamicThresholdMode_Relative,
25 EDynamicThresholdMode_Absolute,
28 CLearningRateSchedulerReduceOnPlateau();
29 CLearningRateSchedulerReduceOnPlateau(
const CLearningRateSchedulerReduceOnPlateau<T>& lrs);
30 CLearningRateSchedulerReduceOnPlateau(
const CLearningRateSchedulerReduceOnPlateau<T>* pLrs);
32 virtual ~CLearningRateSchedulerReduceOnPlateau();
34 virtual const CResult
Assign(
const CLearningRateSchedulerReduceOnPlateau<T>& lrs);
35 virtual const CResult
Assign(
const CLearningRateSchedulerReduceOnPlateau<T>* pLrs);
37 virtual const CResult
Clear();
38 virtual const CResult Initialize()
override;
41 virtual const CResult SetMinLearningRate(T tMinLearningRate = 0);
42 virtual T GetMinLearningRate()
const;
44 virtual const CResult SetGamma(T tGamma = (T)0.1);
45 virtual T GetGamma()
const;
47 virtual const CResult SetPatience(int64_t i64Patience = 0);
48 virtual int64_t GetPatience()
const;
50 virtual const CResult SetCoolDown(int64_t i64CoolDown = 0);
51 virtual int64_t GetCoolDown()
const;
53 virtual const CResult SetSchedulerMode(ESchedulerMode eSchedulerMode = ESchedulerMode_Min);
54 virtual ESchedulerMode GetSchedulerMode()
const;
56 virtual const CResult SetThreshold(T tThreshold = 0);
57 virtual T GetThreshold()
const;
59 virtual const CResult SetThresholdMode(EDynamicThresholdMode eDynamicThresholdMode = EDynamicThresholdMode_Absolute);
60 virtual EDynamicThresholdMode GetThresholdMode()
const;
62 virtual const CResult SetEpsilon(T tEpsilon = FL_EPSILON_FLOAT);
63 virtual T GetEpsilon()
const;
65 virtual const CResult Step(T tLoss = 0)
override;
68 DeclareGetClassType();
69 SupportToDuplicateObject(CLearningRateSchedulerReduceOnPlateau<T>, *
this);
74 int64_t m_i64Patience;
75 int64_t m_i64CoolDown;
76 ESchedulerMode m_eSchedulerMode;
78 EDynamicThresholdMode m_eDynamicThresholdMode;
83 int64_t m_i64CurrentPatienceCount;
84 int64_t m_i64CurrentCoolDownCount;
88 typedef CLearningRateSchedulerReduceOnPlateau<float> CLearningRateSchedulerReduceOnPlateauF;
89 typedef CLearningRateSchedulerReduceOnPlateau<double> CLearningRateSchedulerReduceOnPlateauD;
91 typedef CLearningRateSchedulerReduceOnPlateau<float> CLRSReduceOnPlateauF;
92 typedef CLearningRateSchedulerReduceOnPlateau<double> CLRSReduceOnPlateauD;
95 using CLRSReduceOnPlateau = CLearningRateSchedulerReduceOnPlateau<T>;
Definition AlgorithmAIBase.h:16
@ Assign
CGUIPropertyItemView3DFigure 의 값을 해당 도형으로 설정하는 함수
Definition DefinitionsGUIView3D.h:2732
@ Clear
도형 정리 메뉴
Definition DefinitionsGUI.h:2058