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
