0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ChainerX付きでChainerをMacOSにインストールしてみた

Last updated at Posted at 2019-01-17

概要

ChainerXがすごいと聞いたので、Chainerの最新版をMacOS(10.13.6)にインストールしてみたときの試行錯誤を記録します。

環境

  • High Sierra 10.13.6
  • 外付けGPUあり(GTX1080ti)

前提

Cuda等のインストールはすでに済ませているものとします。(参考)

Chainer、Cupyのレポジトリをそれぞれクローンしてきます

# chainer
git clone https://github.com/chainer/chainer

# cupy
git clone https://github.com/cupy/cupy
  • chainerはpipでもインストールできますが、chainerxもインストールする場合は、現在はソースからインストールする必要があります。
    オフィシャルのドキュメントはこちらです。
# chainerのインストールのための環境変数設定
# chainerxはcuda付きでビルドします
# 以下のCUDNN_ROOT_DIRは私の場合です。findコマンドなりで探してください。
export CHAINER_BUILD_CHAINERX=1
export CHAINERX_BUILD_CUDA=1
export CUDNN_ROOT_DIR=/usr/local/cuda/lib
export MAKEFLAGS=-j8
  • オフィシャルとは違いますが、クローンしてきたレポジトリでセットアップします。
cd [cupyのディレクトリ]
pip install .
cd [chainerのディレクトリ]
pip install .

失敗例

  • Command Line Toolsのバージョンが9だとchainerのビルドができませんでしたが、10(Apple LLVM version 10.0.0 (clang-1000.10.44.2)
    )にアップグレードして実行したところ成功しました。
  • matplotlibがインストールされていないと怒られましたが、pip install matplotlibで解決しました。
  • インストール後、Mnistのサンプルコードを回したところ、matplotlibのbackendがどうのこうのだと怒られましたが、こんなふうにbackendをmacosxからTkaggに変更したところ解決しました。

失敗かわからないが気にしたこと

  • Cupyのインストールが先のほうが良いかもしれない。

スピードチェック

上記サンプルコードは2019.1.17時点のmasterはChainerXを使うようになっています。ChainerXを使っていないv5ブランチのものと比較しました。

  • GPUあり + ChainerXあり
real	1m4.834s
user	1m8.003s
sys 	0m2.527s
  • GPUあり + ChainerXなし
real	1m0.672s
user	1m3.361s
sys 	0m2.715s
  • GPUなし + ChainerXあり
real	7m1.731s
user	12m16.100s
sys 	1m23.104s
  • GPUなし + ChainerXなし
real	6m52.470s
user	11m58.722s
sys 	1m31.324s

まとめ(られていない)

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?