Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
SystemML 0.9, SystemML 0.10
-
None
Description
I've found a bug in which assigning the result of a DML function to a portion of a matrix with left-indexing results in the left-hand matrix being reduced in size dimensionally. This bug was encountered while working on the deep learning DML library, and the following simplified example aims to provide a simple, reproducible example.
Given the following code,
N = 3 M = 5 forward = function(matrix[double] X) return (matrix[double] out) { out = 1 / (1 + exp(-X)) } X = rand(rows=N, cols=M) X[,1:2] = forward(X[,1:2]) print("X1: " + nrow(X) + "x" + ncol(X)) if(1==1){} X = rand(rows=N, cols=M) temp = forward(X[,1:2]) X[,1:2] = temp print("X2: " + nrow(X) + "x" + ncol(X)) if(1==1){} print("")
, notice that X should always be a 3x5 matrix, as both cases are equivalent. However, in the first case, X is truncated to a 3x2 matrix:
X1: 3x2 X2: 3x5
Note: The if(1==1) statements are included because otherwise the print statements are executed out of order.
Attachments
Issue Links
- relates to
-
SYSTEMDS-588 Improve UDFs
- In Progress