2017-05-03 68 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

你的体重应该改变,否则你根本没有训练任何东西。权重不一定收敛,你的损失函数应该 –

相关问题