python 识别数字字母 训练集_TensorFlow入门(四) - mnist手写数字识别(制作h5py训练集)...

TensorFlow入门(四) - mnist手写数字识别(制作h5py训练集)

这篇文章是 TensorFlow Tutorial 入门教程的第四篇文章。

在之前的几篇文章中,我们都是通过 tensorflow.examples.tutorials.mnist来使用mnist训练集集,制作训练集主要有2个目的,一是加快训练时读取的速度,而是支持随机批读取。假如,每次训练时,都是直接读取图片,再将图片转为矩阵进行训练,那这样效率无疑是非常低下的。

这篇文章将使用numpy 和 h5py(HDF5文件格式)2种方式来制作训练集,并对这两种方式进行对比。

准备图片

e71dcdaa3449e200d38696c42b526a54.png

直接读取tensorflow中mnist数据集,将数据集还原为图片。

在这里,使用 pillow库将矩阵转为图片。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18import numpy as np

from PIL import Image

from tensorflow.examples.tutorials.mnist import input_data

def gen_image(arr, index, label):

# 直接保存 arr,是黑底图片,1.0 - arr 是白底图片

matrix = (np.reshape(1.0 - arr, (28, 28)) * 255).astype(np.uint8)

img = Image.fromarray(matrix, 'L')

# 存储图片时,label_index的格式,方便在制作数据集时,从文件名即可知道label

img.save("./images/{}_{}.png".format(label, index))

data = input_data.read_data_sets('../mnist/data_set')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值