FLImaging 7.2.4.2
ClassEqualizerForTensorLabels.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "ClassEqualizerForTensorImages.h"
6
7namespace FLImaging
8{
9 namespace AI
10 {
11 template <typename T>
12 class CTensor;
13
14 template <typename T>
15 class FL_EXPORT CClassEqualizerForTensorLabels : public CClassEqualizerForTensorImages<T>
16 {
17 public:
18 CClassEqualizerForTensorLabels();
19 CClassEqualizerForTensorLabels(const CClassEqualizerForTensorLabels& lrs);
20 CClassEqualizerForTensorLabels(const CClassEqualizerForTensorLabels* pLrs);
21 virtual ~CClassEqualizerForTensorLabels();
22
23 virtual const CResult Assign(const CClassEqualizerForTensorLabels& lrs);
24 virtual const CResult Assign(const CClassEqualizerForTensorLabels* pLrs);
25
26 virtual const CResult Initialize() override;
27
28 virtual const CResult ArrangeBatch(int64_t i64BatchSize, int64_t i64SubMiniBatchSize, std::vector<int64_t>& vctResultBatchIndices, int64_t i64TotalIteration = 0) override;
29
30 DeclareGetClassType();
31 SupportToDuplicateObject(CClassEqualizerForTensorLabels, *this);
32
33 protected:
34 Base::CFLArray<int64_t> m_flaClassCount;
35 Base::CFLArray<double> m_flaClassCountRatio;
36 Base::CFLArray<int64_t> m_flaAccumulateClassCount;
37
38 private:
39 template<typename T>
40 friend class COptimizer;
41 };
42
43
44 typedef CClassEqualizerForTensorLabels<float> CClassEqualizerForTensorLabelsF;
45 typedef CClassEqualizerForTensorLabels<double> CClassEqualizerForTensorLabelsD;
46
47 typedef CClassEqualizerForTensorLabels<float> CCELabelsF;
48 typedef CClassEqualizerForTensorLabels<double> CCELabelsD;
49
50 template <typename T>
51 using CCELabels = CClassEqualizerForTensorLabels<T>;
52 }
53}
54
55#endif
Definition AlgorithmAIBase.h:18
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
Definition DefinitionsGUIView3D.h:2930