FLImaging 7.10.21.1
InternalOptimizerMuonGradientDescent.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "InternalOptimizerAdamWGradientDescent.h"
6
7namespace FLImaging
8{
9 namespace AI
10 {
11 template <typename T>
12 class FL_EXPORT CInternalOptimizerMuonGradientDescent : public CInternalOptimizerAdamWGradientDescent<T>
13 {
14 public:
15 CInternalOptimizerMuonGradientDescent();
16 CInternalOptimizerMuonGradientDescent(const CInternalOptimizerMuonGradientDescent<T>& ob);
17
18 virtual ~CInternalOptimizerMuonGradientDescent();
19
20 virtual const CResult Assign(const CInternalOptimizerMuonGradientDescent<T>& ob);
21 virtual const CResult Assign(const CInternalOptimizerMuonGradientDescent<T>* pOb);
22
23 virtual CInternalOptimizerBase<T>* Clone() const override;
24
25 virtual const CResult UpdateWeights() override;
26
27 virtual int64_t GetRequiredDedicatedMemory(int64_t i64BatchSize) const override;
28
29
30 DeclareGetClassType();
31
32 protected:
33
34 virtual void CreateCumulativeGradients();
35 };
36
37
38 typedef CInternalOptimizerMuonGradientDescent<float> CInternalOptimizerMuonGradientDescentF;
39 typedef CInternalOptimizerMuonGradientDescent<double> CInternalOptimizerMuonGradientDescentD;
40
41 typedef CInternalOptimizerMuonGradientDescent<float> CInternalOptimizerMuonGDF;
42 typedef CInternalOptimizerMuonGradientDescent<double> CInternalOptimizerMuonGDD;
43
44 template <typename T>
45 using CInternalOptimizerMuonGD = CInternalOptimizerMuonGradientDescent<T>;
46 }
47}
48
49#endif
Definition FLImagingImgProcBase/AlgorithmAIBase.h:18
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
Definition FLImagingGUICLR/DefinitionsGUIView3D.h:3539