Java等效于Numpy多维对象

Mon*_*key 15 java numpy multidimensional-array

使用它一段时间后,我真的很喜欢Numpy多维数组.使用简洁但可读且相当通用的代码编写算法是有帮助的.我希望在Java中有同样的东西.在用自己的类似Numpy的API编写多维数组之前,有没有这样的事情?

[PS]我搜索了一下,没看到

KIC*_*KIC 16

OP来自2011年.因此,截至2015年底,我想提一下,镇上有一个新的孩子,声称对于java - > nd4j来说是个笨蛋.好消息是nd4j是一个在blas等不同库之上的抽象层.根据矩阵的大小,底层实现的速度是numpy或jblas的两倍.而且您的代码是真正的平台独立的.

  • 不幸的是,即使 4 年后,ND4j 的记录也相当匮乏。 (5认同)
  • 您好,您介意在我们可以看到的地方提交一个问题吗?https://github.com/eclipse/deeplearning4j/issues?这将是一次更有成效的讨论。我们很高兴满足个人需求,并且知道我们总是可以改进(就像任何 OSS 项目一样) (4认同)
  • @theprogrammer https://deeplearning4j.konduit.ai/nd4j/basics (2认同)

mik*_*era 7

Vectorz ( https://github.com/mikera/vectorz ) 提供了一个功能齐全的 NDArray,在功能上与 Numpy 的 NDArray 大致相同,即它提供了以下功能:

  • 数值的任意N 维数组(在这种情况下,Java 翻倍)
  • 使用跨步访问实现高效切片的轻量级视图
  • 具有高效实现的广泛数学运算

它也非常快:对于大多数操作,它比 NumPy 快得多,尽管 NumPy 对于某些大型矩阵操作可能仍然更快,因为它使用本机 BLAS 库来加速这些操作。

这是 NDArray 类本身:

https://github.com/mikera/vectorz/blob/develop/src/main/java/mikera/arrayz/NDArray.java

免责声明:我是 Vectorz 的作者


Mon*_*key 2

所以最接近的匹配似乎是柯尔特!http://acs.lbl.gov/software/colt/

它具有多维数组对象、数组视图和常用的线性代数!而且这似乎相当有效。

  • 您能回答一下,Colt 的哪一类代表多维数组吗? (3认同)
  • @dlegland,所以它远不等于“numpy”。 (3认同)