加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 检查或关闭Numpy / SciPy并行化

发布时间:2020-12-20 13:44:40 所属栏目:Python 来源:网络整理
导读:我正在从sklearn包中运行一些K-Means聚类. 虽然我正在设置参数n_jobs = 1,如sklearn文档中所示,虽然单个进程正在运行,但该进程显然会消耗我机器上的所有CPU.也就是说,在顶部,我可以看到python作业正在使用,比如在4核机器上使用400%. 要明确的是,如果我设置n
我正在从sklearn包中运行一些K-Means聚类.

虽然我正在设置参数n_jobs = 1,如sklearn文档中所示,虽然单个进程正在运行,但该进程显然会消耗我机器上的所有CPU.也就是说,在顶部,我可以看到python作业正在使用,比如在4核机器上使用400%.

要明确的是,如果我设置n_jobs = 2,那么我会运行两个python实例,但每个实例使用200%的CPU,再次消耗我机器的所有4个内核.

我认为问题可能是NumPy / SciPy层面的并行化.

有没有办法验证我的假设?例如,有没有办法关闭NumPy / SciPy中的任何并行化?

解决方法

确实BLAS,或者在我的案例中是OpenBLAS,正在执行并行化.

解决方案是将环境变量OMP_NUM_THREADS设置为1.

那么一切都与世界是对的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读