tensorflow入门过程中遇到的坑(mnist数据集)

最近学习tensorflow,使用mnist数据集。数据的导入我都是自己写的代码,结果遇到一些问题,花了大半天才解决。

1.最开始我用python自带的struct类,按unsigned int读取数据,在训练过程中,权重W很容易就变成了一堆NaN。后来才发现,输入的数据必须归一化。因为我们在随机生成W的时候,给他设置的变化范围本身就不大。如果输入数据都是[0,255],很容易越界。关于数据归一化,网上也有资源,以后可以学习。

2.tensorflow里也有很多处理矩阵的函数,但是建议不要用。输入的数据都要用numpy处理好。一是因为numpy效率更高,二是,这样使程序更有条理。

后来我使用了自带的mnist类中方法去获取数据,结果又出问题。这个就不多说了,总之花了两三天时间积累了这种程序的调试经验。

思考一下全连接神经网络该如何理解:


我觉得从最简单的情况来看,全连接神经网络的各层也可以看作滤镜,层数越多越可以发现复杂特征。但是这种特征提取方式太过混乱,完全是随机,这可能导致了他性能不如卷积神经网络。而且他的层数是有限制的。

现在的数字都是在图片中间的,如果来几个在图片任意位置的,全连接神经网络的性能应该会有很大下滑。

学习过程中,每隔一阶段都有错误率停滞不前的阶段。这就需要动态调整学习率。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值