Python 中的意外多线程(scikit-learn)



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

谢谢

如果您

使用的是MKL,请尝试

export MKL_NUM_THREADS=1

对于带有OpenBLAS的Numpy:

export OPENBLAS_NUM_THREADS=1

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

export NUMEXPR_NUM_THREADS=1

必须在运行脚本之前设置环境变量(脚本本身的设置没有预期的效果(。有关在运行时设置线程的信息,请参阅:在 numpy/openblas 上设置运行时的最大线程数

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

谢谢@prgao

答案是有 Python:如何阻止 numpy 多线程?

设置"导出MKL_NUM_THREADS=1"似乎有效

相关内容

  • 没有找到相关文章

最新更新