keras-PlaidML インストールチャレンジ

いい話を聞いた。

ということでリンク先のこれを試してみることにする。
http://rpubs.com/siero5335/399690

しかしうまくいかない。
大体において人生はうまくいかない。
小学校の時だって周囲が紫の大輪の朝顔を咲かせる中、私だけ白くて小さな朝顔だった。
プロポーズも大体失敗する。

まずinstall_keras()するとこういうメッセージが出た。

> install_keras()
Using existing virtualenv at  ~/.virtualenvs/r-tensorflow 
Upgrading pip ...
Collecting pip
  Could not fetch URL https://pypi.python.org/simple/pip/ : There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping

このSSLエラーはPythonを古いバージョン(私の場合は2.7.10)で放置もしくはOpenSSLを古いバージョンで放置していると起きるらしい。
https://qiita.com/n-funaki/items/00649013f61008da46cd

以下手順で対応した。
1.新しいバージョンのPython(2.7.15)をpyenvで追加し切り替える(以下参考)
https://qiita.com/twipg/items/75fc9428e4c33ed429c0
2.~/.virtualenvs/r-tensorflowを削除
3.再度install_keras()


で、今度はこういうエラーが出た。

> use_backend(backend = "plaidml")
 initialize_python(required_module, use_environment) でエラー: 
  Python shared library '/Users/dichika/.pyenv/versions/2.7.15/lib/libpython2.7.dylib' not found, Python bindings not loaded.

確かにlibpythonがNOT FOUNDとなっている。

> reticulate::py_discover_config("keras")

libpython:      /Users/dichika/.pyenv/versions/2.7.15/lib/libpython2.7.dylib[NOT FOUND]

確かに無い。pyenvが原因か!?ということで--enable-sharedをつけて再度2.7.15をインストール。辛い。以下参考。
https://qiita.com/some-nyan/items/56f2e23cc8c0134e33a7
https://qiita.com/kjunichi/items/7453814cb902158f9836

これでなんとか冒頭のコードを動かすことができた。
疲れた。

あまり関係ないけどvirtualenvの指定はreticulateパッケージでできることを学んだ。

reticulate::use_virtualenv("~/plaidml-venv")