#概要#
今流行りの、深層学習を始めようとWindowsにPython+Chainerをインストールしてみて、意気揚々とサンプル mnist を実行してみたら、何故かエラー終了して、気勢を削がれがちな方へのカンフル剤です。
詳細な原因解明等はできていませんが、とりあえずエラーをなくして、mnistを実行することができます。
#環境#
- Windows 10 (64bit)
- Python 3.1.2 on Anaconda 4.1.1
- chainer 1.11.0
#症状#
mninst を実行すると epoch の終了後(100%になったタイミングで)必ずエラー発生。
以下のエラーメッセージが吐かれる。
FileExistsError: [WinError 183] 既に存在するファイルを作成することはできません。: '<PATH_TO_CHAINER_INSTALL_DIRECTORY>\chainer\examples\mnist\result\logofw0i659' -> 'result\log'
#原因#
"log" という名前のファイルが存在しているにもかかわらず、別のファイルをリネームして "log" としようとしたため、エラーが起きた。
#対策#
上記リネームを行わない。
(本来は上書き保存してほしい‥のでしょうか?)
#方法#
その一行上のラインのエラーメッセージを参照。
File "C:\Anaconda3\lib\site-packages\chainer\training\extensions\log_report.py", line 94, in __call__
os.rename(path, os.path.join(trainer.out, log_name))
該当ファイル(log_report.py)の該当行数(line 94)をコメントアウトする。
# 下記行をコメントアウト。
#os.rename(path, os.path.join(trainer.out, log_name))
以上でエラー発生しなくなります。
代わりに、ログディレクトリにログファイルが大量に生成されるので、適宜掃除する必要があります。ご注意ください。
#余談#
mnist の gpu なしでのデフォルトパラメーターででの実行時間測定結果です。参考値として。
#環境#
- Surface Pro 3 256GB モデル
- Windows 10 (64bit)
- CPU: intel Core-i5-4300U
- Memory: 8 GB
- GPU: なし(Intel HD Graphics 4400)
- バッテリー駆動(省電力ON)
#結果#
実行時間:20分弱(18分)
(これ、特に実行時間が画面表示とかはされないのですね‥。)