python如何加载mnist_Python读取MNIST数据集

importnumpy as npimportmatplotlib.pyplot as plt‘‘‘试验transpose()

def back (a,b):

return a,b

if __name__ == ‘__main__‘:

a = np.array([[1,2,3],[11,12,13],[21,22,23]])

print(a)

b = np.array([[31,32,33],[41,42,43],[51,52,53]])

print(b)

a, b = transpose(back(a,b))

#a, b = back(a, b)

print(a)

print(b)‘‘‘

#数据加载器基类

classLoader(object):def __init__(self, path, count):‘‘‘初始化加载器

path: 数据文件路径

count: 文件中的样本个数‘‘‘self.path=path

self.count=countdefget_file_content(self):‘‘‘读取文件内容‘‘‘f= open(self.path, ‘rb‘)

content=f.read()

f.close()returncontentdefto_int(self, byte):‘‘‘将unsigned byte字符转换为整数‘‘‘

#print(byte)

#return struct.unpack(‘B‘, byte)[0]

returnbyte#图像数据加载器

classImageLoader(Loader):defget_picture(self, content, index):‘‘‘内部函数,从文件中获取图像‘‘‘start= index * 28 * 28 + 16picture=[]for i in range(28):

picture.append([])for j in range(28):

picture[i].append(

self.to_int(content[start+ i * 28 +j]))returnpicturedefget_one_sample(self, picture):‘‘‘内部函数,将图像转化为样本的输入向量‘‘‘sample=[]for i in range(28):for j in range(28):

sample.append(picture[i][j])returnsampledefload(self):‘‘‘加载数据文件,获得全部样本的输入向量‘‘‘content=self.get_file_content()

data_set=[]for index inrange(self.count):

data_set.append(

self.get_one_sample(

self.get_picture(content, index)))returndata_set#标签数据加载器

classLabelLoader(Loader):defload(self):‘‘‘加载数据文件,获得全部样本的标签向量‘‘‘content=self.get_file_content()

labels=[]for index inrange(self.count):

labels.append(self.norm(content[index+ 8]))returnlabelsdefnorm(self, label):‘‘‘内部函数,将一个值转换为10维标签向量‘‘‘label_vec=[]

label_value=self.to_int(label)for i in range(10):if i ==label_value:

label_vec.append(0.9)else:

label_vec.append(0.1)returnlabel_vecdefget_training_data_set():‘‘‘获得训练数据集‘‘‘image_loader= ImageLoader(‘train-images.idx3-ubyte‘, 60000)

label_loader= LabelLoader(‘train-labels.idx1-ubyte‘, 60000)returnimage_loader.load(), label_loader.load()defget_test_data_set():‘‘‘获得测试数据集‘‘‘image_loader= ImageLoader(‘t10k-images.idx3-ubyte‘, 10000)

label_loader= LabelLoader(‘t10k-labels.idx1-ubyte‘, 10000)returnimage_loader.load(), label_loader.load()if __name__ == ‘__main__‘:

train_data_set, train_labels=get_training_data_set()

line=np.array(train_data_set[0])

img= line.reshape((28,28))

plt.imshow(img)

plt.show()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
读取MNIST数据集的npy文件,可以使用Python中的numpy库。首先,确保已经导入numpy库。然后,使用np.load()函数来加载.npy文件。例如,假设.npy文件名为"mnist_data.npy",可以使用以下代码读取数据集: ```python import numpy as np dataset = np.load("mnist_data.npy") ``` 这将读取.npy文件并将数据存储在变量dataset中。现在,你可以使用打印语句查看数据集的内容: ```python print(dataset) ``` 这将打印出数据集的内容。如果你想确保.npy文件已经成功加载,可以添加以下代码: ```python print("load .npy done") ``` 这将在控制台输出"load .npy done"以表示.npy文件已经成功加载。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [下载MNIST数据集并使用python数据转换成NumPy数组(源码解析)](https://blog.csdn.net/qq_40828914/article/details/122280121)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python .npy文件自制数据集基本使用](https://blog.csdn.net/qq_46006468/article/details/119641292)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值