はじめに TensorFlowは、「データフローグラフ」という形で計算を表現し、機械学習をプログラミングします。この形式は、大規模な並列計算を行うのに有用とされています(参考記事)が、スクリプトを上から下に読んで計算を行う普通のプログラミング言語とは考え方が異なるので、はじめは少しとっくきづらさがあります。 そこで、この記事では、TensorFlowのプログラミングで必要になる3つのキーコンセプト Opノード セッション 変数 について簡単に説明します。 データフローグラフとOpノード 「データフローグラフ」はノードといわれる計算ブロックのようなものをエッジといわれる線で繋げたもので、データはノードからノードへ、エッジのつながり方に従って受け渡され、計算が行われます。 似たようなプログラミング手法は、SIMULINKやUnreal Engine4のBlueprintでも見られますね。 Te
![TensorFlowのキーコンセプト: Opノード、セッション、変数 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/c47a9f188e595689cd8fd5a95b97ff3191c1b1fc/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9VGVuc29yRmxvdyVFMyU4MSVBRSVFMyU4MiVBRCVFMyU4MyVCQyVFMyU4MiVCMyVFMyU4MyVCMyVFMyU4MiVCQiVFMyU4MyU5NyVFMyU4MyU4OCUzQSUyME9wJUUzJTgzJThFJUUzJTgzJUJDJUUzJTgzJTg5JUUzJTgwJTgxJUUzJTgyJUJCJUUzJTgzJTgzJUUzJTgyJUI3JUUzJTgzJUE3JUUzJTgzJUIzJUUzJTgwJTgxJUU1JUE0JTg5JUU2JTk1JUIwJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1iMjNhZjM0YzgyYTkzZmQwNDAxM2RkNGY1Yzk1MWFmNg%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQweWFub3Nlbl9qcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZTIxYmY3NmM1MzFjNmY0YzhjYTk5YjUyZjRkNWEyZTM%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D9fd18ae03c1d0aa2dcb1e21ef8f564cf)