概要
Amazon.co.jp: TensorFlowはじめました 実践!最新Googleマシンラーニング (NextPublishing) 電子書籍: 有山 圭二: Kindleストア
をやるにあたって、vimなどを操作しながらだと初心者には辛そうなので、jupyterというノート上で簡単に操作できるようする手順メモです。
(※といっても、途中でターミナル操作入るけどね!)
jupyterイメージ画像
JupyterでTensorFlowが使えるDockerイメージ - めもめも
というdockerを使った手段が一番手っ取り早いのですが、私のいつも利用してる macbook airは色々しょぼくてmac用dockerを利用すると乙るので、普通にインストールした…というのが背景です
以下簡単な流れです
- pythonをpyenvを使ってインストール
- jupyterをインストール(ブラウザ上で、tensorflowを実行・確認できる環境)
- tensorflowをインストール
- 簡単なjupyter環境上でのtensorfow Hello World!!
pyenvを便利にするpyenv-virtualenvまでやる手順がありますが、そこまで求めても仕方がないので省略します
前提条件・知識
- mac + gitがインストール済み
- ターミナル環境が多少操作できる
python環境の準備
全ユーザ共通のsystem pythonを利用するのではなく、※※env系のpyenvをインストールします
(最近はrubyでもnodeでもこういった※※env系を使って環境を切り分けるのが一般的ですね)。
これで、他に影響を与える事無くTensorflowを動かす用の異なったバージョンのpython環境を作れます。
anyenvを利用してpyenvをインストール
いつも**env系を複数利用しているので、それを一括で管理できるanyenvをインストールし、そこからpyenvをインストールしています(これは好みです。直接pyenv入れても問題ありません)。こうしている理由は、zshrc(or bashrc)が沢山のenv系の設定で汚くなるから…
anyenvインストール
以下のコマンドを入力しレポジトリをcloneします
git clone https://github.com/riywo/anyenv ~/.anyenv
後はシェルの起動時にanyenvを読み込むように、自分の環境に合わせてbashrcなどに以下の設定を追加します。
if [ -d $HOME/.anyenv ] ; then
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
私のdotfilesではこのように設定してます
https://github.com/kegamin/prezto/blob/master/runcoms/zshrc#L141-L143
設定を入れたらexec $SHELL -l
等でシェルを再起動・再読み込みするとanyenv
が利用できます。後はanyenv version
を実行して、以下のような感じで実行ができればOK
❯ anyenv version
ndenv: v5.6.0 (set by /Users/user/.anyenv/envs/ndenv/version)
plenv: system (set by /Users/user/.anyenv/envs/plenv/version)
pyenv: 3.5.1 (set by /Users/user/.anyenv/envs/pyenv/version)
rbenv: 2.3.0 (set by /Users/user/.anyenv/envs/rbenv/version)
pyenvのインストール
# pyenvをインストール
❯ anyenv install pyenv
# インストールできるpythonのバージョン一覧
❯ pyenv install -l
Available versions:
(中略)
3.5.0
3.5-dev
3.5.1 #-> 今回これを入れる
3.6.0a1
3.6-dev
(略)
❯ pyenv install 3.5.1
# インストールしたpythonを標準にする
❯ pyenv global 3.5.1
# バージョンの確認(*がついているものが現在利用されているpythonバージョン)
❯ pyenv versions
system
* 3.5.1 (set by /Users/user/.anyenv/envs/pyenv/version)
jupyterのインストール
# install
❯ pip install jupyter matplotlib
# 起動
❯ jupyter notebook
[I 13:47:54.142 NotebookApp] Serving notebooks from local directory: /Users/user/Dropbox/notebook
[I 13:47:54.142 NotebookApp] 0 active kernels
[I 13:47:54.142 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 13:47:54.142 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
tensorflowのインストール
Download and Setupから、現在の最新版のtensorflowのURLを調べ、インストールしていきます。
Mac版に関しては、以下の2種類があるのですが、よく分からなければCPU onlyを選んだ方が吉(GPUを積んでるmacだったらGPU enabledを選んだ方が、GPUを使って高速に処理してくれます。しかし今回は割愛しますが、インストールするものが増えます)。
Mac OS X, CPU only, Python 3.4 or 3.5:
Mac OS X, GPU enabled, Python 3.4 or 3.5:
# 2016/09/10現在0.10が最新Ver
$ pip install -U https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.10.0-py3-none-any.whl
起動して遊ぶ
# 作ったtensorflowのデータを保存するディレクトリを作成(任意の場所)
❯ mkdir tensorflow
❯ ls
tensorflow
# 作ったディレクトリを指定して、jupyterを起動
❯ jupyter notebook tensorflow
[I 14:38:42.255 NotebookApp] Serving notebooks from local directory: /Volumes/usb128/jupyter/tensorflow
[I 14:38:42.255 NotebookApp] 0 active kernels
[I 14:38:42.255 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 14:38:42.255 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
jupyter notebook
実行後、http://localhost:8080
をブラウザで起動すると、以下のような画面になっています。
やったね!
python3を実行できるノートを作成する
では実際にtensorflowを実行していきます。以下の画像のように、右にあるNewを押下し、その中のpython 3
を選択します。
すると以下の様に入力画面がでますので、ソースコードを入れてみます。
それぞれ以下のソースコードを入力していますが、入力後そのソースコード上でSHIFT + Enter
を押すと、実行結果が直ぐ下に出力されます(少し時間かかる場合有り)。
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
import tensorflow as tf
a = tf.constant(10)
b = tf.constant(20)
print(sess.run(a + b))
jupyterは色々高機能で楽しいのですが、今回は操作方法等割愛します。
エンジョイ!TensorFlow!