Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. diff --git classify/trainingsampleset.cpp classify/trainingsampleset.cpp
  2. index afbf3f4..6121395 100644
  3. --- classify/trainingsampleset.cpp
  4. +++ classify/trainingsampleset.cpp
  5. @@ -693,6 +693,8 @@ void TrainingSampleSet::ComputeCanonicalSamples(const IntFeatureMap& map,
  6. fcinfo.canonical_sample = fcinfo.samples[0];
  7. fcinfo.canonical_dist = 0.0f;
  8. for (int i = 0; i < fcinfo.samples.size(); ++i) {
  9. + #pragma omp parallel
  10. + {
  11. int s1 = fcinfo.samples[i];
  12. const GenericVector<int>& features1 = samples_[s1]->indexed_features();
  13. f_table.Set(features1, features1.size(), true);
  14. @@ -701,6 +703,7 @@ void TrainingSampleSet::ComputeCanonicalSamples(const IntFeatureMap& map,
  15. // reasonably fast because f_table.FeatureDistance is fast, but we
  16. // may have to reconsider if we start playing with too many samples
  17. // of a single char/font.
  18. + #pragma omp for
  19. for (int j = 0; j < fcinfo.samples.size(); ++j) {
  20. int s2 = fcinfo.samples[j];
  21. if (samples_[s2]->class_id() != c ||
  22. @@ -709,11 +712,14 @@ void TrainingSampleSet::ComputeCanonicalSamples(const IntFeatureMap& map,
  23. continue;
  24. GenericVector<int> features2 = samples_[s2]->indexed_features();
  25. double dist = f_table.FeatureDistance(features2);
  26. - if (dist > max_dist) {
  27. - max_dist = dist;
  28. - if (dist > max_max_dist) {
  29. - max_s1 = s1;
  30. - max_s2 = s2;
  31. + #pragma omp critical(inner_comparison)
  32. + {
  33. + if (dist > max_dist) {
  34. + max_dist = dist;
  35. + if (dist > max_max_dist) {
  36. + max_s1 = s1;
  37. + max_s2 = s2;
  38. + }
  39. }
  40. }
  41. }
  42. @@ -727,6 +733,7 @@ void TrainingSampleSet::ComputeCanonicalSamples(const IntFeatureMap& map,
  43. fcinfo.canonical_dist = max_dist;
  44. }
  45. UpdateRange(max_dist, &min_max_dist, &max_max_dist);
  46. + }
  47. }
  48. if (max_max_dist > global_worst_dist) {
  49. // Keep a record of the worst pair over all characters/fonts too.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement