Evaluators¶
Defines
-
REGISTER_EVALUATOR(__type_name, __class_name)¶
-
namespace
paddle¶ -
class
AucEvaluator¶ Inherits from paddle::Evaluator
Public Functions
-
AucEvaluator(int32_t colIdx)¶ evaluate AUC using colIdx-th column as prediction.
colIdx = 0: the 0-th column. colIdx > 0: the colIdx-th column. colIdx < 0: the last colIdx-th column.
-
virtual void
start()¶ start to evaluate some data
-
virtual real
evalImp(std::vector<Argument> &arguments)¶ Process a batch of data. return the score for the batch if it make sense to sum the score across batches. Otherwise evaluator should return 0 and override finish() and printStats() to do the right calculation.
-
virtual void
printStats(std::ostream &os)¶
-
virtual void
distributeEval(ParameterClient2 *client)¶
Private Members
-
double
statPos_[kBinNum_+1]¶
-
double
statNeg_[kBinNum_+1]¶
-
int32_t
colIdx_¶
-
uint32_t
realColumnIdx_¶
-
IVectorPtr
cpuLabel_¶
Private Static Functions
-
static double
trapezoidArea(double X1, double X2, double Y1, double Y2)¶
-
-
class
DummyEvaluator¶ Inherits from paddle::Evaluator
Public Functions
-
DummyEvaluator()¶
-
virtual void
init(const EvaluatorConfig&)¶
-
virtual void
start()¶ start to evaluate some data
-
virtual void
eval(const NeuralNetwork &nn)¶ Process a batch of data.
-
virtual real
evalImp(std::vector<Argument> &arguments)¶ Process a batch of data. return the score for the batch if it make sense to sum the score across batches. Otherwise evaluator should return 0 and override finish() and printStats() to do the right calculation.
-
virtual void
finish()¶ finish the evaluation.
-
virtual void
printStats(std::ostream&)¶
-
-
class
Evaluator¶ Subclassed by paddle::AucEvaluator, paddle::ChunkEvaluator, paddle::ClassificationErrorEvaluator, paddle::ColumnSumEvaluator, paddle::CombinedEvaluator, paddle::CTCErrorEvaluator, paddle::DummyEvaluator, paddle::GradientPrinter, paddle::MaxFramePrinter, paddle::MaxIdPrinter, paddle::MultiCombinedEvaluator, paddle::PnpairEvaluator, paddle::PrecisionRecallEvaluator, paddle::RankAucEvaluator, paddle::SequenceTextPrinter, paddle::SumEvaluator, paddle::ValuePrinter
Public Functions
-
Evaluator()¶
-
virtual
~Evaluator()¶
-
virtual void
init(const EvaluatorConfig &config)¶
-
virtual void
start()¶ start to evaluate some data
-
virtual void
eval(const NeuralNetwork &nn)¶ Process a batch of data.
-
virtual real
evalImp(std::vector<Argument> &arguments) = 0¶ Process a batch of data. return the score for the batch if it make sense to sum the score across batches. Otherwise evaluator should return 0 and override finish() and printStats() to do the right calculation.
-
virtual void
updateSamplesNum(const std::vector<Argument> &arguments)¶ Update the number of processed samples
-
virtual void
distributeEval(ParameterClient2 *client)¶
-
void
mergeResultsOfAllClients(ParameterClient2 *client)¶
-
virtual void
finish()¶ finish the evaluation.
-
virtual void
printStats(std::ostream &os)¶
-
-
class
PnpairEvaluator¶ - #include <Evaluator.h>
Positive-negative pair rate Evaluator
Inherits from paddle::Evaluator
Public Functions
-
PnpairEvaluator()¶
-
virtual void
start()¶ start to evaluate some data
-
virtual real
evalImp(std::vector<Argument> &arguments)¶ Process a batch of data. return the score for the batch if it make sense to sum the score across batches. Otherwise evaluator should return 0 and override finish() and printStats() to do the right calculation.
-
void
printPredictResults()¶
-
void
stat(size_t start, size_t end, PredictionResult *answers, double &pos, double &neg, double &spe)¶
-
void
calc(std::vector<PredictionResult> &predictArray)¶
-
virtual void
finish()¶ finish the evaluation.
-
virtual void
printStats(std::ostream &os)¶
-
virtual void
distributeEval(ParameterClient2 *client)¶
Public Members
-
std::vector<PredictionResult>
predictArray_¶
Private Static Attributes
-
const uint32_t
kPairArrayNum_¶
-
-
class
PrecisionRecallEvaluator¶ Inherits from paddle::Evaluator
Public Functions
-
PrecisionRecallEvaluator()¶
-
virtual void
start()¶ start to evaluate some data
-
virtual real
evalImp(std::vector<Argument> &arguments)¶ Process a batch of data. return the score for the batch if it make sense to sum the score across batches. Otherwise evaluator should return 0 and override finish() and printStats() to do the right calculation.
-
virtual void
printStats(std::ostream &os)¶
-
virtual void
distributeEval(ParameterClient2 *client)¶
Private Functions
-
void
calcStatsInfo(const MatrixPtr &output, const IVectorPtr &label, const MatrixPtr &weight)¶
-
-
class
RankAucEvaluator¶ - #include <Evaluator.h>
RankAucEvaluator calculates the AUC of each list (i.e., titles under the same query), and averages them.
Each list should be organized as a sequence. The inputs of this evaluator is [output, click, pv]. If pv is not provided, it will be set to 1. The types of click and pv are dense value.
Inherits from paddle::Evaluator
Public Functions
-
virtual void
start()¶ start to evaluate some data
-
virtual void
updateSamplesNum(const std::vector<Argument> &arguments)¶ Update the number of processed samples
-
virtual real
evalImp(std::vector<Argument> &arguments)¶ Process a batch of data. return the score for the batch if it make sense to sum the score across batches. Otherwise evaluator should return 0 and override finish() and printStats() to do the right calculation.
-
virtual void
distributeEval(ParameterClient2 *client)¶
Private Functions
-
double
calcRankAuc(real *outputData, real *clickData, real *pvData, size_t size)¶
-
virtual void
-
class
-
namespace
paddle¶ Functions
-
REGISTER_EVALUATOR(chunk, ChunkEvaluator)¶
-
class
ChunkEvaluator¶ Chunk evaluator is used to evaluate segment labelling accuracy for a sequence. It calculates the chunk detection F1 score.
A chunk is correctly detected if its beginning, end and type are correct. Other chunk type is ignored. For each label in the label sequence, we have
tagType = label % numTagType chunkType = label / numTagType otherChunkType = numChunkTypes
The total number of different labels is numTagType*numChunkTypes+1 We support 4 labelling scheme The tag type for each of the scheme is shown as follows:
Scheme Begin Inside End Single plain 0 - - - IOB 0 1 - - IOE - 0 1 - IOBES 0 1 2 3
‘plain’ means the whole chunk must contain exactly the same chunk label.
Inherits from paddle::Evaluator
Public Functions
-
virtual void
init(const EvaluatorConfig &config)¶
-
virtual void
start()¶ start to evaluate some data
-
virtual void
printStats(std::ostream &os)¶
-
virtual void
distributeEval(ParameterClient2 *client)¶
-
virtual real
evalImp(std::vector<Argument> &arguments)¶ Process a batch of data. return the score for the batch if it make sense to sum the score across batches. Otherwise evaluator should return 0 and override finish() and printStats() to do the right calculation.
-
void
eval1(int *output, int *label, int length)¶
-
bool
isChunkEnd(int prevTag, int prevType, int tag, int type)¶
-
bool
isChunkBegin(int prevTag, int prevType, int tag, int type)¶
Private Members
-
int
otherChunkType_¶
-
int
numChunkTypes_¶
-
int
numTagTypes_¶
-
int
tagBegin_¶
-
int
tagInside_¶
-
int
tagEnd_¶
-
int
tagSingle_¶
-
int64_t
numLabelSegments_¶
-
int64_t
numOutputSegments_¶
-
int64_t
numCorrect_¶
-
struct
Segment¶
-
virtual void
-
-
namespace
paddle¶ Functions
-
REGISTER_EVALUATOR(ctc_edit_distance, CTCErrorEvaluator)¶
-
class
CTCErrorEvaluator¶ calculate sequence-to-sequence edit distance
Inherits from paddle::Evaluator
Public Functions
-
CTCErrorEvaluator()¶
-
virtual real
evalImp(std::vector<Argument> &arguments)¶ Process a batch of data. return the score for the batch if it make sense to sum the score across batches. Otherwise evaluator should return 0 and override finish() and printStats() to do the right calculation.
-
virtual void
eval(const NeuralNetwork &nn)¶ Process a batch of data.
-
virtual void
start()¶ start to evaluate some data
-
virtual void
printStats(std::ostream &os)¶
-
virtual void
distributeEval(ParameterClient2 *client)¶
Private Functions
-
std::vector<int>
path2String(const std::vector<int> &path)¶
-
std::vector<int>
bestLabelSeq()¶
-
real
stringAlignment(std::vector<int> >Str, std::vector<int> &recogStr, bool backtrace = true, real sp = 1.0, real dp = 1.0, real ip = 1.0)¶
-
real
editDistance(real *output, int numTimes, int numClasses, int *labels, int labelsLen)¶
-
-