我尝试使用多处理来加快代码的性能,同时也使用numba jitclass。jitted函数中包含jitclass实例,该函数是多处理池的目标。
运行代码时,收到以下错误消息:cPickle.PicklingError: Can't pickle : attribute lookup numba.jitclass.boxing.MyClass failed
我尝试在python3中运行代码,它也有相同的问题:
^{pr2}$
我甚至试过了”病理学.多处理或“multiprocessing_-on-dill”模块代替了原来的“multiprocessing”模块,但两个模块都不起作用。
我怎么处理这个问题?提前谢谢。在
下面是我的测试代码。在import numba as nb
from scipy.integrate import odeint
import multiprocessing as mp
@nb.jit(nopython=True)
def odeSystem(x, t, a):
v = a.func(x, t)
return 1-x+v
@nb.jitclass([])
class B(object):
def __init__(self):
spec = [("b", B.class_type.instance_type),("c", nb.f8)]
@nb.jitclass(spec)
class A(object):
def __init__(self, b, c):
self.b = b
self.c = c
def func(self, x, t):
return 0
def odeSolve(x, t, a):
sol = odeint(odeSystem, x, t, args=(a,))
return sol
if __name__ == "__main__":
a = A(B(), 3)
from functools import partial
initialx = range(10)
ode = partial(odeSolve, t=range(0, 10), a=a)
nProcess = 1
pool = mp.Pool(nProcess)
sol = pool.map(ode, initialx)
print sol
如果我运行这个,我得到一个错误消息:cPickle.PicklingError: Can't pickle : attribute lookup numba.jitclass.boxing.A failed
我尝试使用多处理来加快代码的性能,同时也使用numba jitclass。jitted函数中包含jitclass实例,该函数是多处理池的目标。运行代码时,收到以下错误消息:cPickle.PicklingError: Can't pickle : attribute lookup numba.jitclass.boxing.MyClass failed我尝试在python3中运行代码,它也有相同的...
--------------------------------------------------------------------------------------------------------------
numba
用户手册
1.
numba
基础
2.@
jit
3.使用自动并行化@
jit
4.性能提升
5.创建ufunc
6.@
jitclass
7.@cfunc
今天本来程序运行好着呢,中间修改了一段代码,出现如下
错
误:
jit
调试失败,出现以下
错
误:拒绝访问。
jit
调试由用户帐户"NT AUTHORITY\NETWORK SERVICE" 启动。
有关更多信息,请查看文档索引中的“实时调试,
错
误”。
在网上查了一下出现这种问题的还挺多,找到一个解决方法如下:
设置--控制面板--管理工具--Microsoft .NET Framework ...
您好,
Numba
是一个用于加速
Python
代码的库,它使用了一些
JIT
(Just-In-Time)编译技术来提高
Python
代码的执行速度。在使用
Numba
时,需要设置一些环境变量,以确保它能够正常工作。
如果您的
Numba
环境变量未通过,请按照以下步骤进行设置:
1. 打开终端或命令提示符窗口。
2. 输入以下命令:
set
NUMBA
_DISABLE_
JIT
=0
或者,在Linux或macOS中,输入以下命令:
export
NUMBA
_DISABLE_
JIT
=0
3. 再次运行您的
Python
组态软件,看看是否已经解决了问题。
如果上述方法无法解决问题,请确保您已经正确安装了
Numba
,并按照官方文档中的指南进行设置。如果仍然无法解决问题,请尝试在
Numba
的社区论坛中寻求帮助。