本文整理汇总了C++中OutputInfo::getOutputInfoObject方法的典型用法代码示例。如果您正苦于以下问题:C++ OutputInfo::getOutputInfoObject方法的具体用法?C++ OutputInfo::getOutputInfoObject怎么用?C++ OutputInfo::getOutputInfoObject使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OutputInfo
的用法示例。
在下文中一共展示了OutputInfo::getOutputInfoObject方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: run
//.........这里部分代码省略.........
//should use an iterator instead of i
vector<BaseLearner*>::iterator whyIt;
int i;
for (i = 0, whyIt = inWeakHypotheses.begin(); whyIt != inWeakHypotheses.end(); ++whyIt, ++i) {
vector<AlphaReal> temporaryPosteriors = posteriors;
vector<BaseLearner*> temporaryWeakHyp = _foundHypotheses;
temporaryWeakHyp.push_back(*whyIt);
updatePosteriors(pTrainingData, *whyIt, temporaryPosteriors, _positiveLabelIndex);
AlphaReal gap = computeSeparationSpan(pTrainingData, temporaryPosteriors, _positiveLabelIndex );
if (gap > bestGap) {
bestGap = gap;
selectedIndex = i;
}
}
BaseLearner* selectedWeakHypothesis = inWeakHypotheses[selectedIndex];
cout << "[+] Rank of the selected weak hypothesis : " << selectedIndex << endl
<< "\t ---> edge gap = " << bestGap << endl
<< "\t ---> alpha = " << selectedWeakHypothesis->getAlpha() << endl;
//update the stages
_foundHypotheses.push_back(selectedWeakHypothesis);
updatePosteriors(pTrainingData, selectedWeakHypothesis, posteriors, _positiveLabelIndex);
double missesFraction;
AlphaReal r = findBestRejectionThreshold(pTrainingData, posteriors, faceRejectionFraction, missesFraction);
_rejectionThresholds.push_back(r);
// update the output info object
dynamic_cast<SoftCascadeOutput*>( pOutInfo->getOutputInfoObject("sca") )->appendRejectionThreshold(r);
cout << "[+] Rejection threshold = " << r << endl;
//some updates
ss.appendHypothesisWithThreshold(t, selectedWeakHypothesis, r);
faceRejectionFraction -= missesFraction;
inWeakHypotheses.erase(inWeakHypotheses.begin() + selectedIndex);
double whypCost = 1; //just in case there are different costs for each whyp
estimatedExecutionTime += whypCost * numberOfNegatives;
// output perf in file
vector< vector< AlphaReal> > scores(0);
_output << t + 1 << setw(_sepWidth + 1) << r << setw(_sepWidth);
// update OutputInfo with the new whyp
// updateOutputInfo(pOutInfo, pTrainingData, selectedWeakHypothesis);
// if (pTestData) {
// updateOutputInfo(pOutInfo, pTestData, selectedWeakHypothesis);
// }
// output the iteration results
printOutputInfo(pOutInfo, t, pTrainingData, pTestData, selectedWeakHypothesis, r);
// if (pTrainPosteriorsOut) {
// pTrainPosteriorsOut->setTable(pTrainingData, pOutInfo->getTable(pTrainingData));
// pTrainPosteriorsOut->outputCustom(pTrainingData);
// }
//
// if (pTestPosteriorsOut) {
// pTestPosteriorsOut->setTable(pTestData, pOutInfo->getTable(pTestData));
// pTestPosteriorsOut->outputCustom(pTestData);
// }
int leftNegatives = filterDataset(pTrainingData, posteriors, r, trainingIndices);
if (leftNegatives == 0) {
cout << endl << "[+] No more negatives.\n";
break;
}
if (_bootstrapRate != 0) {
bootstrapTrainingSet(pTrainingData, pBootstrapData, trainingIndices);
}
} // loop on iterations
/////////////////////////////////////////////////////////
// write the footer of the strong hypothesis file
ss.writeFooter();
// Free the two input data objects
if (pTrainingData)
delete pTrainingData;
if (pBootstrapData) {
delete pBootstrapData;
}
if (pTestData)
delete pTestData;
if (_verbose > 0)
cout << "Learning completed." << endl;
}