FLImaging 7.8.25.3
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 virtual const CResult GetBinaryData(Base::CFLData& fldBinary, bool bSuperClass = false, int32_t i32Version = -1, bool bDumpMode = false) const override;
38 virtual const CResult GetBinaryData(Base::CFLData* pFldBinary, bool bSuperClass = false, int32_t i32Version = -1, bool bDumpMode = false) const override;
39
40 virtual const CResult SetBinaryData(const Base::CFLData& fldBinary, int64_t* pI64Offset = nullptr) override;
41 virtual const CResult SetBinaryData(const Base::CFLData* pFldBinary, int64_t* pI64Offset = nullptr) override;
42
43 DeclareGetClassType();
44 SupportToDuplicateObjectWithoutCreateNewObject(CComputationalGraphAugmentationForClassifier, *this);
45
46 protected:
47 public:
48 DeclareGetSignletonObject(CComputationalGraphAugmentationForClassifier);
49
50 Base::CFLArray<Base::CFLArray<int32_t>> m_flaIndividualClassesAugmentationClassNum;
51 Base::CFLArray<Base::CFLBase*> m_flaIndividualClassesAugmentationParams;
52
53 protected:
54 std::map<int32_t, CAugmentationParameters>& m_mapAugParam;
55 std::vector<int32_t>& m_vctIndividualClassesAugmentationClassNum;
56 std::vector<CAugmentationParameters>& m_vctIndividualClassesAugmentationParams;
57
58 private:
59 template <typename T> friend class CInternalAugmentationForClassifier;
60 };
61
62 #define CCGFAugmentationCF(...) (*(new CComputationalGraphAugmentationForClassifier<float>(__VA_ARGS__)))
63 #define CCGDAugmentationCF(...) (*(new CComputationalGraphAugmentationForClassifier<double>(__VA_ARGS__)))
64
65 #define CCGTAugmentationCF(T, ...) (*(new CComputationalGraphAugmentationForClassifier<T>(__VA_ARGS__)))
66 }
67}
68
69#endif
Augmentation Parameter Class By transforming the images, it increases the diversity of training image...
Definition AugmentationParameters.h:69
Definition AlgorithmAIBase.h:18