blog.tmp.tokyo

No Promises Await at Journey's End

「TensorFlow はじめました」をはじめました!

機械学習という言葉が最近話題になってきています。少し前に IBM 社の Watson が癌患者を救ったというニュースがありました。

www3.nhk.or.jp

はい。最近はこの IBM の Watson が頑張っています。膨大な情報を読み込み,その中から最適の解を探してくるのです。人間には到底不可能な量の情報を扱うためまさに「人工知能」と言うに相応しいソリューションと言えます。

www.ibm.com

うちの会社でも一部の部隊が Watson を使って何か怪しげなことをやっていますが,Watson はいかんせん「タダじゃない」のです。まあ人間の代わりに学習してより知能を高めていくのですから作った方もタダで使わせてくれるわけはありません。

ところが,世の中にはこの機械学習をタダで試してみることができるものも存在するのです。

我らが Google !

そうです。世界トップクラスの IT 企業とも言える Google が 2015 年 11 月に世に出した TensorFlow というものがあります。これを使えば貧乏サラリーマンでも機械学習ができるのです。

乗るしかない,
このビッグウェーブに!

まあ機械学習で何がしたいか,というと,

  • 会社に行くのが面倒なので代わりに行ってきて欲しい。
  • 家で寝ていてもお金を稼いできて欲しい。
  • 近くのイオンで買い物をしてきて欲しい。
  • 炊事,洗濯,掃除をやって欲しい。
  • ゲームを一緒にプレイして欲しい。
  • ここのブログを毎日更新しておいて欲しい。
  • Twitter で適当につぶやいていて欲しい。

なんとなく機械学習というよりも家政婦さんとか友達とか探した方が良さ気ですが,某ラノベタイトルのごとく「僕は友達が少ない」を実践しているので人工知能にすべてをかけているのです。もう少し言えば,コンピュータというのは人間が楽をするために作られたものなのですから,人間が楽をするために使うのが一番です。代わりに会社へ行ってください。

入門書を買った

本題です。もともと id:tuto0621 さんの記事,

ongaeshi.hatenablog.com

を読んでいて,ここで紹介されている「はじめての Ruby」を Amazon.co.jp で購入しようとしたら,オススメのところに TensorFlow の本が出てきたという次第です。誘惑に負けて TensorFlow の本を買ってしまいました。ごめんなさい。

購入したのはこれ。

TensorFlowはじめました 実践!最新Googleマシンラーニング (NextPublishing)

TensorFlowはじめました 実践!最新Googleマシンラーニング (NextPublishing)

割と表紙が軽いノリだったので買ったのですが,結構読むのに苦労しています。Ruby と並ぶスクリプト言語の巨頭に Python という言語があるのですが,これが最近の機械学習ではよく使われます。今後,人工知能がもっと伸びてくると Python も重要視されてくるんじゃないかと思いますが,この Python が使えるのが最低条件の本です。

でもっ!肝心の TensorFlow のインストールとか書いてないっ!

読むのに苦労しているので他にもきっと苦労している人がいるかもしれないと思って,本を読み進める上で必要なことを書いていきます。

環境構築

まずは Python と TensorFlow が動く環境を作らなければなりません。

Python 3.5.2 のインストール

Python は OS X であれば 2.7 が入っているのですが,今回の書籍では Python 3.5 を使用しているので合わせておきます。Python のインストール方法は様々ですが,今回は簡単のため以下の公式サイトから OS X 用のインストーラをダウンロードします。この記事を書いた時点では 3.5.2 でした。

www.python.org

インストールそのものは出てきた画面の指示にしたがっていくだけです。特に問題はないと思います。インストールが終わったら以下のコマンドを実行してインストールの成功を確認しておきます。

$> python3 --version
Python 3.5.2

Python 3.x 系はコマンドが python3 になっています。今後書いたコードを実行する場合は python とすると古い 2.7 系の Python が実行してしまうので注意が必要です。

TensorFlow のインストール

本命の TensorFlow をインストールします。まずはこのサイトが公式サイトです。画面中央の GET STARTED から始めるのが良いでしょう。

www.tensorflow.org

GET STARTED で進んだ先の画面で左側のメニューから「Download and Setup」を選びます。基本的にこのページに書いてある内容を読み進めていけば TensorFlow をインストールできます。英語なので少々解説を。

pip のインストール

OS X の標準で入っている Python 2.7 ですとパッケージ管理の pip が入っていません。そのため,ページの最初の方に書いてある「Pip Installation」を実行すると良いと思います。Python3 を入れていれば pip3 が入っていますので特に何もしなくて OK です。

TensorFlow をインストールする

続けて「Then, select the correct binary to install:」の所で TF_BINARY_URL という環境変数の設定がありますが,どれを選べばいいのか迷うところです。今回は Python 3.5.2 を入れてますので,「Mac OS X, CPU only, Python 3.4 or 3.5:」を選びました。実はすぐ下の「GPU enabled」の方にしてみたらいろいろ面倒だったので一度アンインストールして CPU only に変更しました。

$> export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.10.0rc0-py3-none-any.whl
$> sudo pip3 install --upgrade $TF_BINARY_URL

こんな感じでインストールします。インストールの確認は以下のように python3 を実行すると対話モードになりますので,以下のように import を試してみます。

$> python3
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> 

エラーが出なければ OK です。ちなみに対話モードを終えるときは ctrl + D です。

tensorboard が使えない

書籍を読み進めていくと使用する tensorboard コマンドですが,TensorFlow を pip3 から入れていれば使えると書いてあるのですが残念ながら私の mac では使えませんでした。会社の mac でも事象は同じだったので使えないのでしょう。まあ調べてみるとないことはないのでパスが通ってないとかそういった感じの話です。

$> sudo find / -name tensorboard

でどこに入っているのか調べます。以下の場所にあるので移動します。

$> cd /Library/Frameworks/Python.framework/Versions/3.5/bin

ここに移動して実行します。

$> ./tensorboard
ERROR:tensorflow:A logdir must be specified. Run `tensorboard --help` for details and examples.
A logdir must be specified. Run `tensorboard --help` for details and examples.

エラーがでますが現時点では OK です。書籍を読み進めていく中でオプションをつけて実行することになります。

次回は具体的に

ここまでやれば「TensorFlow はじめました」を読み進める準備ができました。次回は実際に作っていくプログラムを解説します。なぜかというと書籍中に書かれているプログラムは一部分のみが書かれている基本的に不完全なので動かせる状態のものを解説したい動く状態を解説するのがいいと思います。

2016.08.24 12:45 改訂
昨晩公開から非常に高い反響をいただいており,著者の方にまでコメントをいただいております。そんなわけで文章がおかしいところを一部修正しました。