从java调用python

问题描述 投票:1回答:1

我需要从Java调用一些Python代码。

我知道Jython存在或者Java有自己的Python解释器。

事实上,Python代码使用一些本机(C)编译代码,甚至在GPU上运行。

所以我可以把它分成两个问题:

  1. Jython或Java的Python解释器是否支持此功能?也就是说,Python代码(当从Java调用时)将与所有C和GPU部分一起运行,因此将以与其自身一样快的速度运行。
  2. 如果上述两种方式都不支持,有没有其他方法可以做到这一点?

附:如果这有帮助,虽然我认为这是无关紧要的,但我需要运行的代码是来自Keras的高度GPU / C优化神经网络(下面是TensorFlow)。我绝对不能运行唯一的Python解释版本。

java python jython
1个回答
1
投票

目前jython不支持本机编译的python模块。为了运行本机模块,您需要从java访问本机python(cpython)解释器。有几个使用JNI访问cpython解释器的开源项目。您可以研究的三个项目是JEPJPYJyNI。关于GPU访问,我只有使用JEP的经验,我已经使用PyCUDA在GPU上执行代码。虽然我没有使用tensorflow的个人经验,但我知道JEP邮件列表中有关于使用JEP和tensorflow的帖子,所以我相信还有其他项目成功使用了这个组合。

© www.soinside.com 2019 - 2024. All rights reserved.