我正在尝试评估Jupyter Notebook中某些算法的性能。我有6个输入需要测试,它们需要一段时间才能运行,因此我想通过并行化代码来使其更快。我是Python的新手,所以我不明白自己在做什么错。
我这样在终端中启动集群:
ConstraintViolationException
我这样创建了一个客户端:
ipcluster start -n 6
我正在尝试像这样并行化:
from ipyparallel import Client
c = Client()
v = c[:]
v.map(lambda x: time_algorithm(optimized_hcs, x, h1), states)
是对象列表,states
如下所示:
time_algorithm
我得到的全部错误是:
def time_algorithm(function, state, heuristic=None):
timeitresult = 0
if heuristic is None:
timeitresult = %timeit -o -q function(state)
else:
timeitresult = %timeit -o -q function(state, heuristic)
return sum(timeitresult.all_runs) / len(timeitresult.all_runs)