【发布时间】:2017-03-22 02:31:37
【问题描述】:
我依赖于提到的代码here,但做了一些小的修改。我的版本如下:
import numpy as np
import _pickle as cPickle
from PIL import Image
import sys,os
pixels = []
labels = []
traindata = []
data=[]
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)
# do the same for validation and test data
# put all data and labels into 'data' array
cPickle.dump(data,open('data.pkl','wb'))
当我运行代码时,我得到以下信息:
Traceback (most recent call last):
File "pickle_data.py", line 24, in <module>
traindata=np.array(traindata)
ValueError: could not broadcast input array from shape (22500,3) into shape (1)
我该如何解决这个问题?
谢谢。
【问题讨论】: