LoginSignup
5
7

More than 5 years have passed since last update.

Windows10でAnacondaによりTensorFlowとKerasを動かす

Last updated at Posted at 2017-08-22

Windows10でAnacondaによりTensorFlowとKerasの環境を構築する

巣籠悠輔著「詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~」のサンプルプログラムを以下の環境で実行しようとした所,Numpy+MKLパッケージとSciPyパッケージとMatplotlibパッケージがうまく共存せず,非常に戸惑ったので成功例を示します。

  • Windows 10 64bit
  • Anaconda 4.4.0 Python 3.6 version

サンプルプログラム : https://github.com/yusugomori/deeplearning-tensorflow-keras
Windows用バイナリーのダウンロード : http://www.lfd.uci.edu/~gohlke/pythonlibs

TensorFlowのインストール

TensorFlowのインストールは,公式ページ通りに行った。
Installing with Anaconda : https://www.tensorflow.org/install/install_windows

conda create -n py35 python=3.5 
activate tensorflow
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.3.0-cp35-cp35m-win_amd64.whl

NumPy+MKL, SciPy, Matplotlibのインストール

SciPyとMatplotlibはNumPy+MKLに依存している。
"numpy-1.13.1+mkl-cp35-cp35m-win_amd64.whl"をダウンロードして,インストールした。

pip install numpy-1.13.1+mkl-cp35-cp35m-win_amd64.whl

Kerasをインストールする時にSciPyパッケージのインストールでエラーが出たので,Kerasをインストールする前に"scipy‑0.19.1‑cp35‑cp35m‑win_amd64.whl"をダウンロードして,インストールした。

pip install scipy-0.19.1-cp35-cp35m-win_amd64.whl

"matplotlib-2.0.2-cp35-cp35m-win_amd64.whl"をダウンロードして,インストールした。

pip install matplotlib-2.0.2-cp35-cp35m-win_amd64.whl

これでSciPyとMatplotlibをimport出来るようになったが,後にscikit-learnをインストールすると,

"C:\Users\User\AppData\Local\conda\conda\envs\py35\Lib\site-packages\numpy\_distributor_init.py"

が原因でscipyをimportが出来なくなるので,このファイルをコピーしておく。

scikit-learnのインストール

pip install scikit-learn

scikit-learnをインストールしたら,
scipyをimportしようとすると,再びエラーが出るようになった。"from numpy._distributor_init import NUMPY_MKL # requires numpy+mkl"とエラーが出ていたので。

"C:\Users\User\AppData\Local\conda\conda\envs\py35\Lib\site-packages\numpy\_distributor_init.py"

をSciPyをimport出来ていた時にコピーした同名ファイルに置き換えた。これで,TensorFlowによるサンプルプログラムを実行することが出来た。

※ここで,ファイルを置換するのではなく,"numpy-1.13.1+mkl-cp35-cp35m-win_amd64.whl"により,NumPy+MKLを再インストールしてしまうと,次はMatplotlibをimportしようとすると,Windowsで"プロシージャ エントリ ポイント mkl_aa_fw_init_workdivision がダイナミック リンク ライブラリC:\Users\User\AppData\Local\conda\conda\envs\py35\Library\bin\mkl_intel_thread.dllから見つかりませんでした。"と警告が出て,Pythonで"Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll."とエラーが出た。

Kerasのインストール

pip install keras

これでKerasによるサンプルプログラムも実行出来たので,おそらく正常に環境構築が出来た。

エラーの原因は何だったのか?

Matplotlibと一緒にインストールされるNumPyでは、NumPy+MKLをうまく初期化出来ないようだった。パッケージをインストールする順番を変えると,また色々変わってくるかもしれない。

Anacondaにはpip installとconda installがあり,どちらを使えば上手くいくのか分からない時があった。
pip installを使うときは,--ignore-installed(-I)オプションを付けると,うまくいくことが多かった。

5
7
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7