【发布时间】:2017-08-14 01:03:11
【问题描述】:
这与我的问题有关,here。
我现在有如下更新的代码:
import numpy as np
import _pickle as cPickle
from PIL import Image
import sys,os
pixels = []
labels = []
traindata = []
i = 0
directory = 'C:\\Users\\abc\\Desktop\\Testing\\images'
for root, dirs, files in os.walk(directory):
for file in files:
floc = file
im = Image.open(str(directory) + '\\' + floc)
pix = np.array(im.getdata())
pixels.append(pix)
labels.append(1)
pixels = np.array(pixels)
labels = np.array(labels)
traindata.append(pixels)
traindata.append(labels)
traindata = np.array([traindata[i][i],traindata[1]], dtype=object)
i = i + 1
# do the same for validation and test data
# put all data and labels into 'data' array
cPickle.dump(traindata,open('data.pickle','wb'))
FILE = open("data.pickle", 'rb')
content = cPickle.load(FILE)
print (content)
当只有一张图片时,代码运行良好。但是,当我添加另一个或更多图像时,我会得到以下信息:
Traceback (most recent call last):
File "pickle_data.py", line 17, in <module>
pixels.append((pix))
AttributeError: 'numpy.ndarray' object has no attribute 'append'
我该如何解决这个问题?
谢谢。
【问题讨论】:
-
traindata = np.array([traindata[i][i],traindata[1]], dtype=object)- 你为什么要这样做?这没有任何意义。