1、np_mnist_read
import struct
import numpy as np
import matplotlib.pyplot as plt
def read_image_files(filename, num):
bin_file = open(filename, 'rb')
buf = bin_file.read()
index = 0
# # 读取前四个数字
# magic, numImage, numRows, numCols = struct.unpack_from('>IIII', buf, index)
# 索引移动到第一张图片的位置 ‘I’代表4个字节 两个数字一个字节
# 前四个字节表示magic number,接下来四个字节代表容量,接下来从第8个字节表示行数和列数
index += struct.calcsize('>IIII')
# 索引移动到第num张图片的位置
index += struct.calcsize('>784B') * num
# 读取一张完整的图片数据
images = struct.unpack_from('>784B', buf, index)
plt.imshow(np.array(images).reshape(28, 28), cmap='Greys')
plt.show()
plt.imshow(np.array(images).reshape(28, 28), cmap='gray')
plt.show()
for i in range(784):
if (i % 28 == 0 and i != 0):
print()
print(image