gpt4 book ai didi

Python cPickle : load fails with UnpicklingError

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:02 25 4
gpt4 key购买 nike

我使用以下内容制作了一个 pickle 文件。

from PIL import Image
import pickle
import os
import numpy
import time

trainpixels = numpy.empty([80000,6400])
trainlabels = numpy.empty(80000)
validpixels = numpy.empty([10000,6400])
validlabels = numpy.empty(10000)
testpixels = numpy.empty([10408,6400])
testlabels = numpy.empty(10408)

i=0
tr=0
va=0
te=0
for (root, dirs, filenames) in os.walk(indir1):
print 'hello'
for f in filenames:
try:
im = Image.open(os.path.join(root,f))
Imv=im.load()
x,y=im.size
pixelv = numpy.empty(6400)
ind=0
for ii in range(x):
for j in range(y):
temp=float(Imv[j,ii])
temp=float(temp/255.0)
pixelv[ind]=temp
ind+=1
if i<40000:
trainpixels[tr]=pixelv
tr+=1
elif i<45000:
validpixels[va]=pixelv
va+=1
else:
testpixels[te]=pixelv
te+=1
print str(i)+'\t'+str(f)
i+=1
except IOError:
continue
trainimage=(trainpixels,trainlabels)
validimage=(validpixels,validlabels)
testimage=(testpixels,testlabels)

output=open('data.pkl','wb')

pickle.dump(trainimage,output)
pickle.dump(validimage,output)
pickle.dump(testimage,output)

现在我使用以下代码的 load_data() 函数进行 unpickling: http://www.deeplearning.net/tutorial/code/logistic_sgd.py这是通过运行调用的 http://www.deeplearning.net/tutorial/code/rbm.py

但它返回以下错误。

cPickle.UnpicklingError: A load persistent id instruction was encountered,
but no persistent_load function was specified.

看起来数据结构是不匹配的,但我不知道它应该如何......

仅供引用,pickle 文件大小超过 16GB,gzip 超过 1GB

最佳答案

我发现 pickle 和反 pickle 是明智的。这里你不像 pickle 那样解腌,所以它不起作用。在您的代码中,您将在同一文件中一个接一个地 pickle 对象。您对同一个文件进行了三次 pickle 。如果你想回读它们,你必须按顺序阅读。您要做的就是打开文件进行 unpickle,然后按顺序 pickle.load 每个对象。

with gzip.open(dataset, 'rb') as f:
train_set = cPickle.load(f)
valid_set = cPickle.load(f)
test_set = cPickle.load(f)

您可能想尝试更简单的代码,其中 train_set、valid_set、test_set(使用 gzip 进行 pickle 和 unpickling)是简单的可 picklable 对象,只是为了确定。

关于Python cPickle : load fails with UnpicklingError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25151206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com