前回はTensorFlowの最初の利用方法紹介である「GET STARTED」を題材にしてスカラー・ベクトル・テンソルの違いに言及しました。

 前回 http://qiita.com/MATS_ELB/items/dfc50149d52e47e5a07b

その「GET STARTED」ではスカラー量(ひとつの数字で表現できる)を使ってTensorFlowの挙動が説明されていますが、その後のチュートリアルでは急にテンソルを使った数字の画像認識が題材となっていて、テンソルの扱い方が理解しにくくなっているように思います。なので、「GET STARTED」で扱われたケースを少しだけ改造してテンソル版にしたものを掲載し、日本語でコメントを記載します。

introduction_vector.py

これを実行すると下記のような出力(学習の結果としてのWとb)が得られます。

0 [[ 0.06333046 0.27613732] [ 0.27408534 0.65764177]] [ 0.12632947 0.0456607 ] :
中略
:
1000 [[ 1.00000262e-01 2.38718428e-07] [ 2.14710980e-07 1.00000240e-01]] [ 0.29999986 0.29999986]

読みやすいように改行を調整したりしますと

学習回数 1000
Wの値  [[ 1.00000262e-01 2.38718428e-07], [ 2.14710980e-07 1.00000240e-01]] bの値  [ 0.29999986 0.29999986]

ということで、学習結果のWはW_dataの値(というかテンソル)に、近づいていっています。
というように、テンソルを使ってTensorFlowを使う場合、基本的には「GET STARTED」で扱われたスカラーのケースと同じです。ただ、行列の計算は行・列の数に整合性を求めるのでそこの帳尻が合っているかに気をつけたいです。

以上、どなたかのお役に立てればと思い記載致しましたが、私、このサイトの投稿が初心者なので上手くなくて申し訳ありません。今後も学習しながらお役に立てるように情報共有して参ります。アドバイスなどありましたら是非是非いただきたく。

 続編はこちらへ http://qiita.com/MATS_ELB/items/e5761be146a400586392