MacOSXにChainerを動かしたときの警告対策その1

MacOSにChainerをインストールして動かしてみたところ、下記のエラー?が出ました。

/usr/local/lib/python3.7/site-packages/chainer/_environment_check.py:38: UserWarning: Accelerate has been detected as a NumPy backend library.
vecLib, which is a part of Accelerate, is known not to work correctly with Chainer.
We recommend using other BLAS libraries such as OpenBLAS.
For details of the issue, please see
https://docs.chainer.org/en/stable/tips.html#mnist-example-does-not-converge-in-cpu-mode-on-mac-os-x.

Also note that Chainer does not officially support Mac OS X.
Please use it at your own risk.

”’) # NOQA

googleさんで翻訳してみると。。。

Accelerate has been detected as a NumPy backend library.
AccelerateがNumPyバックエンドライブラリとして検出されました。

vecLib, which is a part of Accelerate, is known not to work correctly with Chainer.
Accelerateの一部であるvecLibは、Chainerで正しく動作しないことが知られています。

We recommend using other BLAS libraries such as OpenBLAS.
OpenBLASなどの他のBLASライブラリを使用することをお勧めします。

なるほど。。。

詳細はこちらを見ろとのこと。。

https://docs.chainer.org/en/stable/tips.html#mnist-example-does-not-converge-in-cpu-mode-on-mac-os-x.

Also note that Chainer does not officially support Mac OS X.
Please use it at your own risk.
MacOSXは正式にはサポートしてないから自己責任でね!

ドキュメントを見てみると、BLASは、NumPyのバックエンドで動き、行列計算などを行うライブラリです。なので、OpenBLASのインストールしてから、OpenBLAS対応のNumPyを再インストールすることで対処できます。

やってみましょう!!

現在の環境

MacOS:10.14.1
Chainer:5.0.0
Filelock:3.0.10
numpy:1.15.4
protobuf:3.6.1
six:1.11.0

OpenBLASをインストールします。

こちらを参考にしました!

$ brew tap homebrew/science

これはパス。不要でした。

$ brew install openblas

ダウンロード後のmakeがめっちゃ時間かかりました。

==> make install
🍺 /usr/local/Cellar/gcc/8.2.0: 1,413 files, 287.2MB, built in 28 minutes 10 seconds
==> Installing openblas
==> Downloading https://homebrew.bintray.com/bottles/openblas-0.3.3.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring openblas-0.3.3.mojave.bottle.tar.gz
==> Caveats
openblas is keg-only, which means it was not symlinked into /usr/local,
because macOS provides BLAS and LAPACK in the Accelerate framework.

For compilers to find openblas you may need to set:
export LDFLAGS=”-L/usr/local/opt/openblas/lib”
export CPPFLAGS=”-I/usr/local/opt/openblas/include”

For pkg-config to find openblas you may need to set:
export PKG_CONFIG_PATH=”/usr/local/opt/openblas/lib/pkgconfig”

==> Summary
🍺 /usr/local/Cellar/openblas/0.3.3: 21 files, 115.6MB
==> Caveats
==> openblas
openblas is keg-only, which means it was not symlinked into /usr/local,
because macOS provides BLAS and LAPACK in the Accelerate framework.

For compilers to find openblas you may need to set:
export LDFLAGS=”-L/usr/local/opt/openblas/lib”
export CPPFLAGS=”-I/usr/local/opt/openblas/include”

For pkg-config to find openblas you may need to set:
export PKG_CONFIG_PATH=”/usr/local/opt/openblas/lib/pkgconfig”

OpenBLAS対応のNumPyに入れ替える に続きます(^^)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です