7

我正在为高斯混合模型使用 sklearn 模块的混合子模块......当我在多核系统上运行我的代码时,它使用多个内核,即使我没有在代码中要求它。这是默认行为吗?更重要的是,我怎样才能禁用它?

谢谢

4

2 回答 2

17

如果您使用的是 MKL,请尝试

export MKL_NUM_THREADS=1

对于带有 OpenBLAS 的 Numpy:

export OPENBLAS_NUM_THREADS=1

对于 Numpy 的某些版本,建议使用此变体:

export NUMEXPR_NUM_THREADS=1

必须在脚本运行之前设置环境变量(在脚本本身内部设置不会产生预期的效果)。有关在运行时设置线程,请参阅:Set max number of threads at runtime on numpy/openblas

请参阅以下内容以确定您的 numpy 是如何设置的:如何检查 numpy/scipy 中的 blas/lapack 链接?

于 2017-02-08T22:37:40.590 回答
1

谢谢@prgao

答案就在那里Python:你如何阻止 numpy 进行多线程处理?

设置“export MKL_NUM_THREADS=1”似乎有效

于 2013-10-08T21:24:12.357 回答