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);
51 virtual const CResult GetValidationFunctions(CComputationalGraph<T>** ppCgLabelLayer, CComputationalGraph<T>** ppCgValidationLayer)
const;
53 virtual T Validate(int32_t* pI32IterationFeedback =
nullptr) = 0;
55 DeclareGetClassType();
56 SupportToDuplicateAbstractObject(CValidatorBase<T>);
59 virtual void Throw(
const CResult& res,
const wchar_t* pWcsExtraMessage =
nullptr)
const override;
60 virtual const CResult InitializeMiniBatch();
61 virtual const CResult InitializeCurrentIteration(int64_t i64IterationIndex = 0);
62 virtual const CResult LoadTensor(int64_t i64IterationIndex = 0);
65 CComputationalGraph<T>* m_pCgLabelLayer;
66 CComputationalGraph<T>* m_pCgValidationLayer;
67 CInternalOptimizerBase<T>* m_pOptimizer;
68 std::vector<CTensor<T>*>& m_vctValidationLabels;
70 std::vector<CTensor<T>*>& m_vctOrgTensors;
71 std::vector<CTensor<T>*>& m_vctBatchTensors;
72 std::vector<CComputationalGraphPlaceholder<T>*>& m_vctPlaceholders;
75 int64_t m_i64InitialBatch;
77 std::vector<CTensor<T>*>& m_vctDelayedLoader;
79 volatile int64_t m_i64LoadCount;
80 volatile bool m_bValidationTerminate;
81 volatile bool m_bLoadNextIteration;
82 volatile bool m_bEndSubdivision;
83 CResult m_resLoadTensorResult;
86 friend class COptimizer;
89 friend class CInternalOptimizerBase;
92 friend class COptimizerForStringBasedOCR;
96 typedef CValidatorBase<float> CValidatorBaseF;
97 typedef CValidatorBase<double> CValidatorBaseD;
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
@ Clear
Clear all the figure objects.