FLImaging 6.5.16.1
InternalOptimizerSpecAdamGradientDescent.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "InternalOptimizerSpecMomentumGradientDescent.h"
6#include "InternalOptimizerSpecRMSPropGradientDescent.h"
7
8namespace FLImaging
9{
10 namespace AI
11 {
12 template <typename T>
13 class FL_EXPORT CInternalOptimizerSpecAdamGradientDescent : public CInternalOptimizerSpecMomentumGradientDescent<T>, public CInternalOptimizerSpecRMSPropGradientDescent<T>
14 {
15 public:
16 CInternalOptimizerSpecAdamGradientDescent();
17 CInternalOptimizerSpecAdamGradientDescent(const CInternalOptimizerSpecAdamGradientDescent<T>& osb);
18 CInternalOptimizerSpecAdamGradientDescent(const CInternalOptimizerSpecAdamGradientDescent<T>* pOsb);
19
20 virtual ~CInternalOptimizerSpecAdamGradientDescent();
21
22 virtual const CResult Assign(const CInternalOptimizerSpecAdamGradientDescent<T>& osb);
23 virtual const CResult Assign(const CInternalOptimizerSpecAdamGradientDescent<T>* pOsb);
24
25 virtual CInternalOptimizerSpecBase<T>* Clone() const 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 DeclareGetClassType();
34 protected:
35 T& m_tBeta1;
36 T& m_tBeta2;
37
38 private:
39 using CInternalOptimizerSpecMomentumGradientDescent<T>::GetAlpha;
40 using CInternalOptimizerSpecMomentumGradientDescent<T>::SetAlpha;
41
42 using CInternalOptimizerSpecRMSPropGradientDescent<T>::GetRho;
43 using CInternalOptimizerSpecRMSPropGradientDescent<T>::SetRho;
44 };
45 }
46}
47#endif
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.