我正在调试使用dask进行计算的代码。异常回溯以以下内容结束:
File "/media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages/dask/core.py", line 118, in _execute_task
args2 = [_execute_task(a, cache) for a in args]
File "/media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages/dask/core.py", line 118, in <listcomp>
args2 = [_execute_task(a, cache) for a in args]
File "/media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages/dask/core.py", line 119, in _execute_task
return func(*args2)
File "/media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages/dask/optimization.py", line 942, in __call__
dict(zip(self.inkeys, args)))
File "/media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages/dask/core.py", line 149, in get
result = _execute_task(task, cache)
File "/media/nas/x21324/miniconda3/envs/py37d/lib/python3.7/site-packages/dask/core.py", line 119, in _execute_task
return func(*args2)
RuntimeWarning: invalid value encountered in less_equal
在许多级别上,它会导致一个.compute(...)
调用,该调用要么被显式调用,要么是触发计算的某个其他操作的结果(在本例中为numpy.ma.masked_invalid
)。触发错误的实际代码在其他地方,在调度dask任务时的操作中
在dask debugging guidelines之后,我运行了dask.config.set(scheduler='single-threaded')
,但据我所知,这似乎没有什么区别
是否有一种方法可以配置dask以在提交时立即执行所有任务,或者有其他方法可以获得回溯,以便将调试指向提交指令的行
(这是一个警告,不是一个错误,但我已将其转化为一个例外,因为我想研究导致它的情况)
当您在单线程调度程序中看到异常时,您可以像在任何其他异常中一样在ipython/jupyter会话中运行
pdb.pm()
(或者简单地说pdb
),从而找出发生错误时的条件相关问题 更多 >
编程相关推荐