2016年11月30日水曜日

WindowsでDeepLearning・その1

Windows10でDeepLearningを目指す.
基本的に,
http://qiita.com/akrian/items/953082aa8f00479dbb01
を参考にする.

まずは,Python3.x系のインストール.
2.7系とどちらを入れるべきか悩んだけど,参考ページが3.5なので同じものを.

https://www.python.org/downloads/
から,Python3.5.2 Windows x86-64 web-based installerを選択してDL.
そして,インストール.





Visual Studio CommunityをDL
https://www.visualstudio.com/ja/downloads/
最新版でいいのかな.
さすがMicrosoft.いきなりInstallが始まったぞ.



かなり長時間のインストール後,再起動.

続いてCudaを導入.
https://developer.nvidia.com/cuda-downloads



cuDNNをインストール

Pycudaをインストール

Windows環境変数を追加

Chainerのインストール

と調子よくインストールが完了していったが,
・Chainerのサンプルファイルを実行
でこけた.

GPU: 0
# unit: 1000
# Minibatch-size: 100
# epoch: 20

Traceback (most recent call last):
  File ".\train_mnist.py", line 107, in <module>
    main()
  File ".\train_mnist.py", line 56, in main
    chainer.cuda.get_device(args.gpu).use()  # Make a specified GPU current
  File "C:\usr\Python35\lib\site-packages\chainer\cuda.py", line 180, in get_device
    check_cuda_available()
  File "C:\usr\Python35\lib\site-packages\chainer\cuda.py", line 85, in check_cuda_available
    raise RuntimeError(msg)
RuntimeError: CUDA environment is not correctly set up
(see https://github.com/pfnet/chainer#installation).CuPy is not correctly installed. Please check your environment, unin
stall Chainer and reinstall it with `pip install chainer --no-cache-dir -vvvv`.
だそうで.

試しに,
> pip install chainer --no-cache-dir -vvvv
としてみたけど,案の定ダメ.

http://hurikake.hatenadiary.jp/entry/2016/09/26/232246
を参考にして,
いろいろ試した結果,pathが有効になっていなかった.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
へのPathが有効になっていなかった.

ログインしなおして再チャレンジ.
今度は,
distutils raises an error: Unable to find vcvarsall.bat
だそうな.
http://www.regentechlog.com/2014/04/13/build-python-package-on-windows/
によると,
C/C++などのビルドが必要なファイルを含むPythonパッケージをWindows環境下でインストールしようとすると「Unable to find vcvarsall.bat」とエラーがでることがあります。

Pythonパッケージにビルドが必要なファイル(pure Python以外のC/C++など)が指定されている場合はインストール時にコンパイルが必要ですが、Windows環境ではデフォルトでPython本体をコンパイルしたVC++と同じバージョンのVC++を呼ぼうとします。そのため、Python本体をコンパイルしたバージョンのVC++がないとエラーになります。
なるほど.
調べてみると,
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.version
'3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)]'
>>>
ということで,MSC v.1900->VS13でコンパイルしたことが分かる.
・・・と思ったけど,
http://stackoverflow.com/questions/33323172/vcvarsall-bat-needed-for-python-to-compile-missing-from-visual-studio-2015-v-1
によると, vcvarsall.bat がないことがあるらしい.
調べてみたら,確かに
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\vcvarsall.bat 
はない.
http://stackoverflow.com/questions/33323172/vcvarsall-bat-needed-for-python-to-compile-missing-from-visual-studio-2015-v-1#comment63185046_35243904
を参考に,
c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\vsvars32.batをコピーして,vcvarsall.batとリネームしてみる.

とりあえず動いたけど,
GPU: 0
# unit: 1000
# Minibatch-size: 100
# epoch: 20

C:\usr\Python35\lib\site-packages\chainer\cuda.py:90: UserWarning: cuDNN is not enabled.
Please reinstall chainer after you install cudnn
(see https://github.com/pfnet/chainer#installation).
  'cuDNN is not enabled.\n'
というわけで,cuDNNは使えていないらしい.
そのうえ,実行も失敗している.

う~む・・・
いずれにせよ,今日は時間がないので,ここまで.


0 件のコメント: