summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-07-04 19:38:57 -0700
committerJon Bratseth <bratseth@verizonmedia.com>2019-07-04 19:38:57 -0700
commit9c9dfeb5e25c1a3698559fa2c7e212e20010e659 (patch)
tree938c10d5464ab63822c44e1c95980f67806ed31f
parent901655db854a60455b42dc489a5e38820a3b67c0 (diff)
Implement toFullString
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/DimensionRenamer.java1
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Argument.java8
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/ConcatV2.java4
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Const.java8
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Constant.java13
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/ExpandDims.java10
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Identity.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/IntermediateOperation.java17
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Join.java10
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Map.java9
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/MatMul.java9
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Mean.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Merge.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/NoOp.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/PlaceholderWithDefault.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Rename.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Reshape.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Select.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Shape.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Softmax.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Squeeze.java3
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Sum.java10
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Switch.java3
23 files changed, 88 insertions, 47 deletions
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/DimensionRenamer.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/DimensionRenamer.java
index 550fb47b4ba..7a0cb4f474a 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/DimensionRenamer.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/DimensionRenamer.java
@@ -85,7 +85,6 @@ public class DimensionRenamer {
}
// TODO:
- // Implement toFullString everywhere
// Review constraints and skip a==a constraints on creation
// Skip arguments with empty type?
// Support non-root ops?
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Argument.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Argument.java
index b03e6889ab5..9f62a27a3b9 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Argument.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Argument.java
@@ -60,7 +60,13 @@ public class Argument extends IntermediateOperation {
}
@Override
- public String toString() {
+ public String operationName() { return "Argument"; }
+
+ @Override
+ public String toString() { return "Argument(" + standardNamingType + ")"; }
+
+ @Override
+ public String toFullString() {
return "\t" + lazyGetType() + ":\tArgument(" + standardNamingType + ")";
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/ConcatV2.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/ConcatV2.java
index b82a4458873..7787caa83ce 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/ConcatV2.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/ConcatV2.java
@@ -9,6 +9,7 @@ import com.yahoo.tensor.functions.TensorFunction;
import java.util.List;
import java.util.Optional;
+import java.util.stream.Collectors;
public class ConcatV2 extends IntermediateOperation {
@@ -104,4 +105,7 @@ public class ConcatV2 extends IntermediateOperation {
return new ConcatV2(modelName(), name(), inputs);
}
+ @Override
+ public String operationName() { return "ConcatV2"; }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Const.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Const.java
index f9b5d770aa0..d13c1ad5f3c 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Const.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Const.java
@@ -91,7 +91,15 @@ public class Const extends IntermediateOperation {
}
@Override
+ public String operationName() { return "Const"; }
+
+ @Override
public String toString() {
+ return "Const(" + type + ")";
+ }
+
+ @Override
+ public String toFullString() {
return "\t" + lazyGetType() + ":\tConst(" + type + ")";
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Constant.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Constant.java
index 42cdfe27e24..1eaaf705220 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Constant.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Constant.java
@@ -64,4 +64,17 @@ public class Constant extends IntermediateOperation {
return new Constant(modelName(), name(), type);
}
+ @Override
+ public String operationName() { return "Constant"; }
+
+ @Override
+ public String toString() {
+ return "Constant(" + type + ")";
+ }
+
+ @Override
+ public String toFullString() {
+ return "\t" + lazyGetType() + ":\tConstant(" + type + ")";
+ }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/ExpandDims.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/ExpandDims.java
index 569bd51cc0c..e6cc96d48ad 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/ExpandDims.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/ExpandDims.java
@@ -107,14 +107,6 @@ public class ExpandDims extends IntermediateOperation {
}
@Override
- public String toString() {
- return "ExpandDims(" + asString(inputs().get(0).type()) + ", " + asString(inputs().get(1).type()) + ", " + expandDimensions + ")";
- }
-
- @Override
- public String toFullString() {
- return "\t" + lazyGetType() + ":\tExpandDims(" + inputs().get(0).toFullString() + ", " +
- inputs().get(1).toFullString() + ", " + expandDimensions + ")";
- }
+ public String operationName() { return "ExpandDims"; }
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Identity.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Identity.java
index d2fc08fc877..5463f645355 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Identity.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Identity.java
@@ -37,4 +37,7 @@ public class Identity extends IntermediateOperation {
return new Identity(modelName(), name(), inputs);
}
+ @Override
+ public String operationName() { return "Identity"; }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/IntermediateOperation.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/IntermediateOperation.java
index 1bc424d1641..c3980b8fe93 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/IntermediateOperation.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/IntermediateOperation.java
@@ -194,8 +194,6 @@ public abstract class IntermediateOperation {
public abstract IntermediateOperation withInputs(List<IntermediateOperation> inputs);
- public String toFullString() { return toString(); }
-
String asString(Optional<OrderedTensorType> type) {
return type.map(t -> t.toString()).orElse("(unknown)");
}
@@ -228,4 +226,19 @@ public abstract class IntermediateOperation {
Optional<List<Value>> getList(String key);
}
+ public abstract String operationName();
+
+ @Override
+ public String toString() {
+ return operationName() +
+ inputs().stream().map(input -> asString(input.type())).collect(Collectors.joining(", ")) +
+ ")";
+ }
+
+ public String toFullString() {
+ return "\t" + lazyGetType() + ":\t" + operationName() +
+ inputs().stream().map(input -> input.toFullString()).collect(Collectors.joining(", ")) +
+ ")";
+ }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Join.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Join.java
index 2c62fcf62a5..adb54474812 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Join.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Join.java
@@ -117,14 +117,6 @@ public class Join extends IntermediateOperation {
}
@Override
- public String toString() {
- return "Join(" + asString(inputs().get(0).type()) + ", " + asString(inputs().get(1).type()) + ", " + operator + ")";
- }
-
- @Override
- public String toFullString() {
- return "\t" + lazyGetType() + ":\tJoin(" + inputs().get(0).toFullString() + ", " +
- inputs().get(1).toFullString() + ", " + operator + ")";
- }
+ public String operationName() { return "Join"; }
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Map.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Map.java
index cbdb15cd364..ea39e289c48 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Map.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Map.java
@@ -40,13 +40,6 @@ public class Map extends IntermediateOperation {
}
@Override
- public String toString() {
- return "Map(" + asString(inputs().get(0).type()) + ", " + operator + ")";
- }
-
- @Override
- public String toFullString() {
- return "\t" + lazyGetType() + ":\tMap(" + inputs().get(0).toFullString() + ", " + operator + ")";
- }
+ public String operationName() { return "Map"; }
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/MatMul.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/MatMul.java
index 9158eeea02b..434261c6077 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/MatMul.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/MatMul.java
@@ -86,13 +86,6 @@ public class MatMul extends IntermediateOperation {
}
@Override
- public String toFullString() {
- return "\t" + lazyGetType() + ":\tMatMul(" + inputs().get(0).toFullString() + ", " + inputs().get(1).toFullString() + ")";
- }
-
- @Override
- public String toString() {
- return "MatMul(" + asString(inputs().get(0).type()) + ", " + asString(inputs().get(1).type()) + ")";
- }
+ public String operationName() { return "MatMul"; }
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Mean.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Mean.java
index 691e9966bb0..215edf88c4f 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Mean.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Mean.java
@@ -113,4 +113,7 @@ public class Mean extends IntermediateOperation {
return builder.build();
}
+ @Override
+ public String operationName() { return "Mean"; }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Merge.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Merge.java
index 1bf92848d10..671cfe852a7 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Merge.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Merge.java
@@ -37,4 +37,7 @@ public class Merge extends IntermediateOperation {
return new Merge(modelName(), name(), inputs);
}
+ @Override
+ public String operationName() { return "Merge"; }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/NoOp.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/NoOp.java
index 5ecaaa10c57..35d89cf6ab6 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/NoOp.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/NoOp.java
@@ -28,4 +28,7 @@ public class NoOp extends IntermediateOperation {
return new NoOp(modelName(), name(), inputs);
}
+ @Override
+ public String operationName() { return "NoOp"; }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/PlaceholderWithDefault.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/PlaceholderWithDefault.java
index b74e5176862..177ef8d5e17 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/PlaceholderWithDefault.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/PlaceholderWithDefault.java
@@ -50,4 +50,7 @@ public class PlaceholderWithDefault extends IntermediateOperation {
return new PlaceholderWithDefault(modelName(), name(), inputs);
}
+ @Override
+ public String operationName() { return "PlaceholdeWithDefault"; }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Rename.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Rename.java
index 2dad0fd641e..abc431233be 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Rename.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Rename.java
@@ -59,6 +59,9 @@ public class Rename extends IntermediateOperation {
return new Rename(modelName(), from, to, inputs.get(0));
}
+ @Override
+ public String operationName() { return "Rename"; }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Reshape.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Reshape.java
index 96a52e347d1..a210ed13f5d 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Reshape.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Reshape.java
@@ -124,4 +124,7 @@ public class Reshape extends IntermediateOperation {
return new ArithmeticNode(children, operators);
}
+ @Override
+ public String operationName() { return "Reshape"; }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Select.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Select.java
index b02609ca1d9..35a1b6e2b0e 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Select.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Select.java
@@ -90,4 +90,7 @@ public class Select extends IntermediateOperation {
return new Select(modelName(), name(), inputs);
}
+ @Override
+ public String operationName() { return "Select"; }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Shape.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Shape.java
index 5aaf379df62..57175092b5c 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Shape.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Shape.java
@@ -55,4 +55,7 @@ public class Shape extends IntermediateOperation {
this.setConstantValue(new TensorValue(builder.build()));
}
+ @Override
+ public String operationName() { return "Shape"; }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Softmax.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Softmax.java
index b95462baea5..032ffb88a46 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Softmax.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Softmax.java
@@ -42,4 +42,7 @@ public class Softmax extends IntermediateOperation {
return new Softmax(modelName(), name(), inputs);
}
+ @Override
+ public String operationName() { return "SoftMax"; }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Squeeze.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Squeeze.java
index db6548ce4ff..56d9b542093 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Squeeze.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Squeeze.java
@@ -85,4 +85,7 @@ public class Squeeze extends IntermediateOperation {
return builder.build();
}
+ @Override
+ public String operationName() { return "Squeeze"; }
+
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Sum.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Sum.java
index 7de6c5b0fb8..c8cd235f50e 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Sum.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Sum.java
@@ -113,14 +113,6 @@ public class Sum extends IntermediateOperation {
}
@Override
- public String toString() {
- return "Sum(" + asString(inputs().get(0).type()) + ", " + asString(inputs().get(1).type()) + ", " + reduceDimensions + ")";
- }
-
- @Override
- public String toFullString() {
- return "\t" + lazyGetType() + ":\tSum[keep_dims=" + shouldKeepDimensions() + "](" +
- inputs().get(0).toFullString() + ", " + inputs().get(1).toFullString() + ", " + reduceDimensions + ")";
- }
+ public String operationName() { return "Sum"; }
}
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Switch.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Switch.java
index 77ec720e645..4beafc68909 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Switch.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/operations/Switch.java
@@ -47,6 +47,9 @@ public class Switch extends IntermediateOperation {
return new Switch(modelName(), name(), inputs, port);
}
+ @Override
+ public String operationName() { return "Switch"; }
+
}