Commit 04ecd5756fc02ba9754a029e8b186e2bca574e23
1 parent
7e8092da
In pipe::Train, make timeVarying transforms project singleItemLists
Showing
1 changed file
with
9 additions
and
10 deletions
openbr/plugins/meta.cpp
| ... | ... | @@ -104,22 +104,21 @@ class PipeTransform : public CompositeTransform |
| 104 | 104 | fprintf(stderr, " training..."); |
| 105 | 105 | transforms[i]->train(copy); |
| 106 | 106 | } |
| 107 | - // if the transform is time varying, we batch project it. | |
| 107 | + | |
| 108 | + // if the transform is time varying, we can't project it in parallel | |
| 108 | 109 | if (transforms[i]->timeVarying()) { |
| 109 | 110 | fprintf(stderr, "\n%s projecting...", qPrintable(transforms[i]->objectName())); |
| 110 | - transforms[i]->projectUpdate(copy, copy); | |
| 111 | + for (int j=0; j < singleItemLists.size();j++) | |
| 112 | + transforms[i]->projectUpdate(singleItemLists[j], singleItemLists[j]); | |
| 111 | 113 | |
| 112 | 114 | // advance i since we already projected for this stage. |
| 113 | 115 | i++; |
| 114 | 116 | |
| 115 | - // set up the single item lists since they are inconsistent again. | |
| 116 | - singleItemLists.clear(); | |
| 117 | - for (int j=0; j < copy.size(); j++) | |
| 118 | - { | |
| 119 | - TemplateList temp; | |
| 120 | - temp.append(copy[j]); | |
| 121 | - singleItemLists.append(temp); | |
| 122 | - } | |
| 117 | + // set up copy again | |
| 118 | + copy.clear(); | |
| 119 | + for (int j=0; j < singleItemLists.size(); j++) | |
| 120 | + copy.append(singleItemLists[j]); | |
| 121 | + | |
| 123 | 122 | // the next stage might be trainable, so continue to evaluate it. |
| 124 | 123 | continue; |
| 125 | 124 | } | ... | ... |