gpt4 book ai didi

python - 将 NumPy 与 JyNI 结合使用

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:14 24 4
gpt4 key购买 nike

我正在尝试将 Python 程序与 Java 结合使用。我的Python程序如下:

import CostCalculatorType
import os
from Evaluate.read_input_data import *

class CostCalculator(CostCalculatorType, object):

def __init__(self):
print 'Initializing'
pass

def calculateCost(self, chromosome):
inputData = ReadInputData(chromosome, 'input_data.txt')
return inputData

我是从 Java 接口(interface)调用它的。我正在使用 JyNI.org 上指定的以下命令:

java -cp /home/ch/jython.jar:/home/ch/JyNI.jar org.python.util.jython CostCalculator.py

java Main

我收到以下错误:

File "/home/ch/CostCalculator.py", line 18, in calculateCost
inputData = ReadInputData(chromosome, 'input_data.txt')
File "/usr/lib/python2.6/site-packages/Evaluate/read_input_data.py", line 21, in __init__
self.info = infoClass(0, [], [], 0.02)
File "/usr/lib/python2.6/site-packages/Evaluate/infoClass.py", line 7, in __init__
import numpy
ImportError: No module named numpy

NumPy 完全可以用 JyNI 导入吗?

最佳答案

这有点像 How to setup numpy in jython 的副本.为方便起见,我将从那里重复我的回答:

JyNI 确实将 NumPy 支持作为其主要目标,但还不能做到,只要它仍处于 alpha 状态。但是,在它足够成熟之前,您可以通过以下方式使用 NumPy

或者,您可以使用 Java 数值库进行计算,例如其中之一:

两者都是 Java 库,由 blas 或 lapack 原生支持进行数值处理(即 NumPy 使用相同的后端),因此性能应该或多或少与 NumPy 相当。然而,它们不像 NumPy 那样具有如此出色的多数组实现。

如果您间接需要 NumPy 来满足某些其他框架的依赖性,这些解决方案不会开箱即用。如果依赖关系很小,您可以根据指定项目之一重写/替换相应的调用。否则你将不得不等待 JyNI...

如果您可以通过这种方式让一些框架在 Jython 上运行,请考虑公开您的工作,最好是作为框架的一个分支。

关于python - 将 NumPy 与 JyNI 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30654683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com