diff options
author | Lester Solbakken <lesters@oath.com> | 2018-04-23 10:30:41 +0200 |
---|---|---|
committer | Lester Solbakken <lesters@oath.com> | 2018-04-23 10:30:41 +0200 |
commit | 15eb4d021ecd25dc51479c454ad7d67e3885adb1 (patch) | |
tree | 7050051f77340624aca50277817dfb11f8f3358e /config-model | |
parent | c20789e307457b8c0eeef4587604a45cea5672b1 (diff) |
Better error message when TensorFlow model import fails
Diffstat (limited to 'config-model')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/TensorFlowFeatureConverter.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/TensorFlowFeatureConverter.java b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/TensorFlowFeatureConverter.java index 1e6645df792..5790a5294eb 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/TensorFlowFeatureConverter.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/TensorFlowFeatureConverter.java @@ -110,6 +110,17 @@ public class TensorFlowFeatureConverter extends ExpressionTransformer<RankProfil // Find the specified expression Signature signature = chooseSignature(model, store.arguments().signature()); String output = chooseOutput(signature, store.arguments().output()); + if (signature.skippedOutputs().containsKey(output)) { + String message = "Could not import TensorFlow model output '" + output + "'"; + if (!signature.skippedOutputs().get(output).isEmpty()) { + message += ": " + signature.skippedOutputs().get(output); + } + if (!signature.importWarnings().isEmpty()) { + message += ": " + String.join(", ", signature.importWarnings()); + } + throw new IllegalArgumentException(message); + } + RankingExpression expression = model.expressions().get(output); expression = replaceConstantsByMacros(expression, constantsReplacedByMacros); verifyRequiredMacros(expression, model, profile, queryProfiles); |