TensorFlowをMacで試す

TensorFlowでましたね。胸熱な感じです。
難しい言葉が溢れる中、これ一発でディープラーニングがキャズムを超えるとは思わないけど、とりあえず使ってみました。
Macに入れて、サンプル動かしたかっただけなのに色んなトラップが仕掛けられてます。

とりあえずインストール

$ pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl
tensorflow-0.5.0-py2-none-any.whl is not a supported wheel on this platform.

はい、こけました。
公式のチュートリアル2行目に書いてますが、Python3系では動かず、Python2.7系でしか動きません。
気を取り直しpyenvで2.7に切り替え再度インストール。
無事インストールされました。

$pip freeze
numpy==1.10.1
six==1.10.0
tensorflow==0.5.0

ディープラーニングといえば、MNISTで試すというが定番なのか知りませんですが、これを試してみます。

# git clone --recurse-submodules https://github.com/tensorflow/tensorflow

さっそく学習させてやろうと思いましたが、またもエラー発生。

# python ./tensorflow/g3doc/tutorials/mnist/fully_connected_feed.py
Traceback (most recent call last):
  File "./tensorflow/g3doc/tutorials/mnist/fully_connected_feed.py", line 23, in <module>
    from tensorflow.g3doc.tutorials.mnist import input_data
ImportError: No module named g3doc.tutorials.mnist

fully_connected_feed.py のモジュール呼び出しの部分を修正

from tensorflow.g3doc.tutorials.mnist import input_data
from tensorflow.g3doc.tutorials.mnist import mnist
↓
import input_data
import mnist

別の部分でエラー発生!キー!

# python ./tensorflow/g3doc/tutorials/mnist/fully_connected_feed.py
Traceback (most recent call last):
  File "./tensorflow/g3doc/tutorials/mnist/fully_connected_feed.py", line 223, in <module>
    tf.app.run()
  File "/Users/takashiaoki/.pyenv/versions/2.7.10/lib/python2.7/site-packages/tensorflow/python/platform/default/_app.py", line 11, in run
    sys.exit(main(sys.argv))
  File "./tensorflow/g3doc/tutorials/mnist/fully_connected_feed.py", line 219, in main
    run_training()
  File "./tensorflow/g3doc/tutorials/mnist/fully_connected_feed.py", line 139, in run_training
    loss = mnist.loss(logits, labels_placeholder)
  File "/Users/takashiaoki/www/tensorflow2/tensorflow/tensorflow/g3doc/tutorials/mnist/mnist.py", line 94, in loss
    indices = tf.expand_dims(tf.range(batch_size), 1)
TypeError: range() takes at least 2 arguments (1 given)

mnist.pyが新しすぎるとの事なので、古いバージョンに差し替える

# python ./tensorflow/g3doc/tutorials/mnist/fully_connected_feed.py
・
・
・
Training Data Eval:
  Num examples: 55000  Num correct: 49218  Precision @ 1: 0.8949
Validation Data Eval:
  Num examples: 5000  Num correct: 4512  Precision @ 1: 0.9024
Test Data Eval:
  Num examples: 10000  Num correct: 9017  Precision @ 1: 0.9017

やっと学習しだしました。
数回やって精度は90%ほどです。

TensorBoardを使えばブラウザ上で学習状況がみれるのでこれを試してみます。

# tensorboard --logdir=./data

ブラウザで、http://localhost:6006/ に接続するとグラフが確認できます。

ログが入ったディレクトリを指定するだけ良いはずなのにでない…

調べてみると相対パスでたダメな模様。

# tensorboard --logdir=/Users/takashiaoki/www/tensorflow/tensorflow/data

はい、動きました。

y軸はミスした数ですね。
これがドンドン下がって学習されていってるのが見て取れます。

アプリケーションフレームワークと違い、もっと土台になる部分のフレームワークです。
これにもうちょい実装がのった形で、誰か何かリリースしてくれないかなーと思う文系エンジニアでした。

大阪のWEB屋です。