Joeの精進記録

旧:競プロ練習記録

Macでchainerを使う(CUDA, cuDNNと)

CuPyのインストールはこちら

xuzijian629.hatenablog.com

pip install chainer

して

import chainer

すると

>>> import chainer
/Users/xuzijian629/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/chainer/backends/cuda.py:143: UserWarning: cuDNN is not enabled.

と怒られます。

stackoverflow.com が参考になります。

>>> from cupy.cuda import cudnn
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: dlopen(/Users/xuzijian629/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/cupy/cuda/cudnn.cpython-37m-darwin.so, 2): Library not loaded: @rpath/libcudnn.6.dylib
  Referenced from: /Users/xuzijian629/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/cupy/cuda/cudnn.cpython-37m-darwin.so
  Reason: image not found

としてみると、dylibが見つからないと言われるので、明示的にシンボリックリンクを作ってやるといけました。ぼくの場合、cudnnはcudnnenvで入れたので~/.cudnn/versions/v6-cuda8/cuda/lib/libcudnn.dylibにdylibがあったのですが、このシンボリックリンクをCUDAのパスである/Developer/NVIDIA/CUDA-8.0/lib/以下に作ってやるとうまくいきました。

このあとimport chainerすると普通にうまく動きます