微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

谢谢

解决方法

如果您正在使用MKL,请尝试

导出MKL_NUM_THREADS = 1

对于使用OpenBLAS的Numpy:

export OPENBLAS_NUM_THREADS = 1

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

导出NUMEXPR_NUM_THREADS = 1

必须在运行脚本之前设置环境变量(脚本本身内部的设置不具有所需的效果).要在运行时设置线程,请参阅:Set max number of threads at runtime on numpy/openblas

请参阅以下内容以确定您的numpy的设置方式:How to check blas/lapack linkage in numpy/scipy?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐