从入门到精通!学习tensorflow的过程,记录一些模型:mnist_ml LeNet cifar10_cnn
学习tensorflow的过程
记录一些模型
自学,很多时候会遇到一些坑,一些不理解的会浪费很多时间。为了自己理解更好,也为能帮助同样自学的同学,我会尽量在代码上都加上注释,如果我有啥理解的不对的,希望能指正哈~对你有帮助的话给我一个Star~
common文件夹存储一些公用的代码
tools文件夹存储一些下载数据的代码,下载后文件存储在data文件夹
models文件夹存储各种模型
当前完成模型:
mnist ml版本:
正确率91%左右
mnist LeNet版本:
正确率99.28%左右
cnn模型,和论文的LeNet卷积核数量什么有细微差别
cifar10_cnn 两层卷积层版本,类似LeNet:
正确率63.%
大坑系列:
1、跑tf的最简单mnist教程,当批次过大,测试准确度直接掉到10%。
2、跑mnist_cnn,当迭代次数过大的时候,也会遇到一地个问题。
原因:
上面两个原因是使用了交叉熵代价函数:-tf.reduce_sum(ytf.log(y))
其中y有可能为0,导致tf.log(y)为-inf,当y也为0,导致ytf.log(y)为nan
解决方案:
y1 = tf.maximum(y,1e-30),加上机智的补丁,防止y为0