首页 > 解决方案 > 无法手动加载 kears imbd 数据集

问题描述

按照此说明:from keras.datasets import mnist 的替代方法

我可以使用以下几行加载 mnist 数据集:

f = gzip.open('C:/.../Datasets/mnist.pkl.gz', 'rb')
if sys.version_info < (3,):
    data = pickle.load(f)
else:
    data = pickle.load(f, encoding='bytes')
f.close()

(x_train, y_train),(x_test, y_test) = data

但是,当我对 IMDB 数据集尝试相同的操作时,我将其保存为 tar.gz 文件,其中包含以下命令:

imdb = gzip.open('C:/.../Datasets/aclImdb_v1.tar.gz', 'rb')
if sys.version_info < (3,):
    data = pickle.load(imdb)
else:
    data = pickle.load(imdb, encoding='bytes')
imdb.close()

我得到错误:

UnpicklingError: unpickling stack underflow

我不允许加载它:

imdb = keras.datasets.imdb

(train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000)

因为我在代理后面。

标签: pythontensorflowkeras

解决方案


由于您在代理后面,因此有其他方法可以下载数据集:

如果您收到有关 pickle 的错误,请查看:How to fix 'Object arrays cannot be loaded when allow_pickle=False' for imdb.load_data() function?


推荐阅读