【问题标题】:Incanter-numpy interopIncanter-numpy 互操作
【发布时间】:2023-03-17 16:15:01
【问题描述】:

我想使用 Clojure 的 Incanter,但我想混合调用 Python 广泛的 Numpy/Scipy 数值库。 Incanter 和 Numpy 之间是否存在互操作性桥梁,允许从 Clojure 运行 CPython 的嵌入式运行时,并且可以相互转换 Numpy 和 Incanter 的矩阵数据结构?

Jython 还不够,因为 Numpy 需要 CPython。

我知道(但从未使用过)http://jepp.sourceforge.net/,它允许 Java 程序控制嵌入式 CPython 运行时——但仍然需要 Numpy/Incanter 矩阵相互转换。

我正在寻找类似于 https://github.com/jolby/rincanter 的东西(我还没有使用过)但用于 CPython/Numpy 而不是 R。

【问题讨论】:

    标签: python clojure numpy jvm incanter


    【解决方案1】:

    没有现成的 numpy-incanter 桥。你必须自己写。

    一种方法是使用 JNI resp。 Jepp 和 - 正如你已经说过的 - 将原始 ndarray 字节转换为 Java Colt 库可以使用的东西(反之亦然; incanter 建立在 Colt 之上)。此外,您已经包装了您感兴趣的所有功能。

    另一种方法是序列化 ndarray 并在 CPython 和 Jython 之间发送它们(例如使用 Pyro,可与 CPython 和 Jython 一起使用:http://packages.python.org/Pyro4/alternative.html#jython)。同样,您必须将原始字节转换为 Incanter 相应的内容。 numpy 可以理解,但您可以在 Java 端使用 Python 代码,而无需使用 JNI 将每个函数包装在 numpy/scipy 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      • 2016-06-06
      • 2014-08-17
      相关资源
      最近更新 更多