无法手动加载 keras imdb 数据集

Posted

技术标签:

【中文标题】无法手动加载 keras imdb 数据集【英文标题】:Cannot manually load kears imbd dataset 【发布时间】:2019-12-19 01:47:42 【问题描述】:

按照此说明:the alternative to 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)

因为我在代理后面。

【问题讨论】:

为什么要手动加载 IMDB 数据集? 因为我在代理后面...并且不允许直接加载它... 在这种情况下还有其他选择,我们这里有一个 XY 问题。 【参考方案1】:

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

在https://s3.amazonaws.com/text-datasets/imdb.npz下载文件 把下载的文件放到C:\Users\&lt;your_username&gt;\.keras\datasets里面 正常使用keras.datasets.imdb.load_data()

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

【讨论】:

当我运行时:imdb = keras.datasets.imdb.load_data(),我收到错误:ValueError: Object arrays cannot be loaded when allow_pickle=False @PV8 ***.com/questions/55890813/…

以上是关于无法手动加载 keras imdb 数据集的主要内容,如果未能解决你的问题,请参考以下文章

tensorflow数据集加载

从 Keras 的 imdb 数据集中恢复原始文本

keras实例学习-双向LSTM进行imdb情感分类

python中Keras下载mnist数据集

AI - TensorFlow - 示例:影评文本分类

keras加载mnist数据集