Windows10 に Chainer をインストール
どうも、わたしです
先日GPUマシンを組んだので、DeepLearning環境を構築しました。
マイニングしようとしたりしていたので、順番がぐちゃぐちゃだったりしますが一通りできたのでメモとして残しておきます。
今回は、構築時のハマりどころのメモとしてこの記事を残しています。
日時
2018年 2月10日
PCの構成
OS:Windows 10 Pro
GPU :GTX1080 Ti
cuda:9.1.85
参考記事
Chainer 4.0.0b1 on Windows10 with CUDA 9.0
qiita.com 非常に助かりました。ありがとうございます。
Anaconda
python3.6 版を選択
PATHが通ってなかったので通す
(通した記憶があるけどVisual Stdio2017入れたりした関係かその形跡が消えていた)
C++ コンパイラ
landinghub.visualstudio.com こちらをインストールし、pathを通す
path
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
CUDA Toolkit
たしかこれを入れた
CUDA Toolkit 9.1 Download | NVIDIA Developer
こちらもpath を通す
path
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt
cuDNN
NVIDIA cuDNN | NVIDIA Developer
ダウンロード後、以下フォルダに追加
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1
開発者アカウントが必要なので作りましょう
cupy
cupyのインストールでハマりました。
pip install --no-cache-dir cupy==4.0.0b1 Collecting cupy==4.0.0b1 Downloading cupy-4.0.0b1.tar.gz (1.9MB) 100% |████████████████████████████████| 1.9MB 12.6MB/s Exception: Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\pip\compat\__init__.py", line 73, in console_to_str return s.decode(sys.__stdout__.encoding) UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 0: invalid start byte During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\pip\commands\install.py", line 324, in run requirement_set.prepare_files(finder) File "C:\ProgramData\Anaconda3\lib\site-packages\pip\req\req_set.py", line 380, in prepare_files ignore_dependencies=self.ignore_dependencies)) File "C:\ProgramData\Anaconda3\lib\site-packages\pip\req\req_set.py", line 634, in _prepare_file abstract_dist.prep_for_dist() File "C:\ProgramData\Anaconda3\lib\site-packages\pip\req\req_set.py", line 129, in prep_for_dist self.req_to_install.run_egg_info() File "C:\ProgramData\Anaconda3\lib\site-packages\pip\req\req_install.py", line 439, in run_egg_info command_desc='python setup.py egg_info') File "C:\ProgramData\Anaconda3\lib\site-packages\pip\utils\__init__.py", line 676, in call_subprocess line = console_to_str(proc.stdout.readline()) File "C:\ProgramData\Anaconda3\lib\site-packages\pip\compat\__init__.py", line 75, in console_to_str return s.decode('utf_8') UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 0: invalid start byte During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\pip\basecommand.py", line 215, in main status = self.run(options, args) File "C:\ProgramData\Anaconda3\lib\site-packages\pip\commands\install.py", line 385, in run requirement_set.cleanup_files() File "C:\ProgramData\Anaconda3\lib\site-packages\pip\utils\build.py", line 38, in __exit__ self.cleanup() File "C:\ProgramData\Anaconda3\lib\site-packages\pip\utils\build.py", line 42, in cleanup rmtree(self.name) File "C:\ProgramData\Anaconda3\lib\site-packages\pip\_vendor\retrying.py", line 49, in wrapped_f return Retrying(*dargs, **dkw).call(f, *args, **kw) File "C:\ProgramData\Anaconda3\lib\site-packages\pip\_vendor\retrying.py", line 212, in call raise attempt.get() File "C:\ProgramData\Anaconda3\lib\site-packages\pip\_vendor\retrying.py", line 247, in get six.reraise(self.value[0], self.value[1], self.value[2]) File "C:\ProgramData\Anaconda3\lib\site-packages\six.py", line 693, in reraise raise value File "C:\ProgramData\Anaconda3\lib\site-packages\pip\_vendor\retrying.py", line 200, in call attempt = Attempt(fn(*args, **kwargs), attempt_number, False) File "C:\ProgramData\Anaconda3\lib\site-packages\pip\utils\__init__.py", line 102, in rmtree onerror=rmtree_errorhandler) File "C:\ProgramData\Anaconda3\lib\shutil.py", line 494, in rmtree return _rmtree_unsafe(path, onerror) File "C:\ProgramData\Anaconda3\lib\shutil.py", line 384, in _rmtree_unsafe _rmtree_unsafe(fullname, onerror) File "C:\ProgramData\Anaconda3\lib\shutil.py", line 393, in _rmtree_unsafe onerror(os.rmdir, path, sys.exc_info()) File "C:\ProgramData\Anaconda3\lib\site-packages\pip\utils\__init__.py", line 114, in rmtree_errorhandler func(path) PermissionError: [WinError 32] プロセスはファイルにアクセスできません。別のプロセスが使用中です。: 'C:\\Users\\root\\AppData\\Local\\Temp\\pip-build-cumhw_mz\\cupy'
コマンドプロンプトの文字コードをこちらの記事の手順に合わせて修正 qiita.com
再度実行するもインストールに失敗
コマンドプロンプトを使用せずにインストールする方法を考え、Jupyter notebook 上でインストールを試みました。
jupyter notebook 起動
jupyter notebook
Jupyter notebook 上でpip コマンドをたたく場合は先頭に!をつければ良いので
!pip install --no-cache-dir cupy=4.0.0b1
無事インストールに成功しました。
chainer
pip intall chainer
chainerは問題なくインストールできていました。
まとめ
文字コードが原因ならコマンドプロンプトを使わなければいいじゃない‼
パワープレーでなんとかなりました。
git 周りの整備がまだなので、一通り落ち着いたら正しく動くかを検証します。
追記等あれば記載します。