我在Windows上使用ND4J对矩阵进行主成分分析,但我认为ND4J找不到BLAS库。
我在OpenBLAS中安装了minGW (make,然后是make PREFIX=C:/OpenBLAS install),并在PATH环境变量中添加了C:\OpenBLAS\bin ( libopenblas.dll在哪里)。执行where libopenblas.dll返回
C:\Program Files\Java\jdk1.8.0_111\bin\libopenblas.dll
C:\OpenBLAS\bin\libopenblas.dll因此,我惊讶地看到OpenBLAS已经安装好了。
我的Java代码如下:
INDArray traceMatrix = /* my data matrix */;
int keptFeatures = 10;
INDArray pcaFactors = PCA.pca(traceMatrix, keptFeatures, false);错误的堆栈是:
java.lang.UnsupportedOperationException
at org.nd4j.linalg.factory.BaseBlasWrapper.geev(BaseBlasWrapper.java:470)
at org.nd4j.linalg.eigen.Eigen.eigenvectors(Eigen.java:100)
at org.nd4j.linalg.dimensionalityreduction.PCA.pca(PCA.java:62)
at [myCode:line where the pca() method is called]你知道如何解决这个问题吗?
如果这有帮助的话,我正在使用Eclipse。
编辑:我使用的是一个过时的版本的ND4J,所以我将更新我的库,试图解决我的问题。
发布于 2018-05-22 13:22:15
在https://gitter.im/deeplearning4j/deeplearning4j的Alex的帮助下,我发现我使用的是ND4J的旧版本。
切换到较新的版本(并安装后端)解决了这个问题。
https://stackoverflow.com/questions/50408465
复制相似问题