質問: 現在、以下のサイトを見て勉強しています。 http://www.buildinsider.net/small/booktensorflow/0203 このサイトの書き方であると、推論(inference.py)中に学習(train.py)が書かれる構成になっていると思うのですが、どうして推論と学習という別の役割をもつものを1つのファイルにまとめているのでしょうか? (最初は、inference.pyとtrain.pyを別々に書いていたのですが、コードがかぶっているところが多く1つのファイルに含まれるんだと気づいたので) 乏しいAIの知識で申し訳ないのですが、 学習はモデル内で行われるのではないのでしょうか? (私の解釈ではそう思っていました) それとも、 推論はつまりはOUTPUTで、最終的にOUTPUTするものの中で学習させるのが一般的なのでしょうか?
回答: `inference.py`と`train.py`を分けていたのは、単に説明のためでしょう。 書籍転載:TensorFlowはじめました ― 実践!最新Googleマシンラーニング(5) では推論グラフ(ネットワーク)の説明がされています。 ここでは、推論グラフとは何かについての説明がされており`inference.py`にて実際に推論動作させています。 しかし上記の最後に書かれているように、重みなどのパラメータが調整されていないため、意味のある結果は出ません。 そこで次の 書籍転載:TensorFlowはじめました ― 実践!最新Googleマシンラーニング(6) にて、学習の仕組みの説明がされ、`train.py`で実際に動作させています。 ちなみに次の回では、未知のデータに対しての`評価(evaluate)`について説明がされています。