aboutsummaryrefslogtreecommitdiffstats
path: root/model-evaluation
diff options
context:
space:
mode:
authorArne Juul <arnej@yahooinc.com>2023-03-21 12:27:02 +0000
committerArne Juul <arnej@yahooinc.com>2023-03-21 12:27:02 +0000
commitfdce02eb9bec0e05df661ac4f9225487502253b9 (patch)
treead5677f0f3043cd14f9ed9b43863a8bebccbf868 /model-evaluation
parent76514eafee98e8f5a8294ee5c56a75205e5b6e6a (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.java8
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 {