python - Joblib 在 2x n_jobs 后崩溃
问题描述
Joblib 因错误而崩溃
Parallel(n_jobs=-1, prefer="threads", verbose=10)(
File "/home/developer/.local/lib/python3.8/site-packages/joblib/parallel.py", line 1054, in __call__
self.retrieve()
File "/home/developer/.local/lib/python3.8/site-packages/joblib/parallel.py", line 933, in retrieve
self._output.extend(job.get(timeout=self.timeout))
File "/usr/lib/python3.8/multiprocessing/pool.py", line 771, in get
raise self._value
File "/usr/lib/python3.8/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/home/developer/.local/lib/python3.8/site-packages/joblib/_parallel_backends.py", line 595, in __call__
return self.func(*args, **kwargs)
File "/home/developer/.local/lib/python3.8/site-packages/joblib/parallel.py", line 262, in __call__
return [func(*args, **kwargs)
File "/home/developer/.local/lib/python3.8/site-packages/joblib/parallel.py", line 263, in <listcomp>
for func, args, kwargs in self.items]
TypeError: cannot unpack non-iterable function object
在这段代码上(一些名称被更改以隐藏信息)
with open(inputFile) as file:
csv_reader = csv.DictReader(
file, fieldnames=["Header1", "Header2"])
Parallel(n_jobs=3, prefer="threads", verbose=10)(
delayed(pullSummaryData(row["Header1"]))
for row in csv_reader
)
有趣的部分是它总是在pullSummaryData
准确调用 2*后崩溃n_jobs
。如果n_jobs=3
,pullSummaryData
将在崩溃前被调用 6 次。
作业库 v1.0.1
csv v1.0
Python v3.8.5
解决方案
尝试更改delayed(pullSummaryData(row["Header1"]))
为delayed(pullSummaryData)(row["Header1"])
.
参考:文件
根据user696969在原始帖子下的评论回答。
推荐阅读
- node.js - 运行 Docker 容器时无法显示我的 React UI
- asp.net-mvc - Blazor,MVC。确认电子邮件。为什么 url 这么长(500 个字符)
- angular - 带角度应用的钥匙斗篷
- python - 硒python加载更多按钮不起作用
- powershell - Powershell没有创建日志文件
- azure - CosmosDB - 返回列表,其中包含许多记录的列表中每个项目的前 1
- powerquery - Power Query 条件格式颜色行
- javascript - 页面加载后如何使用cypress获取网络调用
- tensorflow - 将分类数据列表转换为具有未标记数据的数值向量
- javascript - 无法将我的搜索 API 方法用于搜索页面组件