3#if _MSC_VER >= 1900 && defined(_M_X64)
5#include "ValidatorBase.h"
13 class FL_EXPORT CValidatorForClassifier :
public CValidatorBase<T>
17 CValidatorForClassifier();
18 CValidatorForClassifier(
const CValidatorForClassifier<T>& validator);
19 CValidatorForClassifier(
const CValidatorForClassifier<T>* pValidator);
20 virtual ~CValidatorForClassifier();
22 const CValidatorForClassifier<T>& operator=(
const CValidatorForClassifier<T>& validator);
24 virtual const CResult Initialize()
override;
25 virtual const CResult
Clear()
override;
27 virtual const CResult
Assign(
const CValidatorForClassifier<T>& validator);
28 virtual const CResult
Assign(
const CValidatorForClassifier<T>* pValidator);
30 virtual T Validate(int32_t* pI32IterationFeedback =
nullptr)
override;
32 static const CResult AccumulateConfusionMatrix(
const CTensor<T>* pTsrPredictMemory,
const CTensor<T>* pTsrAnswerMemory, int64_t i64BatchCount, CTensor<double>* pTsrConfusionMatrix, int64_t i64ClassCount, int64_t i64IgnoreIndex = -1);
33 static const CResult AccumulateConfusionMatrix(
const CTensor<T>* pTsrPredictMemory,
const CTensor<T>* pTsrScoreMemory,
const CTensor<T>* pTsrAnswerMemory, int64_t i64BatchCount, CTensor<double>* pTsrConfusionMatrix, T tScoreThreshold, int64_t i64ClassCount, int64_t i64IgnoreIndex = -1);
35 static const CResult IntegrationConfusionMatrix(std::vector<
const CTensor<double>*>& vctCM, CTensor<double>& tsrResultCM);
36 static const CResult CalculateF1(
const int64_t* pI64ConfusionMatrix, T& tResultF1, int64_t i64ClassCount);
37 static const CResult CalculateMacroAccuracy(
const int64_t* pI64ConfusionMatrix, T& tResultF1, int64_t i64ClassCount);
39 const CTensor<double>& GetConfusionMatrix()
const;
41 virtual const CResult SetAccuracyThreshold(T tScoreThreshold = (T)0.67);
42 virtual T GetAccuracyThreshold()
const;
43 DeclareGetClassType();
44 SupportToDuplicateObject(CValidatorForClassifier<T>, *
this);
50 friend class COptimizer;
52 friend class CValidatorForSemanticSegmentation;
55 CTensor<double> m_tsrCM;
56 Base::CFLArray<Base::CFLArray<int32_t>> m_flaClassNum;
57 Base::CFLArray<Base::CFLBase*> m_flaLearningIndividualAugmentationParams;
58 Base::CFLArray<Base::CFLBase*> m_flaValidationIndividualAugmentationParams;
59 bool m_bValidationIndividualAugmentationEnable;
60 bool m_bDifferentIndividualAugmentation;
61 T m_tAccuracyThreshold;
65 typedef CValidatorForClassifier<float> CValidatorForClassifierF;
66 typedef CValidatorForClassifier<double> CValidatorForClassifierD;
Definition FLImagingImgProcBase/AlgorithmAIBase.h:18
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
Definition FLImagingGUICLR/DefinitionsGUIView3D.h:3539
@ Clear
Clear all the figure objects.
Definition FLImagingGUICLR/DefinitionsGUI.h:5069