Ale*_*lex 12 python-multithreading scikit-learn joblib
joblib中出现此类问题的原因是什么?'多处理支持的并行循环不能嵌套在线程下面,设置n_jobs = 1'我该怎么做才能避免这样的问题?
实际上我需要实现在后台线程中运行大量计算的XMLRPC服务器,并通过从UI客户端轮询来报告当前进度.它使用基于joblib的scikit-learn.
PS:我只是简单地将线程的名称更改为"MainThread"以避免此类警告,并且一切看起来都很好(并行运行并没有问题).这种解决方法将来可能会出现什么问题?
我在一个线程中使用 sklearn 进行预测时遇到了同样的警告,使用我加载的模型并且它配备了 n_jobs > 1。当你腌制一个模型时,它会出现它的参数,包括 n_jobs。
为避免警告(和潜在的序列化成本),请在酸洗模型时将 n_jobs 设置为 1:
clf = joblib.load(model_filename).set_params(n_jobs=1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5538 次 |
| 最近记录: |