python - 任务无法取消序列化
问题描述
我正在尝试评估 ANN。如果我使用 ,我会得到准确度n_jobs = 1
,但是,当我使用时,n_jobs = - 1
会出现以下错误。
BrokenProcessPool: A task has failed to un-serialize. Please ensure that the arguments of the function are all picklable.
我尝试过使用其他数字,但只有在我使用时才有效n_jobs = 1
这是我正在运行的代码:
accuracies = cross_val_score(estimator = classifier, X = X_train, y = y_train, cv = 10, n_jobs = -1)
这是我得到的错误:
Traceback (most recent call last):
File "<ipython-input-12-cc51c2d2980a>", line 1, in <module>
accuracies = cross_val_score(estimator = classifier, X = X_train,
y = y_train, cv = 10, n_jobs = -1)
File "C:\Users\javie\Anaconda3\lib\site-
packages\sklearn\model_selection\_validation.py", line 402, in
cross_val_score
error_score=error_score)
File "C:\Users\javie\Anaconda3\lib\site-
packages\sklearn\model_selection\_validation.py", line 240, in
cross_validate
for train, test in cv.split(X, y, groups))
File "C:\Users\javie\Anaconda3\lib\site-
packages\sklearn\externals\joblib\parallel.py", line 930, in __call__
self.retrieve()
File "C:\Users\javie\Anaconda3\lib\site-
packages\sklearn\externals\joblib\parallel.py", line 833, in retrieve
self._output.extend(job.get(timeout=self.timeout))
File "C:\Users\javie\Anaconda3\lib\site-
packages\sklearn\externals\joblib\_parallel_backends.py", line 521, in
wrap_future_result
return future.result(timeout=timeout)
File "C:\Users\javie\Anaconda3\lib\concurrent\futures\_base.py", line
432, in result
return self.__get_result()
File "C:\Users\javie\Anaconda3\lib\concurrent\futures\_base.py", line
384, in __get_result
raise self._exception
BrokenProcessPool: A task has failed to un-serialize. Please ensure that
the arguments of the function are all picklable.`
Spyder 应该并行分析每个批次,但即使我使用n_jobs = 1
它也只能分析 10 个 epoch。
解决方案
在 Spyder 的 iPython 控制台中使用多处理时,总是会发生这种情况。一种解决方法是改为从命令行运行脚本。
推荐阅读
- c++ - 轻量级 C++11 运行时数组?
- javascript - 匹配 PHP 和 CryptoJS 输出
- php - 如何处理删除 JSON:API 中的关系?
- java - 缺少返回语句:try-catch
- sql-server - 如何在 TSQL 中查询特定文本的 xml 列
- javascript - 如何使用ajax在分页页面中进行搜索
- php - 使用 PostgreSQL 的 Laravel 5 数据库播种
- sql-server - 从两个表连接时如何将选择设置为空或无?
- amazon-web-services - 通过 AWS Appsync 解析器和 Dynamodb 自动添加时间戳
- office-js - 您的帐户连接的 Exchange 服务器版本不支持此应用