項番 | 処理概要 | 書き方イメージ |
0 | おまじない(インポート) | import tensorflow as tf |
1 | 入出力データの箱としてplaceholderを用意する。 | XXX = tf.placeholder(要素のタイプ,shape指定)(※1) |
パラメータ類を用意する。 | XXX = tf.Variable(変数値,name="名前")(※2) | |
その他不変値等の変数を準備 | XXX = tf.constant(定数) | |
2 | モデル式[数式]を用意する。 | def model(引数): 数式定義 return 引数に対する結果 |
3 | 誤差関数を用意する。 (モデル式[数式]と実データの差分(距離)を どういう尺度で計るか決める) |
cost = tf.reduce_mean(tf.square(model-実際の結果が入った変数))(※3) |
4 | 最適化(学習)方法を決める | train_step = tf.train.GradientDescendantOptimize(学習率).minimize(cost)(※4) |
5 | 変数を有効化する | init = tf.global_variables_initializer() |
学習処理を実行する | sess = tf.session() print(sess.run(変数,feed_dict{placehoderに与える値}))(※5) | |
6 | 評価する | coincidenceTrueFalse = tf.equal(tf.argmax(y,1),tf.argmax(_y,1)) coincidence1or0 =tf.reduce_mean(tf.cast(coincidenceTrueFalse),tf.float32))(※6) |
番外:ある入力値に対して学習されたモデルがどのような結果を出すか見たい場合は… | 案1:model.eval(session=sess,feed_dict={x:入力値} 案2:sess.run(model,feed_dict={x:入力値}) | |
番外:学習されたモデルのパラメータ値を得るには… | w_out, _ =sess.run([w,train_step],feed_dict={x:入力値})のように、sess.run時にwの内容がw_outに入るようにしておく。 |