Python MNIST 数据集加载函数:从文件读取图像数据
这段代码是一个简单的辅助函数loadDataSet,用于加载二维数据和标签。然而,由于 MNIST 数据集是一个多维图像数据集,无法直接使用这个函数加载 MNIST 数据集。
对于 MNIST 数据集,你可以使用以下代码修改loadDataSet函数:
import numpy as np
def loadDataSet(fileName):
dataMat = []; labelMat = []
fr = open(fileName, 'rb')
magic_number = int.from_bytes(fr.read(4), 'big')
num_images = int.from_bytes(fr.read(4), 'big')
num_rows = int.from_bytes(fr.read(4), 'big')
num_cols = int.from_bytes(fr.read(4), 'big')
for _ in range(num_images):
image = np.frombuffer(fr.read(num_rows * num_cols), dtype=np.uint8)
dataMat.append(image)
return dataMat
在这个修改后的loadDataSet函数中,我们假设你已经下载并解压缩了 MNIST 数据集的图像文件(例如train-images-idx3-ubyte和t10k-images-idx3-ubyte)。函数将打开指定的文件并读取其中的图像数据。返回的dataMat是一个包含所有图像的列表,每个图像以 numpy 数组的形式表示。
请注意,这个函数只能加载 MNIST 数据集的图像数据,无法加载标签数据。如果你也需要加载标签数据,请使用其他方法或库来加载 MNIST 数据集的标签,例如fetch_openml函数。
希望这个修改后的函数可以帮助你加载 MNIST 数据集的图像数据!如果还有其他问题,请随时提问。
原文地址: https://www.cveoy.top/t/topic/bySI 著作权归作者所有。请勿转载和采集!