在上一步我们已经讲自己的图片转换成为了Model 需要的格式
from keras.utils import np_utils
from PIL import Image
import os,sys
from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
from array import array
import numpy as np
import matplotlib.pyplot as plot
#现在来构建X_train 与 Y_trian
X_train = []
Y_train = [] #用于存放训练数据的 X_train 与 Y_train 的定义
classes = num # 看你是几分类
# 读取读一个类的内容 每个类的内容对应一个标签
pathResizedTrainDataBomei = 'ResizeTrainImages/bomei/'
listingDog= os.listdir(pathResizedTrainDataBomei)
for file in listingDog:
if file != '.DS_Store' :
img = Image.open(pathResizedTrainDataBomei + file)
x = img_to_array(img)
X_train.append(x)
Y_train.append(0) # bomei 此时标签0 对应的内容就是 bomei图片存放的位置 下的全部图片
如有需要就在写第二个类
listingDog= os.listdir(pathResizedTrainDataHashiqi)
for file in listingDog:
if file != '.DS_Store' :
img = Image.open(pathResizedTrainDataHashiqi + file)
x = img_to_array(img)
X_train.append(x)
Y_train.append() # hashiqi 此时标签1 对应的内容就是
X_train中存放的是图片转换后的内容 Y_train其对应的标签 他们的位置是一一对应的
否则会出现例如Minist图片里的 有太多值的问题
# 将训练集转换成为Numpy数组.
total_input = len(X_train)
print("Total Train Data : %d" %total_input)
X_train = np.array(X_train)
X_train = X_train.reshape(total_input, row, column, 1)
X_train = X_train.astype('float32')
X_train /= 255
Y_train = np.array(Y_train)
Y_train = Y_train.reshape(total_input, 1)
训练集构建完了之后就可以进行训练
model.fit(X_train, Y_train, batch_size=batch_size, epochs=epochs, validation_split = 0.1, verbose=1)