无法手动加载 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\<your_username>\.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 数据集的主要内容,如果未能解决你的问题,请参考以下文章