关于搭建神经网络

有这么几个坑:
首先,loss函数真的超级重要!随神经网络层数的不同,loss函数也应该发生变化。比如我把莫烦python教程mnist的那个例子直接搬下来之后加了一层,正确率直线下降,找不到原因,到网上又找了个代码一点一点改,发现把loss函数改掉之后正确率也基本上跟没训练差不多了。比如loss后面用的是交叉熵,而莫烦python用得不是。
第二个就是,分批次学真的很重要,我自己的神经网络基本上是照着莫烦的模板来的,但是不同的是我读取数据用的是MNIST库而不是TensorFlow自己的库,这样我load的时候load in batches他就会报错(我现在都不知道,明明返回了两个值,我用两个数据匹配结果报错),我就直接load training然后一次性载入。我把网上的模板代码也这么改了,果然正确率直线下降,训练了跟没训练差不多。不过这个从直观上也很好理解,毕竟如果一次性给我们学太多东西不给反馈,学了跟没学差不多。一次次少量练习加反馈才能收到最好的效果。
待续吧,反正现在的阶段就是,抄代码都能生造bug,然后debug几天(摊手)
顺便,python真的难……

猜你喜欢

转载自blog.csdn.net/weixin_44288817/article/details/89044549