Python 3 keras:UnpicklingError:部分下载的 keras cifar10 数据集的 pickle 数据被截断

新手上路,请多包涵

我需要一些帮助来修复我的错误。我尝试加载 cifar10 数据集,但由于互联网不稳定,第一次无法完全下载,随后在稳定的互联网上重新运行代码会出现此错误:

 UnpicklingError:
Traceback (most recent call last)
<ipython-input-16-9117078ebdb2> in <module>()
  1 from keras.datasets import cifar10
----> 2 (x_train, y_train), (x_test, y_test) = cifar10.load_data()

c:\users\keboc\anaconda3\envs\tensorflow_1.8\lib\site-
packages\keras\datasets\cifar10.py in load_data(label_mode)
 32
 33     fpath = os.path.join(path, 'test_batch')
---> 34     x_test, y_test = load_batch(fpath)
 35
 36     y_train = np.reshape(y_train, (len(y_train), 1))

c:\users\keboc\anaconda3\envs\tensorflow_1.8\lib\site-packages\keras\datasets\cifar.py in load_batch(fpath, label_key)
 25             d = cPickle.load(f, encoding='bytes')
 26             # decode utf8
---> 27             #d_decoded = {}
 28             for k, v in d.items():
 29                 d_decoded[k.decode('utf8')] = v

UnpicklingError: pickle data was truncated

我用代码加载了数据集:

 from keras.datasets import cifar10
(x_train, y_train), (x_test, y_test) = cifar10.load_data()

请帮我解决这个问题。

非常感谢。

原文由 kebochiG 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 726
1 个回答

删除文件 ~/.keras/datasets/cifar-10-batches-py.tar.gz 和可能的文件夹 ~/.keras/datasets/cifar-10-batches-py 如果它存在并重试,它应该重新下载文件,希望这次成功。

原文由 Dr. Snoopy 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进