Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 部分下载的keras cifar10数据集的Python3 keras:UnpicklingError:pickle数据被截断_Python 3.x_Machine Learning_Keras - Fatal编程技术网

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

Python 3.x 部分下载的keras cifar10数据集的Python3 keras:UnpicklingError:pickle数据被截断,python-3.x,machine-learning,keras,Python 3.x,Machine Learning,Keras,我需要一些帮助来修正我的错误。我尝试加载cifar10数据集,但由于互联网不稳定,第一次无法完全下载,随后在稳定的互联网上重新运行代码会出现以下错误: UnpicklingError: Traceback (most recent call last) <ipython-input-16-9117078ebdb2> in <module>() 1 from keras.datasets import cifar10 ---

我需要一些帮助来修正我的错误。我尝试加载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
请帮我把这个修好


非常感谢。

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

我也有同样的问题。我试图在一个大型多gpu(比如100 gpu)上运行我的代码。问题是,我的每次运行都试图从头开始下载cifar,而下载过程是在我的CPU上而不是在我的GPU上运行的,因此在某种程度上,it正确、准确地下载所有这些过程会有问题。最后,我意识到,如果我只下载一次数据集并在所有实验之间共享文件夹,我就不会再面临这个问题了

这是因为您的cifar10数据集没有完全下载,您应该删除不完整的数据并重新下载。您可以调试cifar10.load_data()以查看您自己的路径()在哪里。我的路径在下面。只需删除并重新下载即可。 然后,您还可以手动将下载的cifar10数据放入该路径。

该目录中不存在该文件和文件夹。只有.py文件(cifar10.py)。所以没有东西可以移除。@kebochiG你确定你找对地方了吗?听起来你在看keras的源代码,我说的是~/.keras文件夹,注意。(句号)意味着它是主文件夹中的隐藏文件夹。哦,好的。我可能找错地方了@Matias。我目前正在查看“C:\Users\username\Anaconda3\envs\tensorflow\u 1.8\Lib\site packages\keras\dataset”目录。请问我怎样才能到达正确的地方。我在我的主文件夹(my.ipynb文件所在的位置)中也没有看到隐藏的文件夹,并且我选中了查看隐藏文件夹选项。
from keras.datasets import cifar10
(x_train, y_train), (x_test, y_test) = cifar10.load_data()