CNN keras 2.1 训练自己的图片

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/d413122031/article/details/79150609

在上一步我们已经讲自己的图片转换成为了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)












猜你喜欢

转载自blog.csdn.net/d413122031/article/details/79150609