weights = {
# 5x5 conv, 1 input, 32 outputs
'wc1': tf.Variable(tf.random_normal([5, 5, 1, 32])),
`# 5x5 conv, 32 inputs, 64 outputs`
'wc2': tf.Variable(tf.random_normal([5, 5, 32, 64])),
# fully connected, 7*7*64 inputs, 1024 outputs
'wd1': tf.Variable(tf.random_normal([7*7*64, 1024])),
# 1024 inputs, 10 outputs (class prediction)
'out': tf.Variable(tf.random_normal([1024, n_classes]))
}
在这段代码中,完全连接层的输出为1024,但我无法理解从哪个计算生成'1024',我无法从tensorflow文档中找到任何满意的答案。这个输出大小如何影响预测结果。 提前谢谢。
答案 0 :(得分:1)
在这种情况下,1024是完全连接/隐藏层的尺寸。 wd1的风扇超过1024,然后返回10个输出类。因此,正如在深度学习中经常发生的那样,1024不是计算的结果,而是超参数。
答案 1 :(得分:0)
像1024这样的数字通常是经验性的,取决于数据和目标。
总的来说,我认为这个问题有太多的后果可以简洁地回答。我将在问题的限制和假设背景下回答:卷积网。您描述的网络类型通常具有隐藏层,其节点数多于目标类数(这是一个分类器,对吧?)。
在您的情况下,最后一个隐藏层有1024个节点,超过10个输出类。这是必要的号码吗?这取决于您的数据数量,多样性等。如果没有背景和目标,这个数字并不意味着很多。
我们通常最不自信的是:数字高于输出类别。这样,网络就能够存储“大量”功能来描述类。然后输出层将这些功能作为输入,并将组合计算到预期的类数。