读取数据(如mnist),格式.gz(源码)

这篇博客展示了如何使用Python从.gz压缩文件中提取MNIST数据集的训练图像,包括读取.gz文件、解析数据头信息,并将数据转换为numpy数组。通过reshape方法将数据重塑为合适的形状。
摘要由CSDN通过智能技术生成
#coding=utf-8

import os,gzip
import numpy as np
#    /home/wxy/Documents/tensorflow-generative-model-collections-master/data/mnist/train-labels-idx1-ubyte.gz
data_dir = '../tensorflow-generative-model-collections-master/data/mnist'

def extract_data(filename, num_data, head_size, data_size):
    with gzip.open(filename) as bytestream:
        data_head = bytestream.read(head_size)
        #前8/16位为包的信息(32位),数据的信息为整数(4位):2049/2051(magic number),60000(数据个数),28(行数),28(列数)
        buf = bytestream.read(data_size * num_data)
        data = np.frombuffer(buf, dtype=np.uint8).astype(np.float)
        data_head1= np.frombuffer(data_head, dtype=np.uint8).astype(np.float)
    return data,data_head1

data,data_head1 = extract_data(data_dir + '/tr
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值