vagrantにdockerでtensorflow入れて、jupyterでhello world
what is this
tensorflow入れて、hello worldするまで
1. virtualenvで入れようとするが、activateされない
2. anacondaで入れようとするが、pyenvと衝突するから?か、activateしようとするとbashが落ちる
3. anacondaで、フルパスでactivateしようとするが、なんかおかしい
4. vagrantにdockerでtensorflow入れる→解決
how I did
1. virtualenvで入れようとする
基本的にここにあるようにやる
Download and Setup
virtualenvで~/tensorflowディレクトリ作って、$source source ~/tensorflow/bin/activate
で何もエラー出ず、プロンプトも変わらず、という現象に。
2. anacondaでいれようとする
上記のリンクと同じページのやり方に則ってやる。
が、source activate tensorflow
のところで、これを実行するとbashごと落ちる、という現象に…
3. フルパスでactivateトライ
bashごと落ちる問題はここにそれらしいものが書いてました。
pyenvとanacondaを共存させる時のactivate衝突問題の回避策3種類 - Qiita
ここによるとpyenvとanacondaのactivateが衝突してるとのことなので、フルパスで試してみた。
が、prepending $PATH_TO_PYENV/versions/anaconda3-4.0.0/envs/tensorflow/bin to PATH
とのエラーが出て、プロンプト起動せず。
conda info -e
でチェックすると、確かにtensorflow環境に切り替わってるけど、うまくいかない。
4. vagrantにdockerで入れる
まず、現行のdockerがcentos7じゃないとだめなので、適当にcentos7入ってるvagrant boxを探してきて、box addする。
適当なレポジトリ作って、vagrant init
して、Vagrantfileのboxを該当boxに書き換える。で、vagrant up!
Installation on CentOS
終わったら上のリンク通りにdocker入れる。
終わったら、tensorflowのドキュメントに戻って、Create a Docker group to allow launching containers without sudo
をやる。あとは、書いてる通りに、docker runするとjupyterが立ち上がる。
で、jupyterのGUIをwebから触るために、virtualboxのポート設定をする。以下参考リンク。この通りにやればOK
How do I start tensorflow docker jupyter notebook - Stack Overflow
以上。