You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by mb...@apache.org on 2017/07/27 04:47:31 UTC
[2/2] systemml git commit: [HOTFIX][SYSTEMML-1761] Fix wsloss special
cases w/ sparse factors
[HOTFIX][SYSTEMML-1761] Fix wsloss special cases w/ sparse factors
This patch fixes null pointer exceptions of wsloss with sparse factors,
which implementations mistakenly access the non-existing weight matrix.
Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/8dcb487e
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/8dcb487e
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/8dcb487e
Branch: refs/heads/master
Commit: 8dcb487e4e4bb3b153690be351111f2ada1b58b1
Parents: 4184970
Author: Matthias Boehm <mb...@gmail.com>
Authored: Wed Jul 26 21:48:33 2017 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Wed Jul 26 21:49:01 2017 -0700
----------------------------------------------------------------------
.../java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/systemml/blob/8dcb487e/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java
index c2af52d..fd9742e 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java
@@ -2252,7 +2252,7 @@ public class LibMatrixMult
else if( wt==WeightsType.POST_NZ )
{
// approach: iterate over W, point-wise in order to exploit sparsity
- if( mW.sparse ) //SPARSE
+ if( mX.sparse ) //SPARSE
{
SparseBlock x = mX.sparseBlock;
@@ -2303,7 +2303,7 @@ public class LibMatrixMult
//parallel task computes sum(X^2)-sum(2*X*(U%*%t(V)))) and the last term
//sum((t(U)%*%U)*(t(V)%*%V)) is computed once via two tsmm operations.
- if( mW.sparse ) { //SPARSE
+ if( mX.sparse ) { //SPARSE
SparseBlock x = mX.sparseBlock;
for( int i=rl; i<ru; i++ ) {
if( x.isEmpty(i) ) continue;