在Python 3 exe中并行运行sklearn库-日志错误

在Python 3 exe中并行运行sklearn库-日志错误,python,scikit-learn,exe,joblib,Python,Scikit Learn,Exe,Joblib,因此,我制作了一个python项目,其中包括一个使用并行(n_jobs=-1)和 每当我通过exe(由Auto Py To exe创建)运行程序并尝试启动算法时,它都会崩溃,但当我在预先学习的模型上运行程序并进行测试时,它运行得非常完美,只有在尝试学习新内容时才会失败 (重要的是,当我通过PyCharm运行它时,它工作得非常完美!) 我得到的日志: exception calling callback for <Future at 0x2173fa3f370 state=finished

因此,我制作了一个python项目,其中包括一个使用并行(n_jobs=-1)和

每当我通过exe(由Auto Py To exe创建)运行程序并尝试启动算法时,它都会崩溃,但当我在预先学习的模型上运行程序并进行测试时,它运行得非常完美,只有在尝试学习新内容时才会失败

(重要的是,当我通过PyCharm运行它时,它工作得非常完美!)

我得到的日志:

exception calling callback for <Future at 0x2173fa3f370 state=finished raised TerminatedWorkerError>
Traceback (most recent call last):
  File "joblib\externals\loky\_base.py", line 625, in _invoke_callbacks
  File "joblib\parallel.py", line 359, in __call__
  File "joblib\parallel.py", line 792, in dispatch_next
  File "joblib\parallel.py", line 859, in dispatch_one_batch
  File "joblib\parallel.py", line 777, in _dispatch
  File "joblib\_parallel_backends.py", line 531, in apply_async
  File "joblib\externals\loky\reusable_executor.py", line 177, in submit
  File "joblib\externals\loky\process_executor.py", line 1102, in submit
joblib.externals.loky.process_executor.TerminatedWorkerError: A worker process managed by the executor was unexpectedly terminated. This could be caused by a segmentation fault while calling the function or by an excessive memory usage causing the Operating System to kill the worker.
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "ServerMain.py", line 10, in <module>
  File "ServerMain.py", line 6, in main
  File "ServerStart\Server.py", line 124, in handle_server
    dpi_object = algo.start_algorithm()
  File "Algorithm\Algo.py", line 50, in start_algorithm
    self.tree_train()  # the training process
  File "Algorithm\Algo.py", line 137, in tree_train
    dt_final = self.grid_search(x_train, x_test, y_train, y_test)
  File "Algorithm\Algo.py", line 147, in grid_search
    dt_grid.fit(x_train, y_train)
  File "sklearn\utils\validation.py", line 73, in inner_f
  File "sklearn\model_selection\_search.py", line 736, in fit
  File "sklearn\model_selection\_search.py", line 1188, in _run_search
  File "sklearn\model_selection\_search.py", line 708, in evaluate_candidates
  File "joblib\parallel.py", line 1054, in __call__
  File "joblib\parallel.py", line 955, in retrieve
  File "joblib\_parallel_backends.py", line 565, in abort_everything
  File "joblib\_parallel_backends.py", line 494, in configure
  File "joblib\executor.py", line 20, in get_memmapping_executor
  File "joblib\executor.py", line 42, in get_memmapping_executor
  File "joblib\_memmapping_reducer.py", line 531, in __init__
  File "joblib\_memmapping_reducer.py", line 535, in set_current_context
  File "joblib\_memmapping_reducer.py", line 560, in register_new_context
  File "joblib\_memmapping_reducer.py", line 590, in register_folder_finalizer
  File "joblib\externals\loky\backend\resource_tracker.py", line 190, in register
  File "joblib\externals\loky\backend\resource_tracker.py", line 102, in ensure_running
  File "joblib\externals\loky\backend\resource_tracker.py", line 182, in _check_alive
  File "joblib\externals\loky\backend\resource_tracker.py", line 209, in _send
OSError: [Errno 22] Invalid argument
[8732] Failed to execute script ServerMain
joblib\_memmapping_reducer.py:607: UserWarning: Failed to delete temporary folder: C:\Users\Roy\AppData\Local\Temp\joblib_memmapping_folder_8732_0121fae202024b168b641bda7c52bccc_ca0d3e9236c04342bdf20a4016060262
joblib\_memmapping_reducer.py:607: UserWarning: Failed to delete temporary folder: C:\Users\Roy\AppData\Local\Temp\joblib_memmapping_folder_8732_0121fae202024b168b641bda7c52bccc_fb0f5690d6334001910ad4506815ea37
Press any key to continue . . .
调用的回调时发生异常 回溯(最近一次呼叫最后一次): 文件“joblib\externals\loky\\u base.py”,第625行,在调用调用中 调用中第359行的文件“joblib\parallel.py”__ 文件“joblib\parallel.py”,第792行,下一步 文件“joblib\parallel.py”,第859行,分批发送 文件“joblib\parallel.py”,第777行,在调度中 文件“joblib\\u parallel\u backends.py”,第531行,在apply\u async中 文件“joblib\externals\loky\reusables\u executor.py”,第177行,提交 文件“joblib\externals\loky\process\u executor.py”,第1102行,提交 joblib.externals.loky.process_executor.TerminatedWorker错误:执行器管理的工作进程意外终止。这可能是由于调用函数时出现分段错误或内存使用过多导致操作系统杀死工作进程造成的。 当我向下滚动时,它说:

exception calling callback for <Future at 0x2173fa3f370 state=finished raised TerminatedWorkerError>
Traceback (most recent call last):
  File "joblib\externals\loky\_base.py", line 625, in _invoke_callbacks
  File "joblib\parallel.py", line 359, in __call__
  File "joblib\parallel.py", line 792, in dispatch_next
  File "joblib\parallel.py", line 859, in dispatch_one_batch
  File "joblib\parallel.py", line 777, in _dispatch
  File "joblib\_parallel_backends.py", line 531, in apply_async
  File "joblib\externals\loky\reusable_executor.py", line 177, in submit
  File "joblib\externals\loky\process_executor.py", line 1102, in submit
joblib.externals.loky.process_executor.TerminatedWorkerError: A worker process managed by the executor was unexpectedly terminated. This could be caused by a segmentation fault while calling the function or by an excessive memory usage causing the Operating System to kill the worker.
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "ServerMain.py", line 10, in <module>
  File "ServerMain.py", line 6, in main
  File "ServerStart\Server.py", line 124, in handle_server
    dpi_object = algo.start_algorithm()
  File "Algorithm\Algo.py", line 50, in start_algorithm
    self.tree_train()  # the training process
  File "Algorithm\Algo.py", line 137, in tree_train
    dt_final = self.grid_search(x_train, x_test, y_train, y_test)
  File "Algorithm\Algo.py", line 147, in grid_search
    dt_grid.fit(x_train, y_train)
  File "sklearn\utils\validation.py", line 73, in inner_f
  File "sklearn\model_selection\_search.py", line 736, in fit
  File "sklearn\model_selection\_search.py", line 1188, in _run_search
  File "sklearn\model_selection\_search.py", line 708, in evaluate_candidates
  File "joblib\parallel.py", line 1054, in __call__
  File "joblib\parallel.py", line 955, in retrieve
  File "joblib\_parallel_backends.py", line 565, in abort_everything
  File "joblib\_parallel_backends.py", line 494, in configure
  File "joblib\executor.py", line 20, in get_memmapping_executor
  File "joblib\executor.py", line 42, in get_memmapping_executor
  File "joblib\_memmapping_reducer.py", line 531, in __init__
  File "joblib\_memmapping_reducer.py", line 535, in set_current_context
  File "joblib\_memmapping_reducer.py", line 560, in register_new_context
  File "joblib\_memmapping_reducer.py", line 590, in register_folder_finalizer
  File "joblib\externals\loky\backend\resource_tracker.py", line 190, in register
  File "joblib\externals\loky\backend\resource_tracker.py", line 102, in ensure_running
  File "joblib\externals\loky\backend\resource_tracker.py", line 182, in _check_alive
  File "joblib\externals\loky\backend\resource_tracker.py", line 209, in _send
OSError: [Errno 22] Invalid argument
[8732] Failed to execute script ServerMain
joblib\_memmapping_reducer.py:607: UserWarning: Failed to delete temporary folder: C:\Users\Roy\AppData\Local\Temp\joblib_memmapping_folder_8732_0121fae202024b168b641bda7c52bccc_ca0d3e9236c04342bdf20a4016060262
joblib\_memmapping_reducer.py:607: UserWarning: Failed to delete temporary folder: C:\Users\Roy\AppData\Local\Temp\joblib_memmapping_folder_8732_0121fae202024b168b641bda7c52bccc_fb0f5690d6334001910ad4506815ea37
Press any key to continue . . .
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“ServerMain.py”,第10行,在
文件“ServerMain.py”,第6行,在main中
handle\u Server中的文件“ServerStart\Server.py”,第124行
dpi_对象=算法启动_算法()
文件“Algorithm\Algo.py”,第50行,在start\u算法中
self.tree_train()#培训过程
文件“Algorithm\Algo.py”,第137行,在树\u列中
dt_final=self.grid_search(x_train,x_test,y_train,y_test)
文件“Algorithm\Algo.py”,第147行,网格搜索
dt_网格拟合(x_列,y_列)
文件“sklearn\utils\validation.py”,第73行,在内部
文件“sklearn\model\u selection\\u search.py”,第736行,适合
文件“sklearn\model\u selection\\u search.py”,第1188行,在运行搜索中
文件“sklearn\model\u selection\\u search.py”,第708行,在评估候选对象中
调用中第1054行的文件“joblib\parallel.py”__
检索中第955行的文件“joblib\parallel.py”
文件“joblib\\u parallel\u backends.py”,第565行,在abort\u everything中
配置中第494行的文件“joblib\\u parallel\u backends.py”
文件“joblib\executor.py”,第20行,在get\u memmapping\u executor中
文件“joblib\executor.py”,第42行,在get\u memmapping\u executor中
文件“joblib\\u memmapping\u reducer.py”,第531行,在初始化中__
文件“joblib\\u memmapping\u reducer.py”,第535行,在set\u current\u上下文中
文件“joblib\\u memmapping\u reducer.py”,第560行,在register\u new\u上下文中
文件“joblib\\u memmapping\u reducer.py”,第590行,在register\u folder\u finalizer中
文件“joblib\externals\loky\backend\resource\u tracker.py”,第190行,在寄存器中
文件“joblib\externals\loky\backend\resource\u tracker.py”,第102行,确保运行
文件“joblib\externals\loky\backend\resource\u tracker.py”,第182行,处于“检查”活动状态
文件“joblib\externals\loky\backend\resource\u tracker.py”,第209行,在发送中
OSError:[Errno 22]参数无效
[8732]无法执行脚本ServerMain
joblib\\ u memmapping\ u reducer.py:607:UserWarning:无法删除临时文件夹:C:\Users\Roy\AppData\Local\Temp\joblib\ u memmapping\ u folder_8732_0121FAE2024; B168B641BDA7C52BCC\ ca0d3e9236c04342bdf20a4016060262
joblib\\ u memmapping\ u reducer.py:607:UserWarning:未能删除临时文件夹:C:\Users\Roy\AppData\Local\Temp\joblib\ u memmapping\ u folder\ u 8732_0121FAE2024B168B641BDA7C52BCC\ u FB0F5690D63300191AD4506815EA37
按任意键继续。
有没有人遇到过类似的事情可以帮我解决这个问题?提前谢谢