从官方网站下载的资料: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相关推荐

  1. python 手写数字识别 封装GUI,手写板获取鼠标写字轨迹信息

    python 手写数字识别知识不用多说,本文用深度学习Python库Keras实现深度学习入门教程mnist手写数字识别.mnist手写数字识别是机器学习和深度学习领域的"hello wor ...

  2. python手写数字识别实验报告_Python代码实现简单的MNIST手写数字识别(适合初学者看)...

    补充:由于很多同学找我要原数据集和代码,所以我上传到了资源里,https://download..net/download/zugexiaodui/10913834 初学机器学习,第一步是做一个简单的 ...

  3. python手写数字识别实验报告_python神经网络编程实现手写数字识别

    本文实例为大家分享了python实现手写数字识别的具体代码,供大家参考,具体内容如下 import numpy import scipy.special #import matplotlib.pypl ...

  4. Python手写数字识别+GUI界面+手写板设计

    摘要 手写数字识别是模式识别中一个非常重要和活跃的研究领域,数字识别也不是一项孤立的技术,他涉及的问题是模式识别的其他领域都无法回避的:应用上,作为一种信息处理手段,字符识别有广阔的应用背景和巨大的市 ...

  5. python手写数字识别教学_python实现基于SVM手写数字识别功能

    本文实例为大家分享了SVM手写数字识别功能的具体代码,供大家参考,具体内容如下 1.SVM手写数字识别 识别步骤: (1)样本图像的准备. (2)图像尺寸标准化:将图像大小都标准化为8*8大小. (3 ...

  6. python手写数字识别实验报告_机器学习python实战之手写数字识别

    看了上一篇内容之后,相信对K近邻算法有了一个清晰的认识,今天的内容--手写数字识别是对上一篇内容的延续,这里也是为了自己能更熟练的掌握k-NN算法. 我们有大约2000个训练样本和1000个左右测试样 ...

  7. Python 手写数字识别 MNIST数据集下载失败

    目录 一.MNIST数据集下载失败 1 失败的解决办法(经验教训): 2 亲测有效的解决方法: 一.MNIST数据集下载失败 场景复现:想要pytorch+MINIST数据集来实现手写数字识别,首先就 ...

  8. python手写数字识别实验报告_python实现识别手写数字 python图像识别算法

    写在前面 这一段的内容可以说是最难的一部分之一了,因为是识别图像,所以涉及到的算法会相比之前的来说比较困难,所以我尽量会讲得清楚一点. 而且因为在编写的过程中,把前面的一些逻辑也修改了一些,将其变得更 ...

  9. python手写数字识别教学_6手写数字识别_python机器学习与数据挖掘_Python视频-51CTO学院...

    爬虫 Python基础.数据分析扩展包Numpy.pandas.matplotlib,Python读取MySQL数据,Python爬虫及Scrapy框架,无监督机器学习算法聚类分析等,以及案例:互联网 ...

最新文章

  1. 一种算法的实现,几个相同大小的div组合在一起,判断是不是矩形
  2. vue 附件上传获取附近内容_vue实现文件上传功能
  3. JQ css3 导航栏到底部上移
  4. 微服务 边界服务_遵循这些实用原则以获取精心设计的微服务边界
  5. [sqlite] android create db in SD card
  6. RPC 的超时设置,一不小心就是线上事故!
  7. 避免数据二次提交的处理方式
  8. OSX Finder显示隐藏文件
  9. 图的存储结构之邻接表(详解)
  10. java-多线程安全问题
  11. 把word excel ppt 导入到右键快捷菜单中
  12. 【无人机学习】惯性导航系统简介
  13. 分享psd格式怎么预览的方法和psd文件缩略图插件
  14. 英语学习详细笔记(十)形容词
  15. 探讨手机越狱和安装deb文件的几种方式研究
  16. python取值范围_python 数据库取值范围
  17. JS返回到上一页的三种方法
  18. chrome电脑棒 刷linux,其实已经够用:华硕Chromebit电脑棒评测
  19. Maximum length exceeded错误的解决办法
  20. opencv-自定义色带产生类似jet的效果

热门文章

  1. bibliometrix-BiblioShiny使用
  2. 关于去中心化技术实现的意义
  3. PDF打开密码忘记了,怎么找回?
  4. java9新特性(简述十大新特性)
  5. 利用Ladon实现C2免杀所有杀软
  6. java爬虫---问卷星自动提交问卷请求参数(jqsign,jqnonce等)解密
  7. 十三个强大的Linux性能监测工具
  8. Python函数:np.sum()以及axis=0、axis=1用法
  9. 蓝桥杯 算法提高-学霸刷题
  10. 计算机网络期末复习(谢希仁 第五版)