概要

Amazon.co.jp: TensorFlowはじめました 実践!最新Googleマシンラーニング (NextPublishing) 電子書籍: 有山 圭二: Kindleストア

をやるにあたって、vimなどを操作しながらだと初心者には辛そうなので、jupyterというノート上で簡単に操作できるようする手順メモです。
(※といっても、途中でターミナル操作入るけどね!)

jupyterイメージ画像

2016-09-10_14_58_35.png

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をブラウザで起動すると、以下のような画面になっています。

 2016-09-10 14.40.58.png

やったね!

python3を実行できるノートを作成する

では実際にtensorflowを実行していきます。以下の画像のように、右にあるNewを押下し、その中のpython 3を選択します。

2016-09-10_14_42_43.png

すると以下の様に入力画面がでますので、ソースコードを入れてみます。

 2016-09-10 15.06.26.png

それぞれ以下のソースコードを入力していますが、入力後そのソースコード上で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!

参考にしたサイト

pyenv-virtualenv + TensorFlow 環境設定覚書【加筆・修正】 – Qiita

bannerAds