使用keras进行猫狗识别CNN卷积

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

 

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 =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跨界科技汇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值