๋ฒ๊ทธ๋ฅผ ์ ์ถํ๊ธฐ ์ ์ ๊ณผ๊ฑฐ ๋ฌธ์ ๋ฅผ ๊ฒ์ํ์ฌ ๋ฌธ์ ๊ฐ ์ด๋ฏธ ํด๊ฒฐ๋์ง ์์๋์ง ํ์ธํ์ญ์์ค.
ํธ์ถ GridSearchCV.fit()
๊ฐ์ง n_jobs=-1
์์ธ ': [errno๋ฅผ 22] ์๋ชป๋ ์ธ์ OSError'๋ฅผ ๋ฐ์์ํต๋๋ค.
ํธ์ถ GridSearchCV.fit()
์ n_jobs=None
์๋ฒฝํ๊ฒ ์๋
n_jobs=None
์ ๊ฒฝ์ฐ ์ถ๋ ฅ์ n_jobs=1์ ํด๊ฒฐํ๋ ๊ฒ์ผ๋ก ํ์๋ฉ๋๋ค(๋ด ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์์๋ GridSearchCV๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์คํํ๋ฉด ๋์ผํ ์์คํ
์์ n_jobs=6์ด ํด๊ฒฐ๋์ง๋ง ์ด๋ ํฐ ๋ฌธ์ ๊ฐ ์๋ ์ ์์ต๋๋ค. ์ฐธ๊ณ ๋ก).
์๋ ์ญ์ถ์ ์์ ๋ณผ ์ ์๋ฏ์ด ๋ฌธ์ ๋ (1) lib\site-packages\joblib\parallel.py ๋๋ _parallel_backends.py ๋๋ (2) lib\concurrent\futures_base.py์ ์์ ์ ์์ต๋๋ค.
search = GridSearchCV(RandomForestClassifier(), param_grid, cv=3, n_jobs=-1, return_train_score=True, verbose=2)
search.fit(feature_matrix, labels)
์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
OSError: [Errno 22] ์๋ชป๋ ์ธ์
์์ธํ ํธ๋๋ฐฑ์ ์๋์ ๊ฐ์ต๋๋ค.
_RemoteTraceback Traceback(๊ฐ์ฅ ์ต๊ทผ ํธ์ถ ๋ง์ง๋ง)
_์๊ฒฉ์ถ์ :
""
์ญ์ถ์ (๊ฐ์ฅ ์ต๊ทผ ํธ์ถ ๋ง์ง๋ง):
ํ์ผ "C:Users\tlbh9\Anaconda3\lib\site-packages\joblib\externals\loky\process_executor.py", 431ํ, _process_worker
r = call_item()
ํ์ผ "C:Users\tlbh9\Anaconda3\lib\site-packages\joblib\externals\loky\process_executor.py", ๋ผ์ธ 285, __call__
return self.fn( self.args, * self.kwargs)
ํ์ผ "C:Users\tlbh9\Anaconda3\lib\site-packages\joblib_parallel_backends.py", ๋ผ์ธ 595, __call__
๋ฐํ self.func( args, * kwargs)
ํ์ผ "C:Users\tlbh9\Anaconda3\lib\site-packages\joblib\parallel.py", ๋ผ์ธ 252, __call__
๋ฐํ [func( args, * kwargs)
ํ์ผ "C:Users\tlbh9\Anaconda3\lib\site-packages\joblib\parallel.py", ๋ผ์ธ 252,
๋ฐํ [func( args, * kwargs)
ํ์ผ "C:Users\tlbh9\Anaconda3\lib\site-packages\sklearn\model_selection_validation.py", 505ํ, _fit_and_score
print("[CV] %s %s" % (msg, (64 - len(msg)) * '.'))
OSError: [Errno 22] ์๋ชป๋ ์ธ์
""
์์ ์์ธ๋ ๋ค์ ์์ธ์ ์ง์ ์ ์ธ ์์ธ์ด์์ต๋๋ค.
OSError ์ถ์ (๊ฐ์ฅ ์ต๊ทผ ํธ์ถ ๋ง์ง๋ง)
.......
212 ๊ฒ์ = GridSearchCV(RandomForestClassifier(), param_grid, cv=3, n_jobs=-1, return_train_score=True, ์์ธํ ์ ๋ณด=2)
--> 213 search.fit(feature_matrix, ๋ ์ด๋ธ)
.......
inner_f(*args, kwargs)์ ~\Anaconda3\lib\site-packages\sklearn\utils\validation.py71 ๋ฏธ๋๊ฒฝ๊ณ )72 kwargs.update({k: k์ ๊ฒฝ์ฐ ์ธ์, zip์ ์ธ์(sig.parameters, args)})---> 73 ๋ฐํ f( kwargs)
74ํ
75
~\Anaconda3\lib\site-packages\sklearn\model_selection_search.py โโin fit(self, X, y, groups, **fit_params)
734 ๋ฐํ ๊ฒฐ๊ณผ
735
--> 736 self._run_search(evaluate_candidates)
737
738 # ๋ค์ค ๋ฉํธ๋ฆญ ํ๊ฐ๋ฅผ ์ํด best_index_, best_params_ ๋ฐ
~\Anaconda3\lib\site-packages\sklearn\model_selection_search.py โโ_run_search(์์ฒด, ํ๊ฐ ํ๋ณด)
1186ํ
1187 """param_grid์์ ๋ชจ๋ ํ๋ณด ๊ฒ์"""
-> 1188 ํ๊ฐ_ํ๋ณด(ParameterGrid(self.param_grid))
1189
1190
~\Anaconda3\lib\site-packages\sklearn\model_selection_search.py์ ํ๊ฐ_candidates(candidate_params)
706 n_splits, n_candidates, n_candidates * n_splits))
707
--> 708 ์ถ๋ ฅ = ๋ณ๋ ฌ(์ง์ฐ(_fit_and_score)(๋ณต์ (base_estimator),
709 X, Y,
710 ๊ธฐ์ฐจ=๊ธฐ์ฐจ, ํ
์คํธ=ํ
์คํธ,
~\Anaconda3\lib\site-packages\joblib\parallel.py in __call__
(์์ฒด, ๋ฐ๋ณต ๊ฐ๋ฅ)
1040
1041 self._backend.retrieval_context() ์ฌ์ฉ:
-> 1042 self.retrieve()
1043 # ์ฐ๋ฆฌ๊ฐ ๋๋ฌ๋ค๋ ๋ง์ง๋ง ๋ฉ์์ง๋ฅผ ๋ฐ์๋์ง ํ์ธํ์ญ์์ค
1044ํ
๊ฒ์(์์ฒด)์ ~\Anaconda3\lib\site-packages\joblib\parallel.py
919 ์๋:
920 if getattr(self._backend, 'supports_timeout', False):
--> 921
922 ๊ธฐํ:
923
~\Anaconda3\lib\site-packages\joblib_parallel_backends.py in wrap_future_result(๋ฏธ๋, ์๊ฐ ์ด๊ณผ)
540 AsyncResults.get ๋ฉํฐํ๋ก์ธ์ฑ."""
541 ์๋:
--> 542 return future.result(timeout=timeout)
543 CfTimeoutError๋ฅผ ์ ์ธํ๊ณ e:
544 e์์ TimeoutError ๋ฐ์
~\Anaconda3\lib\concurrent\futures_base.py in result(self, timeout)
430ํ
431ํ
--> 432 ๋ฐํ self.__get_result()
433
434ํ
__get_result(self)์ ~\Anaconda3\lib\concurrent\futures_base.py
386ํ
387 if self._exception:
--> 388 ์๊ธฐ ์์ ์ ์ฌ๋ฆฝ๋๋ค._์์ธ
389 ๊ธฐํ:
390 ๋ฐํ self._result
OSError: [Errno 22] ์๋ชป๋ ์ธ์
์ฒด๊ณ:
ํ์ด์ฌ: 3.8.3(๊ธฐ๋ณธ๊ฐ, 2020๋
7์ 2์ผ, 17:30:36) [MSC v.1916 64๋นํธ(AMD64)]
์คํ ํ์ผ: C:Users\tlbh9\Anaconda3\python.exe
๊ธฐ๊ณ: Windows-10-10.0.18362-SP0
ํ์ด์ฌ ์ข
์์ฑ:
ํ: 20.1.1
์ค์ ๋๊ตฌ: 49.2.0.post20200714
์ค์ผ๋ฐ: 0.23.1
์ซ์: 1.18.5
์ฌ์ดํผ: 1.5.0
์ฌ์ด์ฌ: 0.29.21
ํฌ๋: 1.0.5
๋งคํธํ๋กฏ๋ฆฝ: 3.2.2
์์
๋ผ์ด๋ธ๋ฌ๋ฆฌ: 0.16.0
threadpoolctl: 2.1.0
OpenMP๋ก ๊ตฌ์ถ: True
์ฐธ์ฌํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!@tluocs param_grid๊ฐ ์ ์๋์ง ์์๋ค๋ ๋ฌธ์ ๋ฅผ ์ฌํํ๋ ค๊ณ ํ ๋ ์ ์ฒด ์ฝ๋๋ฅผ ๊ณต์ ํ ์ ์์ต๋๊น?
param_grid์๋ feature_matrix๋ฅผ ํ ๋นํ ๋ฐฉ๋ฒ์ ์๊ณ ์ถ์ต๋๋ค.
๋ฌธ์ ๋ฅผ ์ฌํํ๊ธฐ ์ํด ์์ ์ค ์ฝ๋์ ์ฌ์ฉ๋ ๋ชจ๋ ๋ณ์๋ฅผ ๊ณต์ ํ ์ ์๋ค๋ฉด ๋ ์ข์ ๊ฒ์
๋๋ค.
์์๋ ๊ฐ์ฌํฉ๋๋ค. ์ฝ๋๊ฐ ๋๋ฌด ๋ง์์ ๋ฌธ์ ๋ฅผ ์ฌํํ๊ธฐ๊ฐ ์ฝ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋์ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ ๋ ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ ค๊ณ ํ์ต๋๋ค. ์ด์ ์ ๋ ํ์ด์ฌ๊ณผ scikit-learn์ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๋ฐ๋ผ์ ์ด "๋ฒ๊ทธ"(์๋ ๊ฒฝ์ฐ)๊ฐ ์ต์ ๋ฆด๋ฆฌ์ค์์ ์์ ๋์์ ์ ์์ต๋๋ค.
์ด์ ๋ชจ์์ ๊ฐ์ง ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค ๋ฌธ์ ํด @tluocs ๋ฐ ๊ฐ์ฌ @AnshuTrivedi.
๋ฌธ์ ๊ฐ ์
๋ฐ์ดํธ๋ก ์์ ๋์์์ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด ์ข
๋ฃํ๊ฒ ์ต๋๋ค. ์์ง ์์ ํด์ผ ํ ์ฌํญ์ด ์์ผ๋ฉด ์ธ์ ๋ ์ง ๋ค์ ์ฌ์ญ์์ค. ๊ฐ์ฌ ํด์.