Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect results of matrix multiplication and matrix concatenation of Nd4j library #142

Closed
beomyeol opened this issue Nov 3, 2015 · 4 comments · Fixed by #148
Closed

Comments

@beomyeol
Copy link
Contributor

beomyeol commented Nov 3, 2015

We are using 0.0.3.5.5.5 version of ND4J library for matrix operations. However, I found that matrix multiplication results are incorrect when getting one of operands via getRow() method of INDArray. getRow() method is essential for batch processing.
In addition, the concatenation operation of matrices produces incorrect results of which shapes are wrong. In model partitioning, the concatenation operation is necessary.

With the latest version 0.4-rc3.5 of ND4J, the above issues seem to be fixed. But, multiplication results are still incorrect, which makes NerualNetworkTest fail. Although we have watched the updates of ND4J library for more than 2 months, the accuracy problem of matrix multiplication has not been fixed yet.

We may use workarounds for these. But it will make our codes complicated. Thus, we should consider the replacement of ND4J library with other stable, reliable, and faster BLAS libraries such as JBLAS and netlib-java.

@bgchun
Copy link
Contributor

bgchun commented Nov 3, 2015

+1 on using JBLAS and netlib-java.

On Tue, Nov 3, 2015 at 4:59 PM, Beomyeol Jeon notifications@github.com
wrote:

We are using 0.0.3.5.5.5 version of ND4J http://nd4j.org/ library for
matrix operations. However, I found that matrix multiplication results are
incorrect when getting one of operands via getRow() method of INDArray.
getRow() method is essential for batch processing.
In addition, the concatenation operation of matrices produces incorrect
results of which shapes are wrong. In model partitioning, the concatenation
operation is necessary.

With the latest version 0.4-rc3.5 of ND4J, the above issues seem to be
fixed. But, multiplication results are still incorrect, which makes
NerualNetworkTest fail. Although we have watched the updates of ND4J
library for more than 2 months, the accuracy problem of matrix
multiplication has not been fixed yet.

We may use workarounds for these. But it will make our codes complicated.
Thus, we should consider the replacement of ND4J library with other stable,
reliable, and faster BLAS libraries such as JBLAS
http://http://jblas.org/ and netlib-java
https://github.com/fommil/netlib-java.


Reply to this email directly or view it on GitHub
#142.

Byung-Gon Chun

@dongjoon-hyun
Copy link
Contributor

@swlsw , any comments?

@swlsw
Copy link
Contributor

swlsw commented Nov 4, 2015

We couldn't find any solution for Nd4j problem, so
+1 on using JBLAS and netlib-java.

@beomyeol beomyeol self-assigned this Nov 4, 2015
@dongjoon-hyun
Copy link
Contributor

Very good!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants