矩阵库更新

Ism*_*ush 5 java matrix linear-algebra

我正在做一个神经网络项目(如你所知,大部分是线性代数计算),所以我已经使用了 Jblas,这是一个很棒的库,但是在我安装了 Ubuntu 最新版本 11.04 后,我在使用它时遇到了一些麻烦,(错误可能不要复制 temp bla bla)如果我做了一些工作我会解决这个问题。

但错误本身是一个警告我真的应该使用本机库吗?知道我已经因为这种错误而逃离了 C++(Java 是可移植的并且实现更容易等)

所以我回到了 Apache Commons,它相当不错(功能上:很多包,良好的设计),但性能是最差的!

这让我陷入了两难境地:Apache 的性能与当今处理器的性能相比,我们是否应该忽视像 Apache 这样的库的缓慢性能,而依靠新处理器中技术和多线程的改进?

你认为我应该做什么?我已经使用了一半的 JBLAS,

  1. 我应该使用阿帕奇吗?
  2. 继续使用 JBLA(修复错误)并继续
  3. 使用您选择的另一个新的 2011 年有前途的 JAVA 线性代数库吗?

编辑:错误是:“org.jblas错误无法加载复制的链接文件:java.lang.UnsatisfiedLinkError:/tmp/jblas2930149998010945438libjblas_arch_flavor.so:libgfortran.so.3:无法打开共享对象文件:没有这样的文件或目录。”

当我在Facebook 页面咨询 JBLAS 的作者后,他们告诉我我需要安装 libgfortran3,问题就解决了“以防万一有人遇到同样的问题”

duf*_*ymo 1

我不认为像 Java 这样的解释性语言会给你带来本机代码的原始性能。这就是为什么 FORTRAN/C/C++ 在科学计算领域仍然非常活跃和良好。据我所知,像 LAPACK 这样的软件包仍然是黄金标准。

我不确定柯尔特是否让我成为一个骗子。我对此没有个人经验,但如果我仍在该领域工作,我肯定会看看。

如果这确实是您最大的问题,我会继续使用 JBLAS。您可以修复该错误。继续前进。

  • Java 不是一种纯粹的解释性语言。JVM 有一个 JIT(即时)编译器,它将字节码编译为非常高效的本机代码。Java 并不慢,因为它没有提前编译为本机机器代码。 (2认同)