【Python】处理 joblib.externals.loky.process_executor._RemoteTraceback:PermissionError:[WinError 5] 拒绝访问
這么一坨異常棧:
����: �?���? PID 18696 (���� PID 22312 �?���)�?��?�
?��: ?������?��������
����: ?���?����� "22408"��
����: ?���?����� "23400"��
����: ?���?����� "4240"��
����: ?���?����� “18976"��
����: ?���?����� “16552"��
joblib.externals.loky.process_executor._RemoteTraceback:
“””
Traceback (most recent call last):
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\joblib\externals\loky\process_executor.py”, line 404, in _process_worker
??call_item = call_queue.get(block=True, timeout=timeout)
?File “C:\Users\yk\AppData\Local\Programs\Python\Python37\lib\multiprocessing\queues.py”, line 99, in get
??if not self._rlock.acquire(block, timeout):
PermissionError: [WinError 5] 拒絕訪問(wèn)。
“””
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
?File “D:/PyCharm/xxxxxxxxxxxxxxxxxxxxx.py”, line 28, in <module>
??classifier = GridSearchCV(pipe, search_space, cv=5, verbose=0).fit(features_standardized, target)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\utils\validation.py”, line 73, in inner_f
??return f(**kwargs)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\model_selection_search.py”, line 736, in fit
??self._run_search(evaluate_candidates)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\model_selection_search.py”, line 1188, in _run_search
??evaluate_candidates(ParameterGrid(self.param_grid))
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\model_selection_search.py”, line 715, in evaluate_candidates
??cv.split(X, y, groups)))
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\joblib\parallel.py”, line 1029, in __call__
??if self.dispatch_one_batch(iterator):
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\joblib\parallel.py”, line 847, in dispatch_one_batch
??self._dispatch(tasks)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\joblib\parallel.py”, line 765, in _dispatch
??job = self._backend.apply_async(batch, callback=cb)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\joblib_parallel_backends.py”, line 206, in apply_async
??result = ImmediateResult(func)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\joblib_parallel_backends.py”, line 570, in __init__
??self.results = batch()
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\joblib\parallel.py”, line 253, in __call__
??for func, args, kwargs in self.items]
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\joblib\parallel.py”, line 253, in <listcomp>
??for func, args, kwargs in self.items]
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\model_selection_validation.py”, line 560, in _fit_and_score
??test_scores = _score(estimator, X_test, y_test, scorer)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\model_selection_validation.py”, line 607, in _score
??scores = scorer(estimator, X_test, y_test)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\metrics_scorer.py”, line 90, in __call__
??score = scorer(estimator, *args, **kwargs)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\metrics_scorer.py”, line 372, in _passthrough_scorer
??return estimator.score(*args, **kwargs)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\utils\metaestimators.py”, line 119, in <lambda>
??out = lambda *args, **kwargs: self.fn(obj, *args, **kwargs)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\pipeline.py”, line 611, in score
??return self.steps[-1][-1].score(Xt, y, **score_params)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\base.py”, line 499, in score
??return accuracy_score(y, self.predict(X), sample_weight=sample_weight)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\neighbors_classification.py”, line 175, in predict
??neigh_dist, neigh_ind = self.kneighbors(X)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\neighbors_base.py”, line 665, in kneighbors
??for s in gen_even_slices(X.shape[0], n_jobs)
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\joblib\parallel.py”, line 1042, in __call__
??self.retrieve()
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\joblib\parallel.py”, line 921, in retrieve
??self._output.extend(job.get(timeout=self.timeout))
?File “D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\joblib_parallel_backends.py”, line 540, in wrap_future_result
??return future.result(timeout=timeout)
?File “C:\Users\yk\AppData\Local\Programs\Python\Python37\lib\concurrent\futures_base.py”, line 432, in result
??return self.__get_result()
?File “C:\Users\yk\AppData\Local\Programs\Python\Python37\lib\concurrent\futures_base.py”, line 384, in __get_result
??raise self._exception
joblib.externals.loky.process_executor.BrokenProcessPool: A task has failed to un-serialize. Please ensure that the arguments of the function are all picklable.
我先去查了 joblib.externals.loky.process_executor.BrokenProcessPool: A task has failed to un-serialize. Please ensure that the arguments of the function are all picklable. 這個(gè)問(wèn)題,沒(méi)有任何有意義的建議。
然后找到問(wèn)題開始的地方:PermissionError: [WinError 5] 拒絕訪問(wèn),發(fā)現(xiàn)網(wǎng)上的說(shuō)法更是扯遠(yuǎn)了,然后就很自閉。
照著網(wǎng)上的說(shuō)法,修改了users權(quán)限,然后就報(bào)錯(cuò)[WinError6],是在沒(méi)辦法。
但在寫另一篇code的時(shí)候,遇到類似的問(wèn)題,報(bào)錯(cuò)基本一致,我就思考了一下為什么會(huì)報(bào)這個(gè)錯(cuò):結(jié)合之前網(wǎng)上查的資料,我覺(jué)得多集中在多線程和多核上,再看著WinError,我還得去改users權(quán)限,那就說(shuō)明問(wèn)題在OS上。
這個(gè)問(wèn)題我現(xiàn)在也沒(méi)有一個(gè)成熟的結(jié)論,但我的判斷是:Python代碼無(wú)權(quán)訪問(wèn)WindowsOS的一些核心信息???
那怎么處理呢?反正也只是本機(jī)的簡(jiǎn)單test,去掉多核相關(guān)n_jobs=-1,使用默認(rèn)的n_jobs即可:
knn = KNeighborsClassifier(n_neighbors=5)總結(jié)
以上是生活随笔為你收集整理的【Python】处理 joblib.externals.loky.process_executor._RemoteTraceback:PermissionError:[WinError 5] 拒绝访问的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Java】遍历时优雅地删除集合元素
- 下一篇: 【离散数学】浅析小项与主析取范式和大项与