tensorflow中全连接网络的输出
在这段代码中,完全连接层的输出被给出为1024,但我无法理解这个“1024”是从哪个计算中产生的,我也无法从tensorflow文档中找到任何令人满意的答案。以及这个输出大小如何影响预测结果。tensorflow中全连接网络的输出,tensorflow,deep-learning,Tensorflow,Deep Learning,在这段代码中,完全连接层的输出被给出为1024,但我无法理解这个“1024”是从哪个计算中产生的,我也无法从tensorflow文档中找到任何令人满意的答案。以及这个输出大小如何影响预测结果。 提前感谢。在本例中,1024是完全连接/隐藏层的尺寸。wd1有一个到1024的扇出,然后返回到10个输出类。因此,正如深度学习中经常发生的那样,1024不是计算的结果,而是一个超参数 像1024这样的数字通常有点经验性,这取决于数据和目标 总的来说,我认为这个问题有太多的枝节,无法简明扼要地回答。我将在受
提前感谢。在本例中,1024是完全连接/隐藏层的尺寸。wd1有一个到1024的扇出,然后返回到10个输出类。因此,正如深度学习中经常发生的那样,1024不是计算的结果,而是一个超参数 像1024这样的数字通常有点经验性,这取决于数据和目标 总的来说,我认为这个问题有太多的枝节,无法简明扼要地回答。我将在受限和假设的背景下回答这个问题:卷积网。您描述的网络类型通常具有隐藏层,其节点数超过目标类数(这是一个分类器,对吧?) 在您的例子中,最后一个隐藏层有1024个节点,超过了10个输出类。需要号码吗?这取决于您的数据量、多样性等。如果没有上下文和目标,这个数字并不意味着什么
我们通常至少可以确信:这个数字高于输出类。这样,网络就能够存储“大量”的特征来描述类。然后,输出层将这些功能作为输入,并计算组合,直至达到预期的类数。实际上,当我更改此数字时,分类结果会更改。有时,当我增加此数字时,我有时效率更高。因此我无法理解应该使用哪个值。更改数字会影响结果。运行几次——记住所涉及的随机过程。想象一下,你有一块窗帘,想把它铺在沙发上。你想让窗帘尽可能地跟随你的沙发形状,只需把它铺在沙发上,让它盖住即可。你可以得到很好的结果,但是会有起伏。ML有点相似,这就是为什么术语像拟合和过度拟合。在你的经验和聪明才智的指引下,很多尝试都失败了。除此之外,请查看Hinton关于如何选择NN层的在线建议。
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]))
}