python学习日记7tensorflow-手写数字分类

参考资料:
1、tensorflow中文社区 mnist机器学习入门(分类手写数字)
http://tensorfly.cn/tfdoc/tutorials/mnist_beginners.html

2、英文版mnist机器学习入门(分类服装图片)
https://tensorflow.google.cn/tutorials/keras/basic_classification

3、Yann Lecun的原始网站
http://yann.lecun.com/exdb/mnist/

学习内容:
1、第一个bug,导入数据
首先要从Yann的网站下载四个数据文件,存在MNIST_data目录中。
老版的命令,和新版的官网命令都无法使用。新版的问题是https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/examples/tutorials/mnist/input_data.py 网址被墙
修改后的命令使用了新的有效网址
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets(“MNIST_data/”, one_hot=True)
学习import命令的官方指南
https://docs.python.org/3.5/reference/import.html
https://docs.python.org/3.5/reference/simple_stmts.html#import

我把input_data.py存在文件夹内,使用
import input_data
mnist = input_data.read_data_sets(“MNIST_data/”, one_hot=True)
同样实现了数据的导入

input_data.py文件:

#Functions for downloading and reading MNIST data.
from future import absolute_import
from future import division
from future import print_function
import gzip
import os
import tempfile
import numpy
from six.moves import urllib
from six.moves import xrange # pylint: disable=redefined-builtin
import tensorflow as tf
from tensorflow.contrib.learn.python.learn.datasets.mnist import read_data_sets

2、https://tensorflow.google.cn/tutorials/keras/basic_classification
阅读
a、图片格式说明,警惕浏览器自动解压,非标准格式,一般软件无法浏览,图片格式说明在页底
b、NIST原始图像是20×20灰度图,经过标准化和去锯齿处理后,按中心位置存在28×28网格中。
c、在基于模板的算法中(如svm N临近),使用边框回归比质心效果好。如果有这方面的预处理,要说明
d、MNIST源自NIST的 Special Database 3 和 Special Database 1, 包含 binary images of handwritten digits.。NIST 最初设计,SD-3 是 training set,SD-1是test set。但SD-3比SD-1更清楚容易识别. 因为SD-3在Census Bureau employees中收集,而 SD-1在高中生中收集. 实验要求结果独立于训练集和测试集的选择. 所以做了一个新的混合NIST’s datasets.

MNIST 训练集由 30,000个SD-3和 30,000个SD-1组成. 测试集由5,000 SD-3 和5,000 SD-1组成. 60,000训练集大概由 250 写手. 保证训练和测试集写手不耦合。

SD-1 包括58,527图500写手,每个数字可以追溯写手。把SD-1分成两部分:前 250 写手写的放入新训练集,剩下的250 写手的放test set。这样我们每个集合有 30,000样本。新训练集加入了SD-3从pattern[0]开始的样本作补充,形成完整的包含60,000 training patterns的集合。同样,新测试集放入SD-3从 pattern[35,000]开始的样本作补充,形成完整的60,000 test patterns。在本网站,只有10,000样本的测试子集 (5,000 from SD-1 and 5,000 from SD-3)。完整集合60,000训练样本集合可以得到.

e、在这个training set and test set测试过的算法很多. 有一些算法做了斜偏校正(通过计算形状的主轴,转成垂直)。有些实验在训练集上做了人工畸变,包括随机漂移 缩放 压缩。

f、下面是论文列表和图像格式说明

3代码参考
1、http://tensorfly.cn/tfdoc/tutorials/mnist_beginners.html
2、《深度学习之tensorflow入门原理与进阶实战》
二者的代价函数都使用了交叉熵,然后使用梯度下降优化

你可能感兴趣的:(python,tensorflow)