2017-07-15 93 views
0

我目前在TensorFlow中使用一些神经网络 - 我决定尝试使用CIFAR-10数据集。我从网站上下载了“CIFAR-10 python”数据集:https://www.cs.toronto.edu/~kriz/cifar.html无法加载CIFAR-10数据集:无效加载键' x1f'

在Python,我也直接试图复制提供的是,代码加载数据:

def unpickle(file): 
import pickle 
with open(file, 'rb') as fo: 
    dict = pickle.load(fo, encoding='bytes') 
return dict 

然而,当我运行此,我结束了以下错误:_pickle.UnpicklingError: invalid load key, '\x1f'.我也尝试使用gzip模块(with gzip.open(file, 'rb') as fo:)打开文件,但这也不起作用。

数据集简直是坏的,或者这是代码问题?如果数据集不好,我可以在哪里获得CIFAR-10的正确数据集?

+0

尝试删除'encoding ='bytes''? –

+0

我试过了,同样的错误仍然存​​在。 – MLavrentyev

+0

好的...你有keras吗? –

回答

1

提取您的*。广州文件,并使用此代码

from six.moves import cPickle 
f = open("path/data_batch_1", 'rb') 
datadict = cPickle.load(f,encoding='latin1') 
f.close() 
X = datadict["data"] 
Y = datadict['labels'] 
0

好像你需要解压* GZ文件,然后解压* tar文件得到data_batches的文件夹中。之后你可以在这些批次上应用pickle.load()。