Jupyter加载MNIST.npz报错:文件不存在及非UTF-8编码问题求助
解决MNIST.npz加载的两个问题:文件不存在与编码提示错误
1. 处理「FileNotFoundError: 找不到文件或目录」
- 先确认Jupyter的当前工作目录,在单元格里运行
!pwd(Linux/macOS)或!cd(Windows),看输出路径是否为存放MNIST_data文件夹的位置。 - 若路径不符,要么把
MNIST_data文件夹移到当前工作目录,要么将代码里的path改为绝对路径,比如path = "C:/Users/xxx/Downloads/MNIST_data/mnist.npz"(Windows)或path = "/home/xxx/Downloads/MNIST_data/mnist.npz"(Linux)。 - 要是还没下载数据集,直接用代码自动下载更省心,比如用TensorFlow/Keras的内置接口:
下载后的数据集会自动存入默认路径,无需手动处理文件。from tensorflow.keras.datasets import mnist (x_train, y_train), (x_test, y_test) = mnist.load_data()
2. 处理「mnist.npz is not UTF-8 encoded saving disabled」提示
- 这个提示是因为你用文本编辑器打开了npz文件——npz是numpy的二进制压缩格式,并非文本文件,完全不能用文本编辑器打开。
- 要查看数据集内容,加载后用代码打印即可,示例:
import numpy as np path = "MNIST_data/mnist.npz" with np.load(path, allow_pickle=True) as f: print("文件内的键值对:", f.files) x_train, y_train = f['x_train'], f['y_train'] print("训练集形状:", x_train.shape)
内容的提问来源于stack exchange,提问作者Fardin Nourmohammadi
相关产品推荐
相关产品推荐

