FLImaging 6.5.16.1
LearningRateSchedulerStep.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "LearningRateSchedulerBase.h"
6
7namespace FLImaging
8{
9 namespace AI
10 {
11 template <typename T>
12 class FL_EXPORT CLearningRateSchedulerStep : public CLearningRateSchedulerBase<T>
13 {
14 public:
15 CLearningRateSchedulerStep();
16 CLearningRateSchedulerStep(const CLearningRateSchedulerStep<T>& lrs);
17 CLearningRateSchedulerStep(const CLearningRateSchedulerStep<T>* pLrs);
18
19 virtual ~CLearningRateSchedulerStep();
20
21 virtual const CResult Assign(const CLearningRateSchedulerStep<T>& lrs);
22 virtual const CResult Assign(const CLearningRateSchedulerStep<T>* pLrs);
23
24 virtual const CResult Clear();
25
26 virtual const CResult SetReductionUnit(int64_t i64ReductionUnit = 10);
27 virtual int64_t GetReductionUnit() const;
28
29 virtual const CResult SetGamma(T tGamma = (T)0.5);
30 virtual T GetGamma() const;
31
32 virtual const CResult Step(T tLoss = 0) override;
33
34
35 DeclareGetClassType();
36 SupportToDuplicateObject(CLearningRateSchedulerStep<T>, *this);
37
38 protected:
39 int64_t m_i64ReductionUnit;
40 T m_tGamma;
41 };
42
43
44 typedef CLearningRateSchedulerStep<float> CLearningRateSchedulerStepF;
45 typedef CLearningRateSchedulerStep<double> CLearningRateSchedulerStepD;
46
47 typedef CLearningRateSchedulerStep<float> CLRSStepF;
48 typedef CLearningRateSchedulerStep<double> CLRSStepD;
49
50 template <typename T>
51 using CLRSStep = CLearningRateSchedulerStep<T>;
52
53 }
54}
55
56#endif
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
@ Clear
Clear all the figure objects.