FLImaging 6.6.27.1
ComputationalGraphAugmentationForClassifier.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "ComputationalGraphAugmentationBase.h"
6
7namespace FLImaging
8{
9 namespace AI
10 {
12
13 template<typename T>
14 class CInternalAugmentationForClassifier;
15
16 template <typename T>
17 class FL_EXPORT CComputationalGraphAugmentationForClassifier : public CComputationalGraphAugmentationBase<T>
18 {
19 protected:
20 CComputationalGraphAugmentationForClassifier();
21 CComputationalGraphAugmentationForClassifier(const CComputationalGraphAugmentationForClassifier<T>& cg);
22
23 public:
24
25 CComputationalGraphAugmentationForClassifier(const CComputationalBase<T>& cbOperand, const CAugmentationParameters& apParams, const Base::CFLArray<Base::CFLArray<int32_t>>& flaClassNum, const Base::CFLArray<Base::CFLBase*>& flaAugmnetaitonParams);
26 CComputationalGraphAugmentationForClassifier(const CComputationalBase<T>& cbOperand, const CAugmentationParameters* pApParams, const Base::CFLArray<Base::CFLArray<int32_t>>* pFlaClassNum, const Base::CFLArray<Base::CFLBase*>* pFlaAugmentationParams);
27 CComputationalGraphAugmentationForClassifier(const CComputationalBase<T>& cbOperand);
28
29 virtual ~CComputationalGraphAugmentationForClassifier();
30
31 virtual const CResult SetIndividualClassesAugmentationParameters(const Base::CFLArray<Base::CFLArray<int32_t>>& flaClassNum, const Base::CFLArray<Base::CFLBase*>& flaAugmnetaiton);
32 virtual const CResult GetIndividualClassesAugmentationParameters(Base::CFLArray<Base::CFLArray<int32_t>>& flaClassNum, Base::CFLArray<Base::CFLBase*>& flaAugmnetaitonParams) const;
33 virtual const CResult GetIndividualClassesAugmentationParameters(std::vector<std::vector<int32_t>>& vctClassNum, std::vector<CAugmentationParameters>& vctAp) const;
34
35 virtual CComputationalBase<T>* Clone() const override;
36
37 DeclareGetClassType();
38 SupportToDuplicateObjectWithoutCreateNewObject(CComputationalGraphAugmentationForClassifier, *this);
39
40 protected:
41 public:
42 DeclareGetSignletonObject(CComputationalGraphAugmentationForClassifier);
43
44 Base::CFLArray<Base::CFLArray<int32_t>> m_flaIndividualClassesAugmentationClassNum;
45 Base::CFLArray<Base::CFLBase*> m_flaIndividualClassesAugmentationParams;
46
47 protected:
48 std::map<int32_t, CAugmentationParameters>& m_mapAugParam;
49 std::vector<int32_t>& m_vctIndividualClassesAugmentationClassNum;
50 std::vector<CAugmentationParameters>& m_vctIndividualClassesAugmentationParams;
51
52 private:
53 template <typename T> friend class CInternalAugmentationForClassifier;
54 };
55
56 #define CCGFAugmentationCF(...) (*(new CComputationalGraphAugmentationForClassifier<float>(__VA_ARGS__)))
57 #define CCGDAugmentationCF(...) (*(new CComputationalGraphAugmentationForClassifier<double>(__VA_ARGS__)))
58
59 #define CCGTAugmentationCF(T, ...) (*(new CComputationalGraphAugmentationForClassifier<T>(__VA_ARGS__)))
60 }
61}
62
63#endif
증강 파라미터 클래스 이미지를 변형하여 학습이미지에 다양성을 증가시켜 overfitting을 방지하고, 일반화된 특성을 학습할 수 있도록 합니다....
Definition AugmentationParameters.h:67
Definition AlgorithmAIBase.h:16