TensorFlowでこのような式を書いた場合にはという写像を定義したことになります。ここでは計算は一切行っていません。ここでの「+」は具体的に「足す」という手続き実行しているのではなく、単に「和である」と宣言しているだけです。いう装置を置いただけなのです。数学でもって書いたりって書いたりしますが、TensorFlowは上の方に合致する考えです。いう値があるように見えます。入れるからとりあえずお前はこういう定義の装置だ」と宣言しているだけなのです。いう文字に意味はありません。後から与える仮の姿です。別に「□」でも「・」でも良いんです。」って見たことないですか。「とりあえず何かが入る場所」を表すのに使い、通常「プレースホルダー」と呼びます。TensorFlowでもこのアイデアを採用します。プレースホルダーです。具体的な値ではありません。最初TensorFlowに触れた人は、なんだかこれが奇妙に見えたかもしれません。この書き方はすごく数式を書く上で真っ当なやり方にも感じられるくらいです。引数を2つ取る写像を書きかたれば簡単です。写像をメモリに乗せる今まで話してきたのは、写像の宣言に関することであり、具体的に計算は行われていません(プレースホルダーに値が入っていないのだから当然)。宣言した写像をメモリに乗せる必要があります。このようにして予めメモリに、これから使う写像を載せてしまうことで、何度も何度も写像を呼び出す必要が無くなります(故に、一度作った物はその後変更ができない)。実は、TensorFlowのネイティブな処理はC++で実装されており高速に動作します。メモリに乗せるというのは仮の表現で、既にインストールしてあるC++との接続を行います(既にメモリに載っている必要な処理とヒモ付をするわけです)。そのためのコードは以下です。tf.Session()この一行だけで、今まで準備した写像が、メモリに設置されました。あとはプレースホルダーに具体的な値を与えてあげるだけです。これを行って初めてTensorFlowの世界に移行したことになります。実はそれ以前はPythonの世界にいるのであって、今までやってきたのはPythonの世界でTensorFlowの世界で使う写像を考えていたということです。tf.Session()によって写像をTensorFlowの世界に置くことができました。値を入れてやるだけです。これを実行するときは完全にTensorFlowの世界のルールに従う必要があり、今まではTensorFlowの世界のルールに従ってPythonで記述してきかというわけです。「sess」はTensorFlowの世界の写像を全て保持しており、最も基本的なメソッドかつ、覚えておかなければならないのは「run」になります。3}))と書くことになります。sess.runの引数は、ひとつ目が写像で、2つ目がプレースホルダーに入れる値です。プレースホルダーに与える値は辞書型で渡します。ニューラルネットのアフィン層設計これまで見てきたとおり、TensorFlowは独特のプログラミングパラダイムを持っています。これを念頭においてニューラルネットワークを記述していきましょう。