这不是一个真正的问题,但我想了解:
<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:checkboxStyle">@style/CustomCheckBox</item>
</style>
<style name="CustomCheckBox" parent="android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/activated_checkbox</item>
</style>
行后)我看到脚本启动4个进程
每个10个线程。每个进程使用大约25%的CPU(总计:
100%)。似乎按预期工作我的问题:如果图书馆使用所有核心,那么使用n-jobs(和joblib)有什么意义呢?我错过了什么吗?它是特定于Windows的行为吗?
答案 0 :(得分:2)
此参数用于指定有多少个并发进程或 线程应用于与joblib并行化的例程。
n_jobs是一个整数,指定并发的最大数目 正在运行的工人。如果给定1,则完全不使用joblib并行性, 这对于调试很有用。如果设置为-1,则将使用所有CPU。对于 使用低于-1(n_cpus +1 + n_jobs)的n_jobs。例如与 n_jobs = -2,除一个以外的所有CPU都已使用。
n_jobs默认情况下为“无”,表示未设置;通常是 解释为n_jobs = 1,除非当前的joblib.Parallel后端 上下文另有规定。
有关joblib的使用及其与之交互的更多详细信息 scikit学习,请参阅我们的parallelism notes。
答案 1 :(得分:0)
如果您将n_jobs指定为-1,则不会使用所有内核;如果将其设置为1或2,它将仅使用一个或两个内核(在Linux下测试scikit-learn 0.20.3)
答案 2 :(得分:0)
您应该使用n_jobs
或joblib
,请勿同时使用两者。