我一直在尝试使用Keras示例,需要导入MNIST数据。
from keras.datasets import mnist
import numpy as np
(x_train, _), (x_test, _) = mnist.load_data()
它会生成如下错误信息:Exception: URL fetch failure on https://s3.amazonaws.com/img-datasets/mnist.pkl.gz: None -- [Errno 110] Connection timed out
这可能与我使用的网络环境有关。 是否有任何函数或代码可以让我直接导入已经手动下载的MNIST数据集?
我尝试了以下方法
import sys
import pickle
import gzip
f = gzip.open('/data/mnist.pkl.gz', 'rb')
if sys.version_info < (3,):
data = pickle.load(f)
else:
data = pickle.load(f, encoding='bytes')
f.close()
import numpy as np
(x_train, _), (x_test, _) = data
然后我收到以下错误消息
Traceback (most recent call last):
File "test.py", line 45, in <module>
(x_train, _), (x_test, _) = data
ValueError: too many values to unpack (expected 2)
import sys; import pickle; import gzip;
并使用pickle
而不是cPickle
有效 - 我正在macOS Mojave上使用Python 3.6.7。 - Giorgio Tempesta