2017-05-03 4 views
1

私は初めてのTFプロジェクトを始めました。 私はMNISTに4層のバニラNNを訓練しました。Tensorflowの私のTRAINABLE_VARIABLESが変わったのはなぜですか?

私は学んだ重みを表示したかったので、 と思っていましたが、奇妙なことに、予想以上の出力を得ました。

は、私が以前に定義された

sess.run(tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, "my_w1")) 

を使用

tf.Variable(tf.random_normal([layer_sizes[i-1], layer_sizes[i]]), name = "my_w1"). 

問題は、I形状(784、500)、 の2Dアレイを期待私は3Dを得たこと、です形状の1つ(15,784,500)。

最初のディメンションは何を意味していますか?

+0

トレーニングプロセスで15要素のバッチを与えていましたか?それと何かが起こっているのだろうか?私は確信していません。 – Engineero

+0

わかりません。私はここに自分のコードを投稿http://text-share.com/view/c5e36fa3 – snoozzz

答えて

0

これはバッチサイズで、各繰り返しで使用するイメージの数です。コードのこの部分から来ています:epoch_x, epoch_y = mnist.train.next_batch(batch_size)

+0

ありがとう、ありがとう。しかし、私はまだ少し混乱しています。各バッチ後に異なる重量を得るのはなぜですか?特に彼らは収束してかなり変化するように見えないので。 – snoozzz

+1

あなたの体重は変わるはずです。さもなければ、あなたは全く何も訓練していません。ウェイトは必ずしも収束する必要はなく、損失関数は –

関連する問題