【入門】TensorFlowの基本

TensorFlowとは

TensorFlowとは数値計算用のオープンソースライブラリです。
TensorFlowでは計算グラフを定義し、TensorFlowがそのグラフを読み込み
C++に変換することで高速に数値計算を行えるようにしています。
Googleが後ろについていることもあり、広く使われています。

install方法

install方法は簡単です。

pip install tensorflow

簡単な計算をTensorFlowを使ってやってみる

計算グラフの定義

簡単な計算グラフを作成してみます。

import tensorflow as tf

# グラフの定義
x = tf.Variable(3, name="x")
y = tf.Variable(2, name="y")
f = x*y+2

これで計算グラフが生成されました。
上記のコードは通常のプログラムととは異なり、
グラフを定義しただけです。

ちなみに作成した計算グラフは以下のようになります。

これからTensorflowセッションを用いてグラフの計算をしていきます。

計算の実行

次にTensorflow セッションを開き、
グラフを読み込ませ、変数の初期化と先程のグラフを実際に計算します。

# 計算
sess = tf.Session()
sess.run(x.initializer)
sess.run(y.initializer)
result = sess.run(f)
print(result)   # => 8
sess.close()

計算ができました。
うまく計算はできています。

グラフを描画する: tensorboard

先程作成した計算グラフを描画してみます。
先程のコードのに次のコードを追加します。
(sess.close()の手前)

tf.summary.FileWriter("./graphs/", sess.graph)

ちなみにカレントディレクトリにgraphsというディレクトリを作成しておいてください。

そして、bashから

tensorboard --logdir="./graphs"

そうすると、
以下のようにurlが出力されるので、
ブラウズからそのurlにアクセスしてください。

...省略
W1004 11:36:00.647144 Reloader tf_logging.py:121] Found more than one graph event per run, or there was a metagraph containing a graph_def, as well as one or more graph events.  Overwriting the graph with the newest event.
TensorBoard 1.6.0 at http://your_pc:6006 (Press CTRL+C to quit)

アクセスすると、
以下のようにグラフが表示されます。

参考文献

  1. scikit-learnとTensorFlowによる実践機械学習
  2. すぐに使える! 業務で実践できる! Pythonによる AI・機械学習・深層学習アプリのつくり方
タイトルとURLをコピーしました