Tensorflowのメンバーを4つだけ紹介しました。

実際は

このページ↓
https://www.tensorflow.org/api_docs/python/tf/constant

左側にずらーっと並んでるやつがあると思いますが、あれだけのメンバーがいるんです。

大所帯ですね。



さて、このメンバーの1つ、定数のconstantへ指示を出しましょう。

import tensorflow as tf

const1 = tf.constant(5)

解説
tf がチーム名。で、このtfのconstantへ [5] を const1 という箱へ入れなさい

と命令しています。

consant君へ指示がでました。

じゃ、見てみましょう。

print(const1)

結果
Tensor("Const:0", shape=(), dtype=int32)

これ何を言ってるか?というと const1という箱の形状を言ってます。

なぜ???


まずTensorflowは、4つの箱詰めメンバーがいると前回書きました。

もう一度ソースを見てみます。

import tensorflow as tf

これは、tfというチーム名で、tensorflowを呼び出しました。

次に

const1 = tf.constant(5)

としました。


constant君は、「const1へ5を入れなさい」という作業指示をもらったので、

const1という箱を用意しました。



次の作業の5を入れていないのは、なぜでしょう?


実は、tensorflowは、チームなので


「作業開始!!」という号令が無いとしません。



つまりconstant君も含めて


Tensorflowのメンバーは、

言われたら、作業準備で、箱とかは容易だけはする。あとは指示待ち。



なので指示が無ければ箱は空です。



で、作業開始の合図ですが、これもね、専用のチームがいまして、Sessionというチームなんです。


このSessionチームが、「run」と言うと実行されます。


で、このSessionというチームは、Tensorflowのチームの中にいます。


ちょっと呼び出してみます。

with tf.Session() as sess:

Sessionチームをsessと名付けてますので、以後、sessで呼びます。


もちろん、sessじゃなくて


with tf.Session() as tarou


としても問題ありません。この場合は、tarouがsessionチームの名前になります。



では、作業開始と指示をします。


with tf.Session() as sess:⤶
sess.run(const1)⤶



作業開始の指示を出しました。


もう一度、const1の箱を確認しましょう。

print(const1)


出力
>>> print(const1)
Tensor("Const_2:0", shape=(), dtype=int32)


また箱の形状です。


これは、作業が終わったあとで箱を見せろと命令になっています。


Tensorflowチームは、作業が終わると元に戻します。


つまり片付けられたあとなので、再度、最初に用意した箱だけを情報として出してきたわけです。



情報を知りたいときは、作業中で聞きます。

with tf.Session() as sess:⤶
sess.run(const1)⤶
print(const1)⤶




これで実行すると
5
Tensor("Const_2:0", shape=(), dtype=int32)


はい、箱の中の5と箱の形状が出ました。


もし箱の形状の情報が不要なら、作業中に別の箱をもう1つ用意すると出ません。

with tf.Session() as sess:⤶
const2 = sess.run(const1)⤶
print(const2)⤶



const1と同じ処理をconst2という箱にしなさいという命令です。