卷积神经网络实现mnist手写数据集分类(tf2.0-gpu)
1.加载mnist数据集的方法
(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()
会自动下载,但有时因网络原因或其他原因,下载速度会很慢,耗时很久,解决办法如下:
先下载好mnist.npz文件,放到C:\Users\Administrator\.keras\datasets文件夹下会很快的加载好数据,不存在datasets文件夹可以自己新建一个,下载mnist.npz的地址可以参考:https://blog.csdn.net/qq_37337494/article/details/102313480
2.数据归一化处理
3.建立模型
两个卷积层, 接下来两个全连接层,在添加全连层之前 需要先对数据添加扁平化处理,将多维数据拉直成一维的,即Flatten()的作用。
最后一个全连层使用的去线性化激活函数是sigmoid,输出样本在每个标签对应的概率值。
4.模型结构
5.编译和训练模型
可以看到最终模型的准确率非常高。
6.注意事项
使用GPU版本的tensorflow,有时候会出现gpu显存不足的情况,可以在导入模块后按需申请GPU: