Details
-
Task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Currently, our engine supports matrix-vector binary operations. For example, we make use of broadcasting to allow for binary operations between matrices and vectors that have a common size in each the row or column dimension. However, we do not support vector-matrix binary operations.
Works correctly --> op(matrix, vector):
a = rand(rows=4, cols=16) b = rand(rows=1, cols=16) out = a * b print(toString(out))
Fails --> op(vector, matrix):
a = rand(rows=4, cols=16) b = rand(rows=1, cols=16) out = b * a print(toString(out))
org.apache.sysml.parser.LanguageException: Invalid Parameters : ERROR: tests/broadcasting_test.dml -- line 4, column 7 -- Mismatch in dimensions for operation (b MULT a) at org.apache.sysml.parser.Expression.raiseValidateError(Expression.java:549) at org.apache.sysml.parser.BinaryExpression.checkAndSetDimensions(BinaryExpression.java:188) at org.apache.sysml.parser.BinaryExpression.validateExpression(BinaryExpression.java:141) at org.apache.sysml.parser.StatementBlock.validate(StatementBlock.java:592) at org.apache.sysml.parser.DMLTranslator.validateParseTree(DMLTranslator.java:141) at org.apache.sysml.api.DMLScript.execute(DMLScript.java:588) at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:350) at org.apache.sysml.api.DMLScript.main(DMLScript.java:211) Exception in thread "main" org.apache.sysml.api.DMLException: org.apache.sysml.parser.LanguageException: Invalid Parameters : ERROR: tests/broadcasting_test.dml -- line 4, column 7 -- Mismatch in dimensions for operation (b MULT a) at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:364) at org.apache.sysml.api.DMLScript.main(DMLScript.java:211) Caused by: org.apache.sysml.parser.LanguageException: Invalid Parameters : ERROR: tests/broadcasting_test.dml -- line 4, column 7 -- Mismatch in dimensions for operation (b MULT a) at org.apache.sysml.parser.Expression.raiseValidateError(Expression.java:549) at org.apache.sysml.parser.BinaryExpression.checkAndSetDimensions(BinaryExpression.java:188) at org.apache.sysml.parser.BinaryExpression.validateExpression(BinaryExpression.java:141) at org.apache.sysml.parser.StatementBlock.validate(StatementBlock.java:592) at org.apache.sysml.parser.DMLTranslator.validateParseTree(DMLTranslator.java:141) at org.apache.sysml.api.DMLScript.execute(DMLScript.java:588) at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:350) ... 1 more
Attachments
Attachments
Issue Links
- relates to
-
SYSTEMDS-1409 Add batch normalization layer
- Closed