我正在使用 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"似乎有效