我在具有多个cpu核心的 Lasagne/Theano 上运行逻辑回归分类器。
这是我的~/.theanorc文件:
[global]
OMP_NUM_THREADS=20
theano/misc/ check_blas.py消耗了所有 20 个内核,但我的脚本没有。当我运行时:
python -c 'import theano; print(theano.config)'
我看到openmp的值为False:
openmp () Doc:允许(或不允许)使用 OpenMP 在 CPU 上进行并行计算。这是创建支持 OpenMP 并行化的 Op 时使用的默认值。最好通过 Theano 配置文件 ~/.theanorc 或使用环境变量 THEANO_FLAGS 来定义它。并行化仅对实现它的某些操作进行,即使对于实现并行性的操作,每个操作都可以自由地尊重或不尊重这个标志。您可以使用环境变量 OMP_NUM_THREADS 控制使用的线程数。如果设置为 1,我们默认禁用 Theano 中的 openmp。 值:假
有人知道我应该如何为我的脚本启用多核功能吗?
我的系统上安装了 blas、atlas、openmp 等,正如我所说,与 check_blas.py 完美配合。