https://blog.csdn.net/Albert201605/article/details/79893585 https://blog.csdn.net/epubit17/article/details/80009618 https://www.sohu.com/a/228825316_99960938 目录 MNIST(手写数字图片识别+ubyte.gz文件)数据集下载、将数据集转化为CSV格式,并使用神经网络测试,手写0-9数字识别。 4、创建基本的神经网络,通过使用MNIST训练数据集进行训练,使用MNIST测试集和自己创建的手写数字图像数据对神经网络进行测试。 下载链接:https://yann.lecun.com/exdb/mnist/ 转化方法:下载原始数据后,置于工程目录下,解压,运行以下代码即可。 转化结果: 可以通过图像编辑或者绘画软件来创建图片,也可以通过用笔在纸上手写数字,通过拍照将手写数字变成图片格式。(在创建手写PNG图片时,需要将它们调整到28个像素乘以28个像素,这样才可以匹配MNIST数据集的图片)。 手写数字原图: 提醒:我们要创建较小的PNG图片,将它们调整到28个像素乘以28个像素,这才可以匹配曾经用过的来自MNIST数据集的图片。可以使用Win10自带的图像编辑器做到这一点。在导入图像是确保该图像为28个像素乘以28个像素,否则会报错。 读取解析结果: 该步骤即为创建基本的神经网络,使用MNIST训练数据集进行训练,使用MNIST测试集和自己创建的手写数字图像数据对神经网络进行测试。 具体实现过程可参考:https://download.csdn.net/download/qq_40513088/12524193 手写数字源文件: 运行结果:
MNIST(手写数字图片识别+ubyte.gz文件)数据集下载、将数据集转化为CSV格式,并使用神经网络测试,手写0-9数字识别。
借鉴博客
1、下载MNIST数据集
2、将MNIST数据集转化为CSV格式
def convert(imgf, labelf, outf, n): f = open(imgf, "rb") o = open(outf, "w") l = open(labelf, "rb") f.read(16) l.read(8) images = [] for i in range(n): image = [ord(l.read(1))] for j in range(28 * 28): image.append(ord(f.read(1))) images.append(image) for image in images: o.write(",".join(str(pix) for pix in image) + "n") f.close() o.close() l.close() convert("MNIST_data/train-images.idx3-ubyte", "MNIST_data/train-labels.idx1-ubyte", "mnist_train.csv", 60000) convert("MNIST_data/t10k-images.idx3-ubyte", "MNIST_data/t10k-labels.idx1-ubyte", "mnist_test.csv", 10000) print("Convert Finished!")
3、从手写数字图像中读取和解码数据
import imageio import glob import numpy import matplotlib.pyplot our_own_dataset = [] for image_file_name in glob.glob('Number4.png'): print ("加载文件:", image_file_name) # 使用文件名设置正确的标签 label = int(image_file_name[-5:-4]) # 将png文件图像转为数组 img_array = imageio.imread(image_file_name, as_gray=True) # 每张图片都由一个28 ×28 的矩阵表示,每张图片都由一个784 维的向量表示(28*28=784) # 将数组的值减去了255.0。常规而言,0指的是黑色,255指的是白色,但是,MNIST数据集使用相反的方式表示,因此将值逆转过来以匹配MNIST数据 # 从28x28重塑到包含784个值的列表,反转值 img_data = 255.0 - img_array.reshape(784) # 然后将数据缩放到范围从0.01到1.0 img_data = (img_data / 255.0 * 0.99) + 0.01 print(numpy.min(img_data)) print(numpy.max(img_data)) # 附加标签和图像数据来测试数据集 record = numpy.append(label,img_data) print(record) our_own_dataset.append(record) pass matplotlib.pyplot.imshow(our_own_dataset[0][1:].reshape(28,28), cmap='Greys', interpolation='None') print(our_own_dataset[0]) print("识别结果为:", record[0]) print(record[0])
4、创建基本的神经网络,通过使用MNIST训练数据集进行训练,使用MNIST测试集和自己创建的手写数字图像数据对神经网络进行测试。
5、运行结果
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算