我在千層麪/ Theano上運行多個cpu內核的Logistic迴歸分類器。千層麪/ Theano不佔用多核而check_blas.py不使用
這是我〜/ .theanorc文件:
[global]
OMP_NUM_THREADS=20
theano /其它/ check_blas.py消耗所有20個內核,但我的腳本沒有。 當我運行:
python -c 'import theano; print(theano.config)'
我看到的openmp的值爲False:
的openmp() 文件:允許(或不)使用OpenMP在CPU上並行計算。這是創建支持 OpenMP並行操作的默認值。最好通過Theano 配置文件〜/ .theanorc或環境變量 THEANO_FLAGS來定義它。並行化僅對一些執行它的操作完成,並且即使對於實現並行操作的操作,每個操作都可以自由地遵守這個標誌或不是。您可以控制與環境變量OMP_NUM_THREADS一起使用的 線程數。 如果它設置爲1,我們默認禁用Theano中的openmp。 值:False
有誰知道我應該如何啓用我的腳本多核功能?
blas,atlas,openmp等安裝在我的系統上,正如我所說的,check_blas.py完美工作。
需要注意的是,如果你使用sudo你應該把.theanorc文件/根。 – Ash
如果創建線程但不使用CPU,一種方法是從源代碼安裝openblas,並從源代碼配置和構建numpy以指向該代碼,如下所述:http://stackoverflow.com/questions/11443302 /編譯-numpy -with-openblas-integration – Ash
另外,如果你想連接你已經安裝的numpy到openblas,請閱讀:http://stackoverflow.com/questions/21671040/link-atlas-mkl-to-an-installed- numpy – Ash