[[NumPy]]

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
programming:python:packages:numpy [2019/01/09] – [MKL] ikatakosprogramming:python:packages:numpy [2019/11/20] (現在) – [AnacondaのMKLによるエラー] ikatakos
行 25: 行 25:
   * [[https://software.intel.com/en-us/mkl|Intel® Math Kernel Library (Intel® MKL) | Intel® Software]]   * [[https://software.intel.com/en-us/mkl|Intel® Math Kernel Library (Intel® MKL) | Intel® Software]]
  
-MKLの使用有無は NumPyのビルドの時点で決定し、使いたければそれ用にビルドする必要がある。ビルド済みのものを入れる場合、一般的なインストール方法と使用有無は以下の通り。+MKLの使用有無は NumPyのビルドの時点で決定し、使いたければそれ用にビルドする必要がある。 
 +ビルド済みのものを入れる場合、一般的なインストール方法と使用有無は以下の通り。
  
 ^ パッケージマネージャ     ^ MKL   ^ ^ パッケージマネージャ     ^ MKL   ^
行 32: 行 33:
 | gohlke氏のwheel  | 使う    | | gohlke氏のwheel  | 使う    |
  
-Anacondaではmklパッケージされていて、NumPymklパッケージに依存するとなる。基本的にmklパッケージがライブラリのDLLを適切配置・パス設定てくれる……が、何よくわからない条件下でこれに起因するエラーかかるこがある。+MKLを使いたくない場合というの稀にある(例えばPyinstallerでバイナリする際など。最終的なバイナリのサイズがかなり違っくる)。 
 +その場合Anacondaでは ''nomkl'' パッケージをインストールすると、使わないNumPyとなるらしい 
 +しかし、Windowsでそのパッケージは無効であり、基本的はMKL入りしか選択肢状況る。 
 + 
 +  * [[https://stackoverflow.com/questions/46656367/how-to-create-an-environment-in-anaconda-with-numpy-nomkl|python - how to create an environment in anaconda with numpy nomkl? - Stack Overflow]] 
  
 ====AnacondaのMKLによるエラー==== ====AnacondaのMKLによるエラー====
 +
 +Anacondaではmklもパッケージ化されていて、NumPyはmklパッケージに依存する形となる。
 +基本的にはmklパッケージがライブラリのDLLを適切に配置・パス設定してくれる……が、何かよくわからない条件下でこれに起因するエラーが襲いかかることがある。
  
 <sxh python;title:sample.py> <sxh python;title:sample.py>
行 81: 行 90:
   * [[https://github.com/spyder-ide/spyder/issues/7357|Clean conda Windows install, followed by 'conda update --all' results in wrong mkl dlls being used for Spyder · Issue #7357 · spyder-ide/spyder]]   * [[https://github.com/spyder-ide/spyder/issues/7357|Clean conda Windows install, followed by 'conda update --all' results in wrong mkl dlls being used for Spyder · Issue #7357 · spyder-ide/spyder]]
  
-Windows10で、mklバージョン2019.0や2018.0.3が上手く動かずエラーとなる報告がある。''Cannot load mkl_intel_thread.dll.''+Windows10で、mklバージョン2019.0や2018.0.3が上手く動かずエラーとなる報告がある。この場合もエラー内容は「''Cannot load mkl_intel_thread.dll.''
  
-これもmklとnumpyのバージョン不整合とみらが、(執筆時点の)最新版が2019.0なので、''conda update''では解消しない。+これのバージョンのmklを避けばよいが、(執筆時点の)最新版が2019.0なので、''conda update''では解消しない。
  
 上記の記事によると2018.0.2なら動くので、mklをバージョン指定で上書きインストールする。mklとNumPyに依存するパッケージが多く、それらは少しだけ最新版からはダウングレードされてしまうが、ひとまずエラーは解消される。 上記の記事によると2018.0.2なら動くので、mklをバージョン指定で上書きインストールする。mklとNumPyに依存するパッケージが多く、それらは少しだけ最新版からはダウングレードされてしまうが、ひとまずエラーは解消される。
  
-この原因の場合、今後mklパッケージの問題が解消されるまで、お手軽な ''%%conda update --all%%'' は行わない方がよい。+  > conda install mkl=2018.0.2 
 + 
 +この原因の場合、今後mklパッケージの問題が解消されるまで、''%%conda update --all%%'' は行わない方がよい。
  
 +なお、自分の環境では、Windows7の方ではMKLのバージョンが2019.0でも動いていて、Windows10の方では上記と同様の現象が発生、2018.0.2に落として動いた。各サンプル数1なので他の条件が影響していることは十分考えられるが。
  
 +  * 2018/12/30になおった?という報告がある。自分の環境では最新版にすると未だエラーは出る。よくわからん。
 +    * [[https://dev.infohub.cc/setup_scikit_learn/|scikit-learn環境の作成(Windows編)|infohub – Development]]
 +  * 2019/08メモ: 最新版(mkl 2019.4、numpy 1.16.4)ではやはりエラーが出るが、「mkl 2019.1」「numpy 1.11.3」の組み合わせで行けることを確認
 +    * ''conda install mkl=2019.1'' でこのverのnumpyが入る
programming/python/packages/numpy.txt · 最終更新: 2019/11/20 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0