Merge pull request #26046 from ivafanas:speedup_random_forest_get_votes

speedup random forest getVotes method.
This commit is contained in:
Alexander Smorkalov 2024-08-20 14:19:21 +03:00 committed by GitHub
commit ec2e2da1fe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -388,9 +388,10 @@ public:
results = output.getMat(); results = output.getMat();
for( i = 0; i < nsamples; i++ ) for( i = 0; i < nsamples; i++ )
{ {
const Mat sampleRow = samples.row(i);
for( j = 0; j < ntrees; j++ ) for( j = 0; j < ntrees; j++ )
{ {
float val = predictTrees( Range(j, j+1), samples.row(i), flags); float val = predictTrees( Range(j, j+1), sampleRow, flags);
results.at<float> (i, j) = val; results.at<float> (i, j) = val;
} }
} }
@ -408,9 +409,10 @@ public:
for( i = 0; i < nsamples; i++ ) for( i = 0; i < nsamples; i++ )
{ {
votes.clear(); votes.clear();
const Mat sampleRow = samples.row(i);
for( j = 0; j < ntrees; j++ ) for( j = 0; j < ntrees; j++ )
{ {
int val = (int)predictTrees( Range(j, j+1), samples.row(i), flags); int val = (int)predictTrees( Range(j, j+1), sampleRow, flags);
votes.push_back(val); votes.push_back(val);
} }