テンソルフロー CNN の最初のラウンド ステップで損失が NAN になります。
1. ネットワーク:
3 つの隠れ層 (2 つの畳み込み層 + 1 つの隠れたフルコネクト層) + 読み出し層。
2. 3 つの隠れ層:
a) 重み:
W = tf.Variable(tf.truncated_normal(wt,stddev=0.1,name='wights' ))
b) バイアス:
b = tf.Variable( tf.fill([W.get_shape().as_list()[-1] ],0.9),name = 'biases' )
c) アクティベーション:
ReLu
d) ドロップアウト:
0.6
**dropout が 0.0 の場合でも、loss は nan になります
3.レイヤーの読み出し:
softmax
4: 損失関数:
tf.reduce_mean(-tf.reduce_sum(_lables * tf.log(_logist), reduction_indices=[1]))
5.オプティマイザ:
tf.train.AdamOptimizer
learning_rate = 0.0005
**learning_rate = 0 の場合でも、損失は nan になります