1)准备数据,打开文件夹读取数据
def read_data(data_dir):
datas = []
labels = []
for fname in os.listdir(data_dir):
fpath = os.path.join(data_dir, fname)
image = Image.open(fpath)
image = image.resize((32,32))
data = np.array(image) / 255.0
label = int(fname.split("_")[0])
datas.append(data)
labels.append(label)
datas = np.array(datas)
labels = np.array(labels)
return fpaths, datas, labels
这里,我们从data_dir文件夹中读取文件列表,并且默认c_name.jpg为图片文件的格式,c是类别,name是图片名字。
读取完数据之后,把图片数据传入datas 中,类别信息传入labels 中,且datas与labels一一对应。
2)打乱读入的顺序,即改变datas与labels中数据的先后的顺序(或者进行其他处理)
num_example=data.shape[0]
arr=np.arange(num_example)
np.random.shuffle(arr)
datas=datas[arr]
labels=labels[arr]