FLImaging 6.5.16.1
InternalOptimizerGradientDescent.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "InternalOptimizerBase.h"
6
7namespace FLImaging
8{
9 namespace AI
10 {
11 template <typename T>
12 class FL_EXPORT CInternalOptimizerGradientDescent : public CInternalOptimizerBase<T>
13 {
14 public:
15 CInternalOptimizerGradientDescent();
16 CInternalOptimizerGradientDescent(const CInternalOptimizerGradientDescent<T>& ob);
17
18 virtual ~CInternalOptimizerGradientDescent();
19
20 virtual const CResult Assign(const CInternalOptimizerGradientDescent<T>& ob);
21 virtual const CResult Assign(const CInternalOptimizerGradientDescent<T>* pOb);
22
23 virtual CInternalOptimizerBase<T>* Clone() const override;
24
25 virtual const CResult Initialize() override;
26
27 virtual const CResult Fit(T* pClippingThreshold = nullptr, int32_t* pI32IterationFeedbackFeedback = nullptr) override;
28
29 virtual const CResult SetWeightDecay(T tWeightDecay);
30 virtual T GetWeightDecay() const;
31
32 virtual const CResult SetMaximized(bool bMaximized);
33 virtual bool GetMaximized() const;
34
35 virtual const CResult UpdateWeights() override;
36
37 DeclareGetClassType();
38
39 protected:
40 T m_tWeightDecay;
41 bool m_bMaximized;
42 };
43
44 typedef CInternalOptimizerGradientDescent<float> CInternalOptimizerGradientDescentF;
45 typedef CInternalOptimizerGradientDescent<double> CInternalOptimizerGradientDescentD;
46
47 typedef CInternalOptimizerGradientDescent<float> CInternalOptimizerGDF;
48 typedef CInternalOptimizerGradientDescent<double> CInternalOptimizerGDD;
49
50 template <typename T>
51 using CInternalOptimizerGD = CInternalOptimizerGradientDescent<T>;
52 }
53}
54
55#endif
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.