4

Clojure の Incanter を使用したいのですが、Python の広範な Numpy/Scipy 数値ライブラリの呼び出しを混ぜて使用したいと考えています。CPython の組み込みランタイムを Clojure から実行できるようにし、Numpy と Incanter の行列データ構造を相互変換する、Incanter と Numpy 間の相互運用ブリッジはありますか?

Numpy には CPython が必要なため、Jython では不十分です。

Java プログラムが組み込みの CPython ランタイムを制御できるようにするhttp://jepp.sourceforge.net/を認識しています (ただし、使用したことはありません) 。ただし、Numpy/Incanter 行列の相互変換はまだ必要です。

https://github.com/jolby/rincanter (まだ使用していません)に似たものを探していますが、R ではなく CPython/Numpy 用です。

4

1 に答える 1

1

既製のnumpy-incanterブリッジはありません。あなたはあなた自身を書かなければなりません。

1つの方法は、JNI応答を使用することです。Jeppと-すでに述べたように-生のndarrayバイトをJavaColtライブラリが使用できるものに変換します(逆もまた同様です。incanterはColt上に構築されます)。さらに、関心のあるすべての関数をラップしました。

もう1つの方法は、ndarrayをシリアル化して、CPythonとJythonの間で送信することです(たとえば、CPythonとJythonで動作するPyro:http: //packages.python.org/Pyro4/alternative.html#jython)。ここでも、生のバイトをIncanterrespに変換する必要があります。numpyは理解できますが、JNIを使​​用してnumpy/scipy内のすべての関数をラップする必要なしにJava側でPythonコードを使用できます。

于 2012-02-09T16:53:09.377 に答える