2017-05-03 67 views
1

我剛開始我的第一個TF項目。 我在MNIST上訓練了4層香草NN。爲什麼我的TRAINABLE_VARIABLES在Tensorflow中如此奇怪?

然後,我想顯示學習權重, 但奇怪,我得到了比我預期的更多的輸出。

我用

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"). 

的問題是,我期望的形狀(784,500), 的2D陣列,但我得到一個三維其中一個形狀(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

你的體重應該改變,否則你根本沒有訓練任何東西。權重不一定收斂,你的損失函數應該 –

相關問題