3.1基于MNIST数据集模块化搭建神经网络实现测试程序输出手写数字识别准确率(一)

基于MNIST数据集模块化搭建神经网络实现测试程序输出手写数字识别准确率项目拆分为三步

  1. 了解MNIST数据集
  2. 模块化搭建神经网络
  3. 手写数字识别准确率输出

我们先来理解MNIST数据集
该数据集一共有7万张28*28像素的0~9手写数字图片,其中6万张用于训练,1万张用于测试.
每一张图片都有784个像素点,我们把784个像素点组成一维数组,喂给神经网络,作为输入特征
另外MNIST数据集也提供图片标签,其实就是图片里的数字,以一维数组形式出现

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('./data',one_hot=True)
#会自动下载,one_hot=True是以独热码形式存取

这个独热码大概类似于格雷码之类的编码方式,一种特征是一个态
mnist会自动将下载的数据集划分为训练集与测试集
这里正常的话,是不能下载的,可以借鉴这个博主的链接下载:https://blog.csdn.net/LYKymy/article/details/91128833
我们可以将数据解压成csv文件,建议用ubuntu,得到的csv文件格式如下

在这里插入图片描述
我们可以看看到底是什么样的手写数字

#读入手写字体数据集(小数据集:mnist_train_100.csv)
import numpy as np
import matplotlib.pyplot as plt

data_file = open("./data/mnist_test_10.csv", 'r')
data_list = data_file.readlines()
data_file.close()
for i in range(10):
    all_values = data_list[i].split(',')
    # np.asfarray()函数:返回转换为float类型的数组

    image_array = np.asfarray(all_values[1:]).reshape((28, 28))
    plt.imshow(image_array, cmap='Greys', interpolation='None')
    plt.show()

在这里插入图片描述
大概就是这样的数字

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值