Python 手写数字识别-1
从官方网站下载的资料:http://yann.lecun.com/exdb/mnist/index.html 即下边的四个文件
先导包
import os # 处理操作系统相关的包
import os.path # 处理路径相关的包
import urllib # 处理网络请求相关的包
import gzip # 处理压缩文件相关的包
import shutil # 调用命令行(sh)工具(util)
import numpy as np
import matplotlib.pyplot as plt
if not os.path.exists('mnist'): # 如果没有此文件则创建,如果有则跳过os.mkdir("mnist")def download_and_gzip(name):if not os.path.exists(name+'.gz'):# python3 可直接使用urllib.urlretrieve 下载文件urllib.urlretrieve('http://yann.lecun.com/exdb/'+name+'.gz',name+'.gz')if not os.path.exists(name):# 将文件解压后写入到对应的目录下 with gzip.open(name+'.gz',"rb") as f_in, open(name,'wb') as f_out:shutil.copyfileobj(f_in,f_out)
download_and_gzip("mnist/train-images-idx3-ubyte")
download_and_gzip('mnist/train-labels-idx1-ubyte')
download_and_gzip('mnist/t10k-images-idx3-ubyte')
download_and_gzip("mnist/t10k-labels-idx1-ubyte")# 读数据
loaded = np.fromfile("mnist/train-images-idx3-ubyte",dtype='uint8') # unsigned integer 8-bits
loaded.shape
train_x = loaded[16:].reshape(60000,28,28)
loaded = np.fromfile("mnist/t10k-images-idx3-ubyte",dtype='uint8')
text_x = loaded[16:].reshape(10000,28,28)
print(train_x.shape)
print(text_x.shape)
loaded = np.fromfile('mnist/train-labels-idx1-ubyte',dtype='uint8')
loaded.shape
train_y = loaded[8:].reshape(60000)
loaded = np.fromfile("mnist/t10k-labels-idx1-ubyte",dtype='uint8')
test_y = loaded[8:].reshape(10000)
print(train_y.shape)
print(test_y.shape)
# cmap 就是color map 就是要渲染的颜色可以从此处选择
# https://matplotlib.org/stable/gallery/color/colormap_reference.html#sphx-glr-gallery-color-colormap-reference-py
plt.imshow(train_x[0], cmap="BrBG")
# plt.axis("off")
plt.show()
cmap参数选取链接
可选如下参数:
matplotlib的用法:
保留框的做法:
def plot_images(images,row,col):show_image = np.vstack(np.split(np.hstack(images[:col*row]),row, axis=1))plt.imshow(show_image,cmap='binary')plt.axis("off")plt.show()
row,col = 4,5
plot_images(train_x,row,col)
train_y[0:20].reshape(4,5)
Python 手写数字识别-1相关推荐
- python 手写数字识别 封装GUI,手写板获取鼠标写字轨迹信息
python 手写数字识别知识不用多说,本文用深度学习Python库Keras实现深度学习入门教程mnist手写数字识别.mnist手写数字识别是机器学习和深度学习领域的"hello wor ...
- python手写数字识别实验报告_Python代码实现简单的MNIST手写数字识别(适合初学者看)...
补充:由于很多同学找我要原数据集和代码,所以我上传到了资源里,https://download..net/download/zugexiaodui/10913834 初学机器学习,第一步是做一个简单的 ...
- python手写数字识别实验报告_python神经网络编程实现手写数字识别
本文实例为大家分享了python实现手写数字识别的具体代码,供大家参考,具体内容如下 import numpy import scipy.special #import matplotlib.pypl ...
- Python手写数字识别+GUI界面+手写板设计
摘要 手写数字识别是模式识别中一个非常重要和活跃的研究领域,数字识别也不是一项孤立的技术,他涉及的问题是模式识别的其他领域都无法回避的:应用上,作为一种信息处理手段,字符识别有广阔的应用背景和巨大的市 ...
- python手写数字识别教学_python实现基于SVM手写数字识别功能
本文实例为大家分享了SVM手写数字识别功能的具体代码,供大家参考,具体内容如下 1.SVM手写数字识别 识别步骤: (1)样本图像的准备. (2)图像尺寸标准化:将图像大小都标准化为8*8大小. (3 ...
- python手写数字识别实验报告_机器学习python实战之手写数字识别
看了上一篇内容之后,相信对K近邻算法有了一个清晰的认识,今天的内容--手写数字识别是对上一篇内容的延续,这里也是为了自己能更熟练的掌握k-NN算法. 我们有大约2000个训练样本和1000个左右测试样 ...
- Python 手写数字识别 MNIST数据集下载失败
目录 一.MNIST数据集下载失败 1 失败的解决办法(经验教训): 2 亲测有效的解决方法: 一.MNIST数据集下载失败 场景复现:想要pytorch+MINIST数据集来实现手写数字识别,首先就 ...
- python手写数字识别实验报告_python实现识别手写数字 python图像识别算法
写在前面 这一段的内容可以说是最难的一部分之一了,因为是识别图像,所以涉及到的算法会相比之前的来说比较困难,所以我尽量会讲得清楚一点. 而且因为在编写的过程中,把前面的一些逻辑也修改了一些,将其变得更 ...
- python手写数字识别教学_6手写数字识别_python机器学习与数据挖掘_Python视频-51CTO学院...
爬虫 Python基础.数据分析扩展包Numpy.pandas.matplotlib,Python读取MySQL数据,Python爬虫及Scrapy框架,无监督机器学习算法聚类分析等,以及案例:互联网 ...
最新文章
- 一种算法的实现,几个相同大小的div组合在一起,判断是不是矩形
- vue 附件上传获取附近内容_vue实现文件上传功能
- JQ css3 导航栏到底部上移
- 微服务 边界服务_遵循这些实用原则以获取精心设计的微服务边界
- [sqlite] android create db in SD card
- RPC 的超时设置,一不小心就是线上事故!
- 避免数据二次提交的处理方式
- OSX Finder显示隐藏文件
- 图的存储结构之邻接表(详解)
- java-多线程安全问题
- 把word excel ppt 导入到右键快捷菜单中
- 【无人机学习】惯性导航系统简介
- 分享psd格式怎么预览的方法和psd文件缩略图插件
- 英语学习详细笔记(十)形容词
- 探讨手机越狱和安装deb文件的几种方式研究
- python取值范围_python 数据库取值范围
- JS返回到上一页的三种方法
- chrome电脑棒 刷linux,其实已经够用:华硕Chromebit电脑棒评测
- Maximum length exceeded错误的解决办法
- opencv-自定义色带产生类似jet的效果