问题标签 [nd4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
105 浏览

java - PCA 因 ND4J 失败:找不到 BLAS?

我在 Windows 上使用 ND4J 对矩阵进行 PCA,但我认为 ND4J 找不到 BLAS 库。

我用 minGW ( makethen make PREFIX=C:/OpenBLAS install) 安装了 OpenBLAS,并将C:\OpenBLAS\bin(libopenblas.dll 所在的位置)添加到 PATH 环境变量中。执行where libopenblas.dll退货

所以我很惊讶地看到 OpenBLAS 已经安装了。

我的Java代码如下:

错误的堆栈是:

你知道如何解决这个问题吗?

如果这有帮助,我正在使用 Eclipse。

编辑:我使用的是过时版本的 ND4J,所以我将更新我的库,试图解决我的问题。

0 投票
1 回答
1332 浏览

java - 将 ND4J INDArray 转换为列表

我正在寻找如何将 N 行和 1 列的 INDArray 转换为 List(ArrayList 或其他东西,没关系)对象。

我可以多次转换对象,myIndarray.data()用于获取 DataBuffer,然后转换 DataBuffer 以获取一个 int 数组,然后是一个 ArrayList,但这似乎有点牵强:

另一种解决方案是遍历数组并将所有元素放入 ArrayList 中,但它似乎效率不高。

有没有一种干净的方法可以做到这一点?

0 投票
0 回答
112 浏览

java - ND4J 执行时间


ND4J 比普通的 Java 数组快吗?我通过初始化一个 100x100 ND4J 阵列然后打印它来完成基本测试,然后对普通阵列执行相同的操作。普通数组的执行时间快 10 倍。任何想法?

ND4J 代码:

执行时间约为 1700 ms。对于标准阵列,它大约是 150 毫秒。

0 投票
2 回答
262 浏览

deeplearning4j - Eclipse Deeplearning4j 是否提供 JAR 文件下载?

这个问题在支持频道上出现了很多。人们认为下载 JAR 文件会简化事情。

0 投票
1 回答
30 浏览

java - ND4J 类包映射

使用 ND4J 运行程序时出现以下错误:

到目前为止,我的 pom 文件中有以下 nd4j 工件:

javacpp、nd4j-jblas、nd4j-native-platform、nd4j-native、nd4j-common 遵循此处提到的依赖项:

如何反转错误消息并从缺少的类转到将导入此类的包?谢谢

0 投票
1 回答
78 浏览

java - ND4J JUnit 测试异常

我编写了一个简单的类并在 main() 中手动测试它并按预期工作:

但是尝试使用 JUnit 4 对此类进行单元测试会抛出 java.lang.AbstractMethodError:

事实上,使用 ND4J 并在 main() 中运行良好的更复杂的类在测试中也存在类似的问题。我的 pom 文件具有以下 ND4J 依赖项:javacpp、nd4j-jblas、nd4j-native-platform、nd4j-native。

谢谢

0 投票
1 回答
154 浏览

nd4j - ND4J,带轴的多维矩阵转置

NDArray像这样的 numpy 转置的等价物是什么: out = np.transpose(in, (0,2,1,3))
in排名第4)

0 投票
0 回答
72 浏览

java - ND4J getRows 不适用于向量

java nd4j-native-platform版本0.9.1中使用N4DJ

我试图通过仅选择某些行来创建数组的子集。我使用getRows方法执行此操作。

这适用于矩阵,但是当我的矩阵包含单行向量时,我得到不正确的结果,请参见下面的示例,显示调用方法 getRow(int i)与getRows(int...rows)相比如何正常工作:

当前的解决方法是检查矩阵是否实际上是单个向量并调用getRow而不是getRows方法。

这是 N4DJ 的已知问题还是我误解了什么?

请注意,列向量也会遇到类似的问题。

0 投票
0 回答
3097 浏览

java - 使用 restoreMultiLayerNetwork() 加载 DL4J 模型时,“类加载器命名空间”无法访问库

我无法找到如何摆脱/解决以下错误,这些错误在 使用 Android API >= 24的 DL4J 方法restoreMultiLayerNetwork加载神经网络模型时发生:

调用方法restoreMultiLayerNetwork中的以下行时会发生错误:

“coefficients.bin”是系数文件,在导出 DL4J 神经网络时通过以下方法从 DL4J 创建:

错误:“类加载器命名空间”无法访问库

E/链接器:库“/vendor/lib64/libcutils.so”(“/vendor/lib64/libcutils.so”)需要或由“/data/app/com.arai.arai-1/lib/arm64/libjnind4jcpu .so" 不可用于命名空间:[name="classloader-namespace", ld_library_paths="", default_library_paths="/data/app/com.arai.arai-1/lib/arm64:/system/fake-libs64 :/data/app/com.arai.arai-1/base.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_dependencies_apk.apk!/lib/arm64-v8a:/数据/app/com.arai.arai-1/split_lib_slice_0_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slice_1_apk.apk!/lib/arm64-v8a:/data/ app/com.arai.arai-1/split_lib_slice_2_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slice_3_apk.apk!/lib/arm64-v8a:/data/app/ com.arai.arai-1/split_lib_slice_4_apk.apk!/lib/arm64-v8a:/data/app/com.arai。arai-1/split_lib_slice_5_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slice_6_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai- 1/split_lib_slice_7_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slice_8_apk.apk!

库“/vendor/lib64/libutils.so”(“/vendor/lib64/libutils.so”)需要或“/data/app/com.arai.arai-1/lib/arm64/libjnind4jcpu.so”是命名空间不可访问:[name="classloader-namespace", ld_library_paths="", default_library_paths="/data/app/com.arai.arai-1/lib/arm64:/system/fake-libs64:/data/ app/com.arai.arai-1/base.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_dependencies_apk.apk!/lib/arm64-v8a:/data/app/ com.arai.arai-1/split_lib_slice_0_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slice_1_apk.apk!/lib/arm64-v8a:/data/app/com. arai.arai-1/split_lib_slice_2_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slice_3_apk.apk!/lib/arm64-v8a:/data/app/com.arai。 arai-1/split_lib_slice_4_apk.apk!/lib/arm64-v8a:/data/app/com.arai。arai-1/split_lib_slice_5_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slice_6_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai- 1/split_lib_slice_7_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slice_8_apk.apk!/l

W/链接器:库“/system/lib64/libbinder.so”(“/system/lib64/libbinder.so”)需要或由“/data/app/com.arai.arai-1/lib/arm64/libjnind4jcpu .so" 对于命名空间 "classloader-namespace" 是不可访问的 - 作为http://b/26394120的解决方法临时授予访问权限,请注意,该访问权限将在未来的 Android 版本中删除。

E/链接器:库“/vendor/lib64/libnativeloader.so”(“/vendor/lib64/libnativeloader.so”)需要或由“/data/app/com.arai.arai-1/lib/arm64/libjnind4jcpu命名空间无法访问 .so":[name="classloader-namespace", ld_library_paths="", default_library_paths="/data/app/com.arai.arai-1/lib/arm64:/system/fake-libs64 :/data/app/com.arai.arai-1/base.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_dependencies_apk.apk!/lib/arm64-v8a:/数据/app/com.arai.arai-1/split_lib_slice_0_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slice_1_apk.apk!/lib/arm64-v8a:/data/ app/com.arai.arai-1/split_lib_slice_2_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slice_3_apk.apk!/lib/arm64-v8a:/data/app/ com.arai.arai-1/split_lib_slice_4_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slice_5_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slice_6_apk.apk!/lib/arm64-v8a:/data /app/com.arai.arai-1/split_lib_slice_7_apk.apk!/lib/arm64-v8a:/data/app/com.arai.arai-1/split_lib_slic

W /链接器:库“/system/lib64/libandroid_runtime.so”(“/system/lib64/libandroid_runtime.so”)需要或由“/data/app/com.arai.arai-1/lib/arm64/libjnind4jcpu .so" 对于命名空间 "classloader-namespace" 是不可访问的 - 作为http://b/26394120的解决方法临时授予访问权限,请注意,该访问权限将在未来的 Android 版本中删除。

Android 版本:API >= 24

从 build.gradle 中提取,其中设置了 ND4J 依赖项:

0 投票
1 回答
350 浏览

deeplearning4j - Wildfly 中的 org.nd4j.linalg.factory.Nd4jBackend$NoAvailableBackendException

我正在将 deeplearning4j 与 JBOSS wildfly 一起使用。我已将下面提到的所有模块放在类路径中:

我仍然收到异常 java.lang.RuntimeException:

知道这里会发生什么吗?