python中的无意识多线程(scikit-learn)

ahm*_*ari 5 python multithreading scikit-learn

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

谢谢

fil*_*chp 11

如果您使用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链接?