如何打印 scikit learn 安排的作业数?

How to I print the number of jobs scheduled by scikit learn?

我计划运行 AWS 上的以下代码

from sklearn.metrics import pairwise_distances
pw_distance = pairwise_distances(model_in, model_out, n_jobs=-1)

如何打印使用 [​​=11=] 安排的作业数? 我知道我可以使用 AWS 检查监视器 CPU 的使用情况,但我也想直接读出。

像这样:

from joblib import effective_n_jobs
print(effective_n_jobs(-1))

pairwise_distances 在后台使用 Parallel;如果你愿意,可以测试它:

from time import sleep
from joblib import Parallel, delayed
Parallel(n_jobs=-1, verbose=10)(delayed(sleep)(.2) for _ in range(10))

输出:

[Parallel(n_jobs=-1)]: Using backend LokyBackend with 12 concurrent workers.
[Parallel(n_jobs=-1)]: Done   3 out of  10 | elapsed:    0.6s remaining:    1.3s
[Parallel(n_jobs=-1)]: Done   5 out of  10 | elapsed:    0.6s remaining:    0.6s
[Parallel(n_jobs=-1)]: Done   7 out of  10 | elapsed:    0.6s remaining:    0.3s
[Parallel(n_jobs=-1)]: Done  10 out of  10 | elapsed:    0.6s finished