この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
ページ更新者:guest
更新日時:2018-01-03 04:17:56

タイトル: チュートリアル

TensorFlowを実際に使ってみましょう。

導入が済んでいない方はこちら

OSはWindowsを前提として説明します。

 

3つの前提条件

チュートリアルを始める前に以下の条件を満たしているか確認してください。

・Pythonのプログラミングができる。(分からない方はこちらを参照)

・配列についてある程度分かる。(分からない方はこちらを参照)

出来れば、機械学習についてある程度知っている。

※全く知らない方でも分かるように説明しますが、知っていればベターです

 

Tensors

TensorFlowの主要データ単位はTensorといいます。

TensorにはRankというものがあり、Rankは配列の次元を表します。

例えばRank1の場合は1次元配列、Rank2の場合は2次元配列といった感じです。

以下、例です。

rank 0 tensor; []

rank 1 tensor; [1., 2., 3.]

rank 2 tensor; [[1., 2., 3.], [4., 5., 6.]]

rank 3 tensor; [[[1., 2., 3.]], [[7., 8., 9.]]]

 

Tensorのインポート

実際にプログラミングをしてみましょう。

以下の文言をメモ帳でもなんでもいいので書いてみましょう。

import tensorflow as tf

これでTensorFlowのライブラリにアクセスできます。

今後、断りが無くても基本的にこの文言は必ず書くようにしましょう。

 

計算グラフ

計算グラフとは、TensorFlowの一連の計算をノードのグラフに配置したものです。

試しに簡単な計算グラフを作ってみましょう。

それぞれのノードは0個以上のTensors(データ)を受け取り、一つのTensorsを結果として出力します。

ノードの中には定数のものがあります。

この定数ノードは入力値を受け付けず、単純に内部の値を出力するだけです。

node1とnode2の2つの定数の浮動小数点テンソルを作成してみましょう。

node1 = tf.constant(3.0, dtype=tf.float32)

node2 = tf.constant(4.0)

print(node1)

print(node2)

node1はfloat型と宣言していますが、node2は暗黙的にfloat型になっています。

先ほどのTensorのインポート文と合わせてPythonを起動したコマンドプロントに貼り付けましょう。

(※文法エラーが出たら文末に「;」を付けてみてください)

 

1回目の実行では以下の値が出力されるはずです。

Tensor("Const_0", shape=(), dtype=float32)

Tensor("Const_1:0", shape=(), dtype=float32)

注目すべきはnode1とnode2はそれぞれ3.04.0ではないことです。

これらは評価されると、それぞれ3.0と4.0を生成するノードです。

ノードを評価するには、セッション内で計算グラフを実行する必要があります。

 

では実際にセッションを開始してみましょう。

また、runメソッドで計算グラフを起動してノードを評価しましょう。

sess = tf.Session()

print(sess.run([node1, node2]))

上記のコードを実行すると以下の期待通りの値を得られます。

[3.0, 4.0]

 

//執筆中