Python 在scikit learn'中指定say n_jobs=-1时;s包,我们需要先导入joblib.Parallel吗?

Python 在scikit learn'中指定say n_jobs=-1时;s包,我们需要先导入joblib.Parallel吗?,python,scikit-learn,parallel-processing,joblib,Python,Scikit Learn,Parallel Processing,Joblib,当使用scikit learn软件包(该软件包可以选择n_作业的值进行并行处理)时,我们是否需要首先导入joblib.parallel,或者scikit learn软件包是否可以在并行处理中工作,而无需首先导入joblib.parallel 一些具有并行处理功能的scikit学习包包括: sklearn.linear_模型.逻辑回归 xgboost.XGBRegressor xgboost.XGBClassifier 等等 Q:“…我们是否需要首先导入joblib.Parallel或scik

当使用scikit learn软件包(该软件包可以选择
n_作业
的值进行并行处理)时,我们是否需要首先导入
joblib.parallel
,或者scikit learn软件包是否可以在并行处理中工作,而无需首先导入
joblib.parallel

一些具有并行处理功能的scikit学习包包括:

  • sklearn.linear_模型.逻辑回归

  • xgboost.XGBRegressor

  • xgboost.XGBClassifier

等等

Q:“…我们是否需要首先导入
joblib.Parallel
scikit learn软件包是否需要先导入
joblib.Parallel

B是正确的:scikit learn将发挥作用,因为它的设计和实施是正确的,以便管理自己的内部需求,以便导入它有意依赖的任何包。这是一个专业的软件标准,它充分考虑了自身的内部依赖性,不是吗


以下人员的奖金部分: 那些确实想看到诀窍的人-检查在一个包源代码级别上完成的继承方式,从下面报告的文件中可以明显看出:


不,您不必导入
joblib
谢谢@Chris。查看具有并行处理选项的各种scikit学习包的源代码,如果我们没有首先导入
joblib
,包如何定位
joblib
?非常感谢。非常感谢@user3666197对您的帮助。这里的关键是scikit学习包具有来自scikit学习的baseestimator的内置继承
(base) Tue Mar 17 12:00:34 a64FX:~$ grep -R "joblib.Parallel" /home/r2d2/anaconda2/pkgs/scikit-learn-0.20.0-py35h4989274_1/lib/python3.5/site-packages/
            /home/r2d2/anaconda2/pkgs/scikit-learn-0.20.0-py35h4989274_1/lib/python3.5/site-packages/sklearn/decomposition/online_lda.py:        parallel : joblib.Parallel (optional)
            /home/r2d2/anaconda2/pkgs/scikit-learn-0.20.0-py35h4989274_1/lib/python3.5/site-packages/sklearn/decomposition/online_lda.py:            Pre-initialized instance of joblib.Parallel.
            /home/r2d2/anaconda2/pkgs/scikit-learn-0.20.0-py35h4989274_1/lib/python3.5/site-packages/sklearn/decomposition/online_lda.py:        parallel : joblib.Parallel
            /home/r2d2/anaconda2/pkgs/scikit-learn-0.20.0-py35h4989274_1/lib/python3.5/site-packages/sklearn/decomposition/online_lda.py:            Pre-initialized instance of joblib.Parallel
Binary file /home/r2d2/anaconda2/pkgs/scikit-learn-0.20.0-py35h4989274_1/lib/python3.5/site-packages/sklearn/decomposition/__pycache__/online_lda.cpython-35.pyc matches
            /home/r2d2/anaconda2/pkgs/scikit-learn-0.20.0-py35h4989274_1/lib/python3.5/site-packages/sklearn/externals/joblib/parallel.py:                print("Using %s as joblib.Parallel backend instead of %s "
            /home/r2d2/anaconda2/pkgs/scikit-learn-0.20.0-py35h4989274_1/lib/python3.5/site-packages/sklearn/externals/joblib/parallel.py:    """Callback used by joblib.Parallel's multiprocessing backend.
            /home/r2d2/anaconda2/pkgs/scikit-learn-0.20.0-py35h4989274_1/lib/python3.5/site-packages/sklearn/externals/joblib/_dask.py:        joblib.Parallel will never access those results
            /home/r2d2/anaconda2/pkgs/scikit-learn-0.20.0-py35h4989274_1/lib/python3.5/site-packages/sklearn/externals/joblib/_dask.py:        # See 'joblib.Parallel.__call__' and 'joblib.Parallel.retrieve' for how
Binary file /home/r2d2/anaconda2/pkgs/scikit-learn-0.20.0-py35h4989274_1/lib/python3.5/site-packages/sklearn/externals/joblib/__pycache__/parallel.cpython-35.pyc matches
Binary file /home/r2d2/anaconda2/pkgs/scikit-learn-0.20.0-py35h4989274_1/lib/python3.5/site-packages/sklearn/externals/joblib/__pycache__/_dask.cpython-35.pyc matches