LoginSignup
34
37

More than 5 years have passed since last update.

python/tensorflow初心者が、jupyter+tensorflow環境を構築してHello Worldする

Last updated at Posted at 2016-09-10

概要

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

34
37
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
37