卷积神经网络实现mnist手写数据集分类(tf2.0-gpu)

卷积神经网络实现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.****.net/qq_37337494/article/details/102313480

2.数据归一化处理

卷积神经网络实现mnist手写数据集分类(tf2.0-gpu)

3.建立模型

卷积神经网络实现mnist手写数据集分类(tf2.0-gpu)
两个卷积层, 接下来两个全连接层,在添加全连层之前 需要先对数据添加扁平化处理,将多维数据拉直成一维的,即Flatten()的作用。
最后一个全连层使用的去线性化**函数是sigmoid,输出样本在每个标签对应的概率值。

4.模型结构

卷积神经网络实现mnist手写数据集分类(tf2.0-gpu)

5.编译和训练模型

卷积神经网络实现mnist手写数据集分类(tf2.0-gpu)
可以看到最终模型的准确率非常高。

6.注意事项

使用GPU版本的tensorflow,有时候会出现gpu显存不足的情况,可以在导入模块后按需申请GPU:
卷积神经网络实现mnist手写数据集分类(tf2.0-gpu)