DN4j
DN4j is N-Dimensional Arrays for Java.
主要特点
-
多用途多维数组对象
-
多平台功能,包括GPU
-
线性代数和信号处理功能
由于易用性上存在的缺口,Java、Scala 和 Clojure 编程人员无法充分利用NumPy或Matlab等数据分析方面最强大的工具。 Breeze 等其他库则不支持多维数组或张量,而这却是深度学习和其他任务的关键。 ND4J 和 ND4S 正得到国家级实验室的使用,以完成气候建模等任务。这类任务要求完成计算密集的模拟运算。
Quick Start
mvn 引入
- version
<properties>
<nd4j.version>0.9.1</nd4j.version>
</properties>
- jar
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-native-platform</artifactId>
<version>${nd4j.version}</version>
</dependency>
代码
- create
创建 2x2 多维数组:
INDArray arr1 = Nd4j.create(new float[]{1,2,3,4},new int[]{2,2});
System.out.println(arr1);
结果:
[[1.00, 2.00],
[3.00, 4.00]]
- add
通过就地运算新增标量:
arr1.addi(1);
System.out.println(arr1);
结果:
[[2.00, 3.00],
[4.00, 5.00]]
- add array
创建第二个数组(arr2)并将其加入第一个(arr1)
INDArray arr2 = Nd4j.create(new float[]{5,6,7,8},new int[]{2,2});
arr1.addi(arr2);
System.out.println(arr1);
结果:
[[7.00, 9.00],
[11.00, 13.00]]