右往左往しましたがGPUで動かすことができました。CPUだと1枚作るのに1.5時間ほどかかりそうだったためです。結果GPUで動かすことができましたが、速度は3倍くらいでした。50倍くらいを期待していた・・・。
- 環境はMacbookPro Yosemite
- python --version => 2.7.6 (このバージョンではpip入ってない)
- pip (入ってないことを確認)
- brew install python (2.7.10とpipが入る)
- pip install chainer
- pip install numpy
- pip install image
- brewで入れた方のpythonで動かす
- 実行したいフォルダに https://gist.github.com/mavenlin/d802a5849de39225bcc6 のzipを展開したものとcaffemodelをそれぞれ配置
- input.png, style.pngは https://github.com/mattya/chainer-gogh から借りる
- brewで入れた方のpythonで動かす
- (コマンド)
- CPU実行は遅い。2014年のMacbookProで20分たっても終わらない
- 学習(?)が進むたびに画像が生成されていき、出力画像がinput画像に近づいていく
- 何かのパラメータが50刻みで画像が作成されていき、im_02000.pngができるまで30分
- ここでCPU実行は止めた
- GPU実行を試してみる。CUDAの設定がされてないと表示される
- Nvidiaを見る http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-mac-os-x/
- https://developer.nvidia.com/cuda-downloads のMac用をインストール
- パス通す
export PATH=/Developer/NVIDIA/CUDA-7.0/bin:$PATH export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.0/lib:$DYLD_LIBRARY_PATH
- GPU番号 = 0で実行してもCUDAエラー. CPU実行だと動くんだけどなー
/usr/local/opt/python/bin/python chainer-gogh.py -m nin -i input.png -s style.png -o output_dir -g 0
PATH=/usr/local/cuda-7.0/bin:$PATH pip install chainer-cuda-deps
- これでもCUDAエラー。(RuntimeError: CUDA environment is not correctly set up.)
- CUDAのサンプルの位置 /Developer/NVIDIA/CUDA-7.5
- 4.2 Sample をsudoで実行。通った http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-mac-os-x/index.html
- 4.3の実行も通った。コンパイル位置に/binができているので降りて行って、./deviceQuery →正常に実行できた
- これでもgoghはCUDAエラー。(RuntimeError: CUDA environment is not correctly set up.)
- 環境変数が足りてないのかな CUDA_ROOTなど
export PATH=/usr/local/cuda/bin:$PATH export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:$DYLD_LIBRARY_PATH export C_INCLUDE_PATH="/Developer/GPU Computing/C/common/inc" export CPLUS_INCLUDE_PATH="/Developer/GPU Computing/C/common/inc"
- 上記を通して再実行。モデルのロードまではいくようになったがエラー
- OSError: [Errno 2] No such file or directory
- 色々調べる... nVidia GPUじゃないと動かないそう。nVidiaが乗っていたのでセーフ https://github.com/pfnet/homebrew-chainer
- homebrew-chainerというリポジトリがある。これに沿っていく→うまくいかず。最近更新されてない。やめ
- https://github.com/pfnet/chainer これ(公式)にそってパスなど設定してgogh実行→違うエラーがでた
nvcc fatal : The version ('70000') of the host compiler ('Apple clang') is not supported
- 前進しているんだろうか
- brew doctorでxcodeが古いと言われたので...
- xcode7を入れてしまった・・・CUDAが対応していない
- https://groups.google.com/forum/m/#!topic/caffe-users/a3NofvkBVOo で古い6.4を落として設定
- gogh実行。GPU実行で動いた!
- あれ?そんな速くない
- CPU実行でim_02000.pngが作られるまで 30min
- GPU実行でim_02000.pngが作られるまで 8min
- 3.5倍速くらい
- 複数枚実行
python chainer-gogh-multi.py -i input.txt -g 0 -m nin