From fdce02eb9bec0e05df661ac4f9225487502253b9 Mon Sep 17 00:00:00 2001 From: Arne Juul Date: Tue, 21 Mar 2023 12:27:02 +0000 Subject: check ONNX model input type with isAssignableTo --- .../src/main/java/ai/vespa/models/evaluation/Model.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'model-evaluation') 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 { -- cgit v1.2.3