问题描述
我正在尝试使用 Python 调用 Julia 脚本,以在需要大量调用的函数上获得更好的速度(对于某些 Monte Carlo 类型分析)。我已经通过以下方式在 python 中成功安装并运行了 Julia 脚本:
from julia import Main as JuliaMain # julia().<something> --> is deprecated,use Main instead
# julia.install() # use when running for the first time
script_julia = JuliaMain.include('juliascript.jl')
除了确保在 Julia 运行时中正确配置 PyCall 之外。
如果我错了,请纠正我,但根据我目前的理解,这将编译 juliascript.jl
中的任何函数,因为 Julia 会弄清楚返回类型是什么然后去通过它在您第一次调用和/或定义函数时所做的任何动作。
考虑juliascript.jl
中定义的函数类似于:
function f(x,y)
z = x + y
return z
end
如果我用 x = JuliaMain.eval("f(1,3)")
调用这个函数,这个函数的速度会反映被多次调用的 Julia 函数,还是每次都被有效地“重新编译”?
此外,如何调用这些定义的函数而不必将我的请求转换为字符串呢?我知道 from the docs 可以直接设置和获取变量,但这看起来很笨拙,我希望有一种更优雅的方式,例如格式为 JuliaMain.f(x,y)
或 {{1} }等
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)