誰でも出来るTensor基礎!公式TensorFlow入門v1.0なら俺でも出来た!

誰でも出来るTensor基礎!公式TensorFlow入門v1.0なら俺でも出来た!

ども!アイーンです!

 

最近の企画さ~。

なんかさ~、理解が深まっていかないんですよね~・・・。

もっと基礎的なことをやってないからですかね~・・・。

人に伝えるのに自分が理解しきれてないからな~。

 

というわけで、やる気が起きない企画は

一旦ポイっとします。

 

見つけましたもっと初歩的な入門

 

TensorFlow公式

v1.0のGET START!!

 

https://www.tensorflow.org/versions/r1.0/get_started/get_started

 

これ!

こういうの!

これはやってて面白い!!

イチから初心者ってのはこういうことを言うの!

 



バージョン落としてまでやることあるのかと思ってました。

落としていいんです!

・・・コードが動かない時に考えます。

 

それではいってみよ~!

 

TensorFlowの基礎コード

 

は~い、TensorFlowやってきます。

まずはインポートの定型はこんな形です。

import tensorflow as tf

importの省略形は、コードの可読性を高めるためにとっても重要です。

オープンソースのコードを書く場合など

基本的には省略形はtfにしときましょう。

 

さて、

ディープラーニングの第一歩はやっぱりノードから!

ノードの作成にいってみましょう。

 

ノードの書き方

TensorFlowでは、ノードの事を”OP”と呼ぶそうです。

意味はOperation、計算操作の略です。

 

まずは定数のノードを作ってみます。

tf.constant()は、”定数型のOPを宣言する”ということになります。

 

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

node2 = tf.constant(4.0, tf.float32)

2つのOPを作り、それぞれに[3.0]と[4.0]を持たせてみます。

もちろん数値はfloat32型で!

いつもはnp.float32って書いてたから、tf.fload32は指がスムーズに動かない。

 

それではコイツを出力してみます。

 

ほほぉ、ChainerではノードのタイプはVariableでしたが

TensorFlowではTensorという形で保存するようですね。

 

Tensor(“Const:0”, shape=(), dtype=float32)

ノードの設定は、左から

Const:0  定数型

shape=()  0次元

dtype=float32 float32型

となります。

 

ん?中身は?

公式さーん

プリントでは出力しないんですか。そうですか。

え?計算グラフをセッションさせる?

良いバイブス感じてこいってことですか?

 

あ、Sessionオブジェクトを作成すると。ハイハイ

もうちょっと日本語勉強した方がいいですよ。

 

どうやら、各ノードをSessionオブジェクトにて動かすと

状態を確認できるようです。

 

Sessionの書き方

sess  = tf.Session()

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

オンラインブートキャンプ全12コースの「ウケ放題」

おお、中身が表示されました。

node1は3.0

node2は4.0

tf.Session()という関数をsess変数に持たせ

sess.run()の中に計算グラフを入れるのが基本的な流れになるようですね。

 

じゃあ実際に計算させてみましょう。

 

TensorFlowで足し算

node3 = tf.add(node1,node2)

今回はadd関数で足し算させています。

node3の形はAddとなっていますね。

いかにも足し算しかできそうにないです。

 

sess.run(node3) 

プリントしてみると、3.0と4.0の合計値が出力されました。

 

 

これで貴方の肩書は「Tensor見習い」です。

いずれは人様の書いた複雑なコードを読み解き・・・

ん?なんすか公式さん。

 

・・・なにこれ。

魔法じゃん。

 

だから魔法じゃん。

 

コードを図解してくれる機能

 

絶対モノにしてやるからな