diff options
author | Arne Juul <arnej@yahooinc.com> | 2023-03-21 12:27:02 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahooinc.com> | 2023-03-21 12:27:02 +0000 |
commit | fdce02eb9bec0e05df661ac4f9225487502253b9 (patch) | |
tree | ad5677f0f3043cd14f9ed9b43863a8bebccbf868 /model-evaluation | |
parent | 76514eafee98e8f5a8294ee5c56a75205e5b6e6a (diff) |
check ONNX model input type with isAssignableTo
Diffstat (limited to 'model-evaluation')
-rw-r--r-- | model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java b/model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java index 66612b7ccc3..e0be208bf31 100644 --- a/model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java +++ b/model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java @@ -95,9 +95,11 @@ public class Model implements AutoCloseable { logger.fine("Replacing " + node + " => " + expr); node = expr; for (var inputSpec : m.inputSpecs) { - var old = declaredTypes.put(inputSpec.source, inputSpec.wantedType); - if (old != null && ! old.equals(inputSpec.wantedType)) { - throw new IllegalArgumentException("Conflicting types needed for " + inputSpec.source + "; " + old + " != " + inputSpec.wantedType); + var old = declaredTypes.get(inputSpec.source); + if (old == null) { + declaredTypes.put(inputSpec.source, inputSpec.wantedType); + } else if (! old.isAssignableTo(inputSpec.wantedType)) { + throw new IllegalArgumentException("Conflicting types needed for " + inputSpec.source + "; " + old + " cannot be assigned to " + inputSpec.wantedType); } } } else { |