FLImaging 7.8.25.3
InternalOptimizerLionGradientDescent.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "InternalOptimizerMomentumGradientDescent.h"
6
7namespace FLImaging
8{
9 namespace AI
10 {
11 template <typename T>
12 class FL_EXPORT CInternalOptimizerLionGradientDescent : public CInternalOptimizerMomentumGradientDescent<T>
13 {
14 public:
15 CInternalOptimizerLionGradientDescent();
16 CInternalOptimizerLionGradientDescent(const CInternalOptimizerLionGradientDescent<T>& ob);
17
18 virtual ~CInternalOptimizerLionGradientDescent();
19
20 virtual const CResult Assign(const CInternalOptimizerLionGradientDescent<T>& ob);
21 virtual const CResult Assign(const CInternalOptimizerLionGradientDescent<T>* pOb);
22
23 virtual CInternalOptimizerBase<T>* Clone() const override;
24
25 virtual const CResult Initialize() override;
26
27 virtual const CResult SetBeta1(T tBeta1);
28 virtual T GetBeta1() const;
29
30 virtual const CResult SetBeta2(T tBeta2);
31 virtual T GetBeta2() const;
32
33 virtual const CResult UpdateWeights() override;
34
35
36 DeclareGetClassType();
37
38 protected:
39
40 T& m_tBeta1;
41 T m_tBeta2;
42
43 private:
44
45 using CInternalOptimizerMomentumGradientDescent<T>::GetAlpha;
46 using CInternalOptimizerMomentumGradientDescent<T>::SetAlpha;
47 };
48
49
50 typedef CInternalOptimizerLionGradientDescent<float> CInternalOptimizerLionGradientDescentF;
51 typedef CInternalOptimizerLionGradientDescent<double> CInternalOptimizerLionGradientDescentD;
52
53 typedef CInternalOptimizerLionGradientDescent<float> CInternalOptimizerLionGDF;
54 typedef CInternalOptimizerLionGradientDescent<double> CInternalOptimizerLionGDD;
55
56 template <typename T>
57 using CInternalOptimizerLionGD = CInternalOptimizerLionGradientDescent<T>;
58 }
59}
60
61#endif
Definition AlgorithmAIBase.h:18
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
Definition DefinitionsGUIView3D.h:3531