本系列文章适合有深度学习基础(上过课,看得懂代码,但是想自己上手觉得困难的初学者)
首先上LeNet论文:
===Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. (1998).
Gradient-based Learning applied to document recognition.
Proceedings of the IEEE, 86(11), 2278–2324.===========
首先我们从导入数据集观察它可以干什么开始
import keras
from keras.datasets import mnist
print(dir(mnist))
结果显示:
然后我们可以看到我们可以操作的几个基本的功能:'absolute_import', 'division', 'get_file', 'load_data', 'np', 'print_function'
这里我们用得着加载数据:load_data
这个函数的返回值如下:
所以为了好操作 ,我们弄四个数组接住这些数值:
(x_train, y_train), (x_test, y_test)=mnist.load_data()
这时候我们得注意这些数据的形态可以导入numpy(np.shape())查看:
数组名 | 形态 |
x_train | (60000, 28, 28) |
y_train | (60000, 28, 28) |
x_test | (10000, 28, 28) |
y_test | (10000,) |
60000张训练数据,28*28的图像,0,1表示像素点,把它想成黑像素和白像素(对这个理解不能的同学可以去搜搜mnist可视化的文章这里就不介绍了)
然后我们可以开始写模型了。
我们现在的标签是1,2,6,3,5这样的我们需要把它变成onehot模式:
keras有提供好的keras.utils.to_categorical 所以这里就直接用它了,里面有两个参数,一个是导入的label数据,一个是标签的种类总个数。
classNumber=len(set(y_test))
Y_train = keras.utils.to_categorical(y_train,classNumber)
Y_test = keras.utils.to_categorical(y_t