
train.py
一、导入相应的库
import numpy as np
import cv2
import os
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
from keras.models import Sequential
from keras.layers import Flatten, MaxPool2D, Conv2D, Dense
from keras.preprocessing.image import ImageDataGenerator # 数据增强
from keras.optimizers import adam_v2 # 优化
keras库安装:keras安装步骤 建议采用第二种
二、文件图像处理、导入
images = []
classNu = []
myList = os.listdir(path)
nuOfclasses = len(myList)
print('Total Nu of classes Detected', nuOfclasses)
print('Importing Classes......')
for x in myList:
myPicList = os.listdir(path + '/' + str(x))
for y in myPicList:
# print(path + '/' + str(x) + '/' + y)
curImg = cv2.imread(path + '/' + str(x) + '/' + y)
curImg = cv2.cvtColor(curImg, cv2.COLOR_BGR2RGB)
curImg = cv2.resize(curImg, (imageDimensions[0], imageDimensions[1]))
images.append(curImg)
classNu.append(x)
print(x, end=' ')
print('')
images = np.array(images)
classNu = np.array(classNu)
print(images.shape)
三、训练集、测试集分配
x_train, x_test, y_train, y_test = train_test_split(images, classNu, test_size=testRatio)
print(x_train.shape) # 训练集
print(x_test.shape) # 测试集
四、cat=0、dog=1批量处理
# print(y_train)
y_train = [0 if i == 'cats' else 1 for i in y_train]
y_test =

本文介绍了一个使用卷积神经网络(CNN)进行猫狗图像识别的项目。通过数据增强提高模型泛化能力,并实现摄像头实时预测。
最低0.47元/天 解锁文章
1167

被折叠的 条评论
为什么被折叠?



