|
|
@@ -73,11 +73,10 @@ public class Ensemble implements LenientlyParsedTrainedModel, StrictlyParsedTrai
|
|
|
p.namedObject(StrictlyParsedTrainedModel.class, n, null),
|
|
|
(ensembleBuilder) -> ensembleBuilder.setModelsAreOrdered(true),
|
|
|
TRAINED_MODELS);
|
|
|
- parser.declareNamedObjects(Ensemble.Builder::setOutputAggregatorFromParser,
|
|
|
+ parser.declareNamedObject(Ensemble.Builder::setOutputAggregator,
|
|
|
(p, c, n) ->
|
|
|
lenient ? p.namedObject(LenientlyParsedOutputAggregator.class, n, null) :
|
|
|
p.namedObject(StrictlyParsedOutputAggregator.class, n, null),
|
|
|
- (ensembleBuilder) -> {/*Noop as it could be an array or object, it just has to be a one*/},
|
|
|
AGGREGATE_OUTPUT);
|
|
|
parser.declareString(Ensemble.Builder::setTargetType, TARGET_TYPE);
|
|
|
parser.declareStringArray(Ensemble.Builder::setClassificationLabels, CLASSIFICATION_LABELS);
|
|
|
@@ -414,14 +413,6 @@ public class Ensemble implements LenientlyParsedTrainedModel, StrictlyParsedTrai
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
- private void setOutputAggregatorFromParser(List<OutputAggregator> outputAggregators) {
|
|
|
- if (outputAggregators.size() != 1) {
|
|
|
- throw ExceptionsHelper.badRequestException("[{}] must have exactly one aggregator defined.",
|
|
|
- AGGREGATE_OUTPUT.getPreferredName());
|
|
|
- }
|
|
|
- this.setOutputAggregator(outputAggregators.get(0));
|
|
|
- }
|
|
|
-
|
|
|
private void setTargetType(String targetType) {
|
|
|
this.targetType = TargetType.fromString(targetType);
|
|
|
}
|