web-dev-qa-db-ja.com

PIPを介してMKLでScipyをインストールする

パフォーマンスを加速するために、MIPでScipyをインストールするためにPIPを使用しています。私のOSはUbuntu 64ビットです。この question のソリューションを使用して、ファイル.numpy-site.cfgを作成します

[mkl]
library_dirs=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64/
include_dirs=/opt/intel/mkl/include/
mkl_libs=mkl_intel_lp64,mkl_intel_thread,mkl_core,mkl_rt
lapack_libs=

このファイルは、Numpy with MKLを正常にインストールするのに役立ちます。ただし、上記の同じファイルを使用して、Scipyをインストールするとエラーが表示されます

ImportError: libmkl_rt.so: cannot open shared object file: No such file or directory

私も使用します

export LD_LIBRARY_PATH=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64

しかし、問題は同じです。

誰でもこの問題を修正する方法を知っていますか? Scipyを手動でインストールしたくないので、誰かがそれを修正するためのヒントをくれます。

21
tndoan

インテルは、Numpy、Scipy、Scikit-learnなどのパッケージのホイールをPyPIに公開しています。これらのホイールは、インテルMKLにリンクしながら構築されており、さまざまな最適化が含まれています。

インテルMKLでScipyをビルドする場合:

#Remove existing Numpy and/or Scipy:
pip uninstall numpy scipy -y
#Install scipy built with Intel MKL:
pip install intel-scipy

詳細はこちら

8
t7t0t0t7t

Python 3.6.2でscipyをインストールしました http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy のWin10 64Bitがあります

私は次の手順に従いました:

  • ステップ1:以前のバージョンのnumpyがある場合はアンインストールし、pip uninstall numpy
  • ステップ2:numpy‑1.13.1 + mkl‑cp36‑cp36m‑win_AMD64.whlをMKL(Math Kernel Library)で以下のリンクからダウンロードします http://www.lfd.uci.edu/~gohlke/pythonlibs /#numpy
  • ステップ3:ダウンロードしたファイルを別の場所にコピーし、その場所からコマンドプロンプトを起動します。
  • ステップ4:このコマンドを実行して、pip install -U numpy-1.13.1 + mkl-cp36-cp36m-win_AMD64.whl
  • ステップ5:scipyライブラリを http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy からダウンロードします
  • ステップ6:ダウンロードしたファイルを、numpyがコピーされているのと同じ場所にコピーします。
  • ステップ7:CMDプロンプトでこのコマンドを実行し、pip install scipy-0.19.1-cp36-cp36m-win_AMD64.whl

できた!

6
Prabhu

この質問が尋ねられてから2年が経ちました。

Linux用のnumpy/scipy wheelがavx2用にコンパイルされたopenblasを使用するようになったため、パッケージをビルドしなくてもはるかに優れたパフォーマンスを得ることができます。ホイールをインストールするには、pipをアップグレードする必要がある場合があります。

pip install --upgrade pip
pip install numpy scipy

MKLが必要な場合は、 Anaconda または Intel Distribution for Python をインストールできます。パッケージの管理にはpipではなくcondaを使用しますが、無料であり、MKLを含むすべての依存関係を含むパッケージを配布します。

4
rscohn2

特定のバージョンでインストールまたは実行に問題がある場合は、最初にアンインストールしてからインストールしてください

ステップ1:

pip uninstall -v numpy

ステップ2:ホイールファイルをダウンロードしてインストールする

pip install -U numpy-1.13.0+mkl-cp36-cp36m-win_AMD64.whl

この例では、ホイールファイル名は「numpy-1.13.0 + mkl-cp36-cp36m-win_AMD64.whl」です

4

私は過去数週間、この問題に直面しています:Windows 10 64ビットPython 3.5.2

私の回避策:

最初: pip install wheel

次:GholkeのリポジトリからNumpyとScipyをダウンロードします Numpy および SciPy

次に:

pip install numpy_package.whl

pip install scipy_package.whl

1
Andreas GS

実際の質問自体は回答されていないため、試してみましょう...

ここでの問題は基本的に、使用されているBLAS/LAPACKライ​​ブラリが複数の場所に分散していることであり、numpyはこれをうまく処理できないと思います。

これをEasyBuildで修正しました。EasyBuildでは、しばらくの間、Intel MKLの上にnumpy/scipyをビルドしていましたが、このパッチで https://github.com/hpcugent/easybuild-easyconfigs/blob/master /easybuild/easyconfigs/n/numpy/numpy-1.8.1-mkl.patch

0
Kenneth Hoste

私にとって、MKLにはScipyライブラリがconda install scipy

@ rscohn2ソリューションは、パッケージを使用するためのヒントをくれました。

参考のために、私の環境にはUbuntu、Anaconda、Python 3.6、Scipy 1.1およびMKL 2018.0が含まれています。

0
Cloud Cho