SAMOA-48: Fix for ensembles (race condition?)

Project: http://git-wip-us.apache.org/repos/asf/incubator-samoa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-samoa/commit/23169b06
Tree: http://git-wip-us.apache.org/repos/asf/incubator-samoa/tree/23169b06
Diff: http://git-wip-us.apache.org/repos/asf/incubator-samoa/diff/23169b06

Branch: refs/heads/master
Commit: 23169b0605005bf9b0b5f2dacb36a16b6b5b3b5d
Parents: af25e7d
Author: Gianmarco De Francisci Morales <[email protected]>
Authored: Mon Oct 26 15:07:16 2015 +0200
Committer: Gianmarco De Francisci Morales <[email protected]>
Committed: Mon Oct 26 15:07:16 2015 +0200

----------------------------------------------------------------------
 .../classifiers/ensemble/PredictionCombinerProcessor.java    | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-samoa/blob/23169b06/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/ensemble/PredictionCombinerProcessor.java
----------------------------------------------------------------------
diff --git 
a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/ensemble/PredictionCombinerProcessor.java
 
b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/ensemble/PredictionCombinerProcessor.java
index 76e84f8..8e10094 100644
--- 
a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/ensemble/PredictionCombinerProcessor.java
+++ 
b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/ensemble/PredictionCombinerProcessor.java
@@ -106,14 +106,13 @@ public class PredictionCombinerProcessor implements 
Processor {
 
     addStatisticsForInstanceReceived(instanceIndex, 
inEvent.getClassifierIndex(), prediction, 1);
 
-    if (inEvent.isLastEvent() || hasAllVotesArrivedInstance(instanceIndex)) {
+    if (hasAllVotesArrivedInstance(instanceIndex)) {
       DoubleVector combinedVote = 
this.mapVotesforInstanceReceived.get(instanceIndex);
       if (combinedVote == null) {
         combinedVote = new DoubleVector(new 
double[inEvent.getInstance().numClasses()]);
       }
-      ResultContentEvent outContentEvent = new 
ResultContentEvent(inEvent.getInstanceIndex(),
-          inEvent.getInstance(), inEvent.getClassId(),
-          combinedVote.getArrayCopy(), inEvent.isLastEvent());
+      ResultContentEvent outContentEvent = new 
ResultContentEvent(inEvent.getInstanceIndex(), inEvent.getInstance(),
+          inEvent.getClassId(), combinedVote.getArrayCopy(), 
inEvent.isLastEvent());
       outContentEvent.setEvaluationIndex(inEvent.getEvaluationIndex());
       outputStream.put(outContentEvent);
       clearStatisticsInstance(instanceIndex);
@@ -133,7 +132,6 @@ public class PredictionCombinerProcessor implements 
Processor {
 
   /*
    * (non-Javadoc)
-   * 
    * @see samoa.core.Processor#newProcessor(samoa.core.Processor)
    */
   @Override

Reply via email to