支持多处理的并行循环不能嵌套在线程警告和问题下方

问题描述

因此,我有一个python flask应用程序,当前正在使用女服务员来接受启动模型生成的请求。在这些模型生成期间,我使用sklearn的cross_validate()执行cross_fold_validation。在此cross_validate期间,我已将n_jobs args设置为非1的某个数字,或者当我在模型args中将n_jobs设置为非1时,得到以下警告:

“ UserWarning:支持多处理的并行循环不能嵌套 在线程下,设置n_jobs = 1“

函数运行时。这是正在运行的确切行。

accuracy = cross_validate(model_pipeline,content_strings,y_target_values,n_jobs=-4,cv=5,error_score="raise")

我知道model_pipeline和所有其他变量都是正确的,因为即使完成一项工作,该函数也会缓慢完成。但这完成了,我得到了我的准确性。

因此,我进行了一些研究,并尝试更改运行此特定代码段的线程。最初使用线程库。我尝试了'threading.current_thread().name = "MainThread"',但是没有用。所以我想我将启动一个全新的线程,用不是守护程序的主线程替换女服务员守护程序线程。完成此操作后,我可以在名为“ MainThread”和daemon = false的线程下运行完整的生成代码。但是,我仍然收到错误消息。

我还尝试将joblib.parallel_backend更改为所有可用的默认选项。因此,“ loky”,“ multiprocessing”和“ threading”。还要将上下文effective_n_jobs设置为= -1。但是仍然无济于事,我收到错误消息,并且一次完成交叉验证。

就像我正在尝试在不允许的线程下运行cross_validation一样,原因是它在技术上是嵌套的?但是,如果是这样的话,那么像我正在做的那样在flask服务中运行模型就永远不会让它们发挥最大的潜力。我是否需要制作一个单独的脚本,并以某种方式在主线程下通过flask存储和运行?

对于我为什么要尝试不允许我运行具有多个任务的模型的任何帮助或解释,将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...