From 4cc42d89af664c70cb24e3f4f60d4a2f8666f276 Mon Sep 17 00:00:00 2001 From: Paul Leroy Date: Tue, 22 Feb 2022 07:53:46 +0100 Subject: [PATCH] working on classifier --- q3DMASCClassifier.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/q3DMASCClassifier.cpp b/q3DMASCClassifier.cpp index cb852e8..ee8ab84 100644 --- a/q3DMASCClassifier.cpp +++ b/q3DMASCClassifier.cpp @@ -529,14 +529,24 @@ bool Classifier::train( const ccPointCloud* cloud, //m_rtrees->setMaxCategories(params.maxCategories); //not important? m_rtrees->setCalculateVarImportance(true); m_rtrees->setActiveVarCount(params.activeVarCount); - cv::TermCriteria terminationCriteria(cv::TermCriteria::MAX_ITER, params.maxTreeCount, std::numeric_limits::epsilon()); + //cv::TermCriteria terminationCriteria(cv::TermCriteria::MAX_ITER, params.maxTreeCount, std::numeric_limits::epsilon()); + cv::TermCriteria terminationCriteria(cv::TermCriteria::MAX_ITER, params.maxTreeCount, 0.1); m_rtrees->setTermCriteria(terminationCriteria); + ccLog::Warning("[Classifier::train] hardware_concurrency " + QString::number(std::thread::hardware_concurrency())); + ccLog::Warning("[Classifier::train] cv::getNumThreads " + QString::number(cv::getNumThreads())); + ccLog::Warning("[Classifier::train] cv::getNumberOfCPUs " + QString::number(cv::getNumberOfCPUs())); + cv::setNumThreads(50); + ccLog::Warning("[Classifier::train] cv::getNumThreads " + QString::number(cv::getNumThreads())); + QFuture future = QtConcurrent::run([&]() { // Code in this block will run in another thread try { + ccLog::Warning("[QFuture] cv::getNumThreads " + QString::number(cv::getNumThreads())); + cv::setNumThreads(50); + ccLog::Warning("[QFuture] cv::getNumThreads " + QString::number(cv::getNumThreads())); cv::Mat sampleIndexes = cv::Mat::zeros(1, training_data.rows, CV_8U); cv::Mat trainSamples = sampleIndexes.colRange(0, sampleCount); trainSamples.setTo(cv::Scalar::all(1));