[
https://issues.apache.org/jira/browse/SYSTEMML-1621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mike Dusenberry updated SYSTEMML-1621:
--------------------------------------
Description:
Scenario: Compute the element-wise max of a matrix {{X}} and {{0}}.
Current behavior: {{max(0, X)}} fails, {{max(0.0, X)}} works, and {{max(X, 0)}}
works as well.
Desired behavior: {{max(0, X)}} should work.
How to reproduce: {{nn/layers/relu.dml::forward}} currently contains a {{max(X,
0)}} function call. When the tests
({{test/integration/scripts/nn/NNTest.java}}) are run, everything works fine.
However, if this function is adjusted to be {{max(0, X)}}, the tests will fail
during parsing with the following error:
{code}
17/05/23 11:17:00 ERROR parser.StatementBlock: ERROR: ./nn/test/grad_check.dml
-- line 1729, column 2 -- for function two_layer_affine_l2_net_forward, return
variable aout value type of INT does not match value type in function signature
of DOUBLE and cannot safely cast double as int
17/05/23 11:17:00 ERROR api.DMLScript: Failed to execute DML script.
org.apache.sysml.parser.LanguageException: ERROR: ./nn/test/grad_check.dml --
line 1729, column 2 -- for function two_layer_affine_l2_net_forward, return
variable aout value type of INT does not match value type in function signature
of DOUBLE and cannot safely cast INT as DOUBLE
at
org.apache.sysml.parser.FunctionStatementBlock.validate(FunctionStatementBlock.java:155)
at
org.apache.sysml.parser.DMLTranslator.validateParseTree(DMLTranslator.java:133)
at org.apache.sysml.api.DMLScript.execute(DMLScript.java:758)
at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:506)
at org.apache.sysml.api.DMLScript.main(DMLScript.java:233)
Exception in thread "main" org.apache.sysml.api.DMLException:
org.apache.sysml.parser.LanguageException: ERROR: ./nn/test/grad_check.dml --
line 1729, column 2 -- for function two_layer_affine_l2_net_forward, return
variable aout value type of INT does not match value type in function signature
of DOUBLE and cannot safely cast INT as DOUBLE
at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:533)
at org.apache.sysml.api.DMLScript.main(DMLScript.java:233)
Caused by: org.apache.sysml.parser.LanguageException: ERROR:
./nn/test/grad_check.dml -- line 1729, column 2 -- for function
two_layer_affine_l2_net_forward, return variable aout value type of INT does
not match value type in function signature of DOUBLE and cannot safely cast INT
as DOUBLE
at
org.apache.sysml.parser.FunctionStatementBlock.validate(FunctionStatementBlock.java:155)
at
org.apache.sysml.parser.DMLTranslator.validateParseTree(DMLTranslator.java:133)
at org.apache.sysml.api.DMLScript.execute(DMLScript.java:758)
at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:506)
... 1 more
Failed to run SystemML. Exit code :256
{code}
was:
Scenario: Compute the element-wise max of a matrix {{X}} and {{0}}.
Current behavior: {{max(0, X)}} fails, {{max(0.0, X)}} works, and {{max(X, 0)}}
works as well.
Desired behavior: {{max(0, X)}} should work.
How to reproduce: {{nn/layers/relu.dml::forward}} currently contains a {{max(X,
0)}} function call. When the tests
({{test/integration/scripts/nn/NNTest.java}} are run, everything works fine.
However, if this function is adjusted to be {{max(0, X)}}, the tests will fail
during parsing with the following error:
{code}
17/05/23 11:17:00 ERROR parser.StatementBlock: ERROR: ./nn/test/grad_check.dml
-- line 1729, column 2 -- for function two_layer_affine_l2_net_forward, return
variable aout value type of INT does not match value type in function signature
of DOUBLE and cannot safely cast double as int
17/05/23 11:17:00 ERROR api.DMLScript: Failed to execute DML script.
org.apache.sysml.parser.LanguageException: ERROR: ./nn/test/grad_check.dml --
line 1729, column 2 -- for function two_layer_affine_l2_net_forward, return
variable aout value type of INT does not match value type in function signature
of DOUBLE and cannot safely cast INT as DOUBLE
at
org.apache.sysml.parser.FunctionStatementBlock.validate(FunctionStatementBlock.java:155)
at
org.apache.sysml.parser.DMLTranslator.validateParseTree(DMLTranslator.java:133)
at org.apache.sysml.api.DMLScript.execute(DMLScript.java:758)
at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:506)
at org.apache.sysml.api.DMLScript.main(DMLScript.java:233)
Exception in thread "main" org.apache.sysml.api.DMLException:
org.apache.sysml.parser.LanguageException: ERROR: ./nn/test/grad_check.dml --
line 1729, column 2 -- for function two_layer_affine_l2_net_forward, return
variable aout value type of INT does not match value type in function signature
of DOUBLE and cannot safely cast INT as DOUBLE
at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:533)
at org.apache.sysml.api.DMLScript.main(DMLScript.java:233)
Caused by: org.apache.sysml.parser.LanguageException: ERROR:
./nn/test/grad_check.dml -- line 1729, column 2 -- for function
two_layer_affine_l2_net_forward, return variable aout value type of INT does
not match value type in function signature of DOUBLE and cannot safely cast INT
as DOUBLE
at
org.apache.sysml.parser.FunctionStatementBlock.validate(FunctionStatementBlock.java:155)
at
org.apache.sysml.parser.DMLTranslator.validateParseTree(DMLTranslator.java:133)
at org.apache.sysml.api.DMLScript.execute(DMLScript.java:758)
at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:506)
... 1 more
Failed to run SystemML. Exit code :256
{code}
> `max(0, X)` fails with type mismatch
> ------------------------------------
>
> Key: SYSTEMML-1621
> URL: https://issues.apache.org/jira/browse/SYSTEMML-1621
> Project: SystemML
> Issue Type: Bug
> Reporter: Mike Dusenberry
>
> Scenario: Compute the element-wise max of a matrix {{X}} and {{0}}.
> Current behavior: {{max(0, X)}} fails, {{max(0.0, X)}} works, and {{max(X,
> 0)}} works as well.
> Desired behavior: {{max(0, X)}} should work.
> How to reproduce: {{nn/layers/relu.dml::forward}} currently contains a
> {{max(X, 0)}} function call. When the tests
> ({{test/integration/scripts/nn/NNTest.java}}) are run, everything works fine.
> However, if this function is adjusted to be {{max(0, X)}}, the tests will
> fail during parsing with the following error:
> {code}
> 17/05/23 11:17:00 ERROR parser.StatementBlock: ERROR:
> ./nn/test/grad_check.dml -- line 1729, column 2 -- for function
> two_layer_affine_l2_net_forward, return variable aout value type of INT does
> not match value type in function signature of DOUBLE and cannot safely cast
> double as int
> 17/05/23 11:17:00 ERROR api.DMLScript: Failed to execute DML script.
> org.apache.sysml.parser.LanguageException: ERROR: ./nn/test/grad_check.dml --
> line 1729, column 2 -- for function two_layer_affine_l2_net_forward, return
> variable aout value type of INT does not match value type in function
> signature of DOUBLE and cannot safely cast INT as DOUBLE
> at
> org.apache.sysml.parser.FunctionStatementBlock.validate(FunctionStatementBlock.java:155)
> at
> org.apache.sysml.parser.DMLTranslator.validateParseTree(DMLTranslator.java:133)
> at org.apache.sysml.api.DMLScript.execute(DMLScript.java:758)
> at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:506)
> at org.apache.sysml.api.DMLScript.main(DMLScript.java:233)
> Exception in thread "main" org.apache.sysml.api.DMLException:
> org.apache.sysml.parser.LanguageException: ERROR: ./nn/test/grad_check.dml --
> line 1729, column 2 -- for function two_layer_affine_l2_net_forward, return
> variable aout value type of INT does not match value type in function
> signature of DOUBLE and cannot safely cast INT as DOUBLE
> at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:533)
> at org.apache.sysml.api.DMLScript.main(DMLScript.java:233)
> Caused by: org.apache.sysml.parser.LanguageException: ERROR:
> ./nn/test/grad_check.dml -- line 1729, column 2 -- for function
> two_layer_affine_l2_net_forward, return variable aout value type of INT does
> not match value type in function signature of DOUBLE and cannot safely cast
> INT as DOUBLE
> at
> org.apache.sysml.parser.FunctionStatementBlock.validate(FunctionStatementBlock.java:155)
> at
> org.apache.sysml.parser.DMLTranslator.validateParseTree(DMLTranslator.java:133)
> at org.apache.sysml.api.DMLScript.execute(DMLScript.java:758)
> at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:506)
> ... 1 more
> Failed to run SystemML. Exit code :256
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)