2016-07-15 13 views
0

私は1ファイルのpythonゲームを手に入れました。最初の配列のピクセルは、2番目の配列のピクセルを(その配列の同じ位置に)探します。私は数時間、今それを訓練し、ニューラルネットの唯一の変化は、最後のconvnetのバイアスと思われましたか?私は、主に体重が変わるはずだと思います。この単純なゲームのコードはここにある:https://github.com/flobotics/flobotics_tensorflow_game/blob/master/pixel_hunter_game/flobotics_game.pyウェイトは変更されません。最後のコンベネットのバイアスのみが変更されますか?

そして、ここで私はbatch_normはもう存在していないようだが、tensorboardに

weights and biases

enter image description here

+0

私は非正規化データを使用して、この問題を抱えていた –

+1

はい、データを正規化してもbatch_norm層を含みます。そうしなければ、体重に問題が生じる可能性があります。 –

+0

私には簡単な例がありますか? 「データを正規化する」とは、batch_norm関数を意味しますか?https://github.com/tensorflow/tensorflow/blob/b826b79718e3e93148c3545e7aa3f90891744cc0/tensorflow/contrib/layers/python/layers/layers.py#L100 –

答えて

0

を重みとバイアスの写真を得ましたbatch_normalizationはありますか?それは私の場合には正しい実装でしょうか?

h_conv1 = tf.nn.relu(tf.nn.conv2d(input_layer, conv_weights_1, strides=[1, 4, 4, 1], padding="SAME") + conv_biases_1) 

#batch normalization 
bn_mean, bn_variance = tf.nn.moments(h_conv1,[0,1,2]) 
bn_scale = tf.Variable(tf.ones([32])) 
bn_offset = tf.Variable(tf.zeros([32])) 
bn_epsilon = 1e-3 
bn_conv1 = tf.nn.batch_normalization(h_conv1, bn_mean, bn_variance, bn_offset, bn_scale, bn_epsilon) 

#h_conv1 = tf.nn.relu(tf.nn.conv2d(input_layer, conv_weights_1, strides=[1, 4, 4, 1], padding="SAME") + conv_biases_1) 
#h_pool1 = max_pool_2x2(h_conv1) 
h_pool1 = max_pool_2x2(bn_conv1) 
+0

こんにちは@Maxim、データを正規化するにはどうすればよいですか? batch_normalizationで?私はtf.nn.moments()の値を得られませんでしたか?助けてくれてありがとう –

+0

私はhttps://github.com/flobotics/flobotics_tensorflow_game/blob/master/pixel_hunter_game/flobotics_game.pyで自分のコードを更新しましたが、重みは変わりません。 –