3#if _MSC_VER >= 1900 && defined(_M_X64)
12 class CComputationalGraph;
15 class CInternalOptimizerBase;
18 class CComputationalGraphPlaceholder;
24 class FL_EXPORT CValidatorBase :
public Base::CFLBase
29 CValidatorBase(
const CValidatorBase<T>& validator);
30 CValidatorBase(
const CValidatorBase<T>* pValidator);
31 virtual ~CValidatorBase();
33 virtual const CResult
Assign(
const CValidatorBase<T>& validator);
34 virtual const CResult
Assign(
const CValidatorBase<T>* pValidator);
36 virtual const CResult
Clear();
38 virtual const CResult Initialize();
40 virtual const CResult SetOptimizer(
const CInternalOptimizerBase<T>* pOptimizer);
41 virtual const CInternalOptimizerBase<T>* GetOptimizer()
const;
43 virtual const CResult SetValidationLabels(CTensor<T>* pTsrValidationLabels);
44 virtual const CResult SetValidationLabels(
const std::vector<CTensor<T>*>& vctValidationLabels);
45 virtual const CResult SetValidationLabels(
const std::vector<CTensor<T>*>* pVctValidationLabels);
46 virtual const CTensor<T>* GetValidationLabels(int64_t i64Index = 0)
const;
47 virtual const CResult GetValidationLabels(std::vector<CTensor<T>*>& vctValidationLabels)
const;
48 virtual int64_t GetValidationLabelCount()
const;
50 virtual const CResult SetValidationFunctions(
const CComputationalGraph<T>* pCgLabelLayer,
const CComputationalGraph<T>* pCgValidationLayer);
52 virtual const CResult SetObjectAugmentationFigureInformation(
const Foundation::CFLFigureArray* pFlfaObjectAugmentationSrcFigureArray,
const std::vector <std::vector < int64_t >>* pVctClassNum,
const std::vector<std::vector<Foundation::CFLRect<T>>>* pVctObjectAugmentationBoundaryRect);
53 virtual const CResult GetObjectAugmentationFigureInformation(
const Foundation::CFLFigureArray** ppFlfaObjectAugmentationSrcFigureArray,
const std::vector <std::vector < int64_t >>** ppVctClassNum,
const std::vector<std::vector<Foundation::CFLRect<T>>>** ppVctObjectAugmentationBoundaryRect);
55 virtual const CResult SetObjectAugmentationSourceImage(
const Base::CFLImage* pFliObjectAugmentationSourceImage);
56 virtual const CResult SetObjectAugmentationUserDefinedImage(
const Base::CFLImage* pFliObjectAugmentationUserDefinedImage);
58 virtual const Base::CFLImage* GetObjectAugmentationSourceImage();
59 virtual const Base::CFLImage* GetObjectAugmentationUserDefinedImage();
61 virtual const CResult GetValidationFunctions(CComputationalGraph<T>** ppCgLabelLayer, CComputationalGraph<T>** ppCgValidationLayer)
const;
63 virtual T Validate(int32_t* pI32IterationFeedback =
nullptr) = 0;
65 DeclareGetClassType();
66 SupportToDuplicateAbstractObject(CValidatorBase<T>);
69 virtual void Throw(
const CResult& res,
const wchar_t* pWcsExtraMessage =
nullptr)
const override;
70 virtual const CResult InitializeMiniBatch();
71 virtual const CResult InitializeCurrentIteration(int64_t i64IterationIndex = 0);
72 virtual const CResult LoadTensor(int64_t i64IterationIndex = 0);
75 CComputationalGraph<T>* m_pCgLabelLayer;
76 CComputationalGraph<T>* m_pCgValidationLayer;
77 CInternalOptimizerBase<T>* m_pOptimizer;
78 std::vector<CTensor<T>*>& m_vctValidationLabels;
80 std::vector<CTensor<T>*>& m_vctOrgTensors;
81 std::vector<CTensor<T>*>& m_vctBatchTensors;
82 std::vector<CComputationalGraphPlaceholder<T>*>& m_vctPlaceholders;
84 bool m_bDifferentLearningObjectAugmentationParameters;
85 const Base::CFLImage* m_pFliObjectAugmentationSourceImage;
86 const Base::CFLImage* m_pFliObjectAugmentationUserDefinedImage;
88 const Foundation::CFLFigureArray* m_pFlfaObjectAugmentationSrcFigureArray;
89 const std::vector< std::vector<int64_t>>* m_pVctObjectAugmentationClassNum;
90 const std::vector<std::vector<Foundation::CFLRect<T>>>* m_pVctObjectAugmentationFigureBoundaryRect;
93 bool m_bValidationAugmentationEnable;
94 bool m_bLearningAugmentationEnable;
95 bool m_bDifferentAugmentation;
97 int64_t m_i64InitialBatch;
99 std::vector<CTensor<T>*>& m_vctDelayedLoader;
101 volatile int64_t m_i64LoadCount;
102 volatile bool m_bValidationTerminate;
103 volatile bool m_bLoadNextIteration;
104 volatile bool m_bObjectAugmentationPrefeched;
105 volatile bool m_bEndSubdivision;
106 CResult m_resLoadTensorResult;
109 friend class COptimizer;
112 friend class CInternalOptimizerBase;
115 friend class COptimizerForStringBasedOCR;
119 typedef CValidatorBase<float> CValidatorBaseF;
120 typedef CValidatorBase<double> CValidatorBaseD;
Definition AlgorithmAIBase.h:18
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
Definition DefinitionsGUIView3D.h:2930
@ Clear
Clear all the figure objects.
Definition DefinitionsGUI.h:2158