LoginSignup
9

More than 5 years have passed since last update.

TensorFlowの基本的なコマンドについてのメモ

Posted at

TensorFlowの学習周りのコマンドについて確認

CNNなどのconvolution層やpooling層は詳細な説明がたくさんあります。モデル記述後、損失関数や学習あたりのfunctionをよく把握していないので、その辺りを確認したいと思います。

特に、
- tf.nn.softmax_cross_entropy_with_logits()
- tf.reduce_mean()
- tf.train.AdamOptimizer().minimize()
を確認したいと思います。おおよそ書き尽くされてるので、備忘録用です。

バージョンは
Python:3.5.3
tensorflow==1.0.1

です。

tf.nn.softmax_cross_entropy_with_logits()

公式にある通り、基本的に推計結果のsoftmax値を計算して、cross entropyを計算します。

主に使う引数

  1. logits:最終的な推計値。softmaxはする必要ない
  2. labels:教師データ

実装されている式は理解できず。

tf.reduce_mean()

平均値を出します。上のtf.nn.softmax_cross_entropy_with_logits()に3Dの場合、戻り値が複数になるので、その平均値を取りたいときに使います。

logits2 = np.array([[0.4,0.3,0.1] , [0.2, 0.2, 0.8]])
labels2 = np.array([ [1, 0, 0], [0, 0, 1]])
cewl2 = tf.nn.softmax_cross_entropy_with_logits(labels=labels2, logits=logits2)
means = tf.reduce_mean(cewl2)
print(sess.run([means, cewl2]))

結果は、[0.85686192088267488, array([ 0.97291891, 0.74080493])]になります。

tf.train.AdamOptimizer().minimize()

学習用ですね。tf.train.GradientDescentOptimizer().minimize()との違いは、これから確認します。

内容を確認できるのは、tf.reduce_mean()だけですね。他の関数は高機能です。Tensor Flowは便利です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9