11.CNN实现真实猫狗图片分类

本文介绍如何利用CNN处理复杂的真实猫狗图片,包括数据预处理、创建Keras图片数据集、图片归一化和构建CNN模型。通过在训练和测试集上操作,最终实现对真实图片的识别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CNN实现真实猫狗图片分类

个人认为,和上一节的mnist数据集里面的手写数字图片不同之处就是,真实的图片更加复杂,像素点更多。因此在对应的图片预处理方面会稍微麻烦一些。但是这个例子能让我们可以处理自己遇到的问题,不仅限于已有的mnist。

不多说直接上代码

import keras
from keras import layers
import numpy as np
import os
import shutil

这一步主要是为了制作一个Keras 能够识别处理,直接读取的图片数据集
文件结构为。 一个train 和test文件夹, 在train和test文件夹下 建立 猫和狗的文件夹,并把图片放入对应文件夹。 (在解决自己的问题的时候,也是要这样放好图片)

base_dir = '/.dataset/cat_dog'
train_dir = os.path.join(base_dir, 'train')
train_dir_dog = os.path.join(train_dir, 'dog')
train_dir_cat = os.path.join(train_dir, 'cat')

test_dir = os.path.join(base_dir, 'test')
test_dir_dog = os.path.join(test_dir, 'dog')
test_dir_cat = os.path.join(test_dir, 'cat')

os.mkdir(base_dir)
os.mkdir(train_dir)
os.mkdir(train_dir_dog)
os.mkdir(train_dir_cat)
os.mkdir(test_dir)
os.mkdir(test_dir_dog)
os.mkdir(test_dir_cat)
dc_dir='./dataset'   #存图片的位置

猫的1000张训练图片

fnames = ['cat'.{
   
   }.jpg.format(i) for i in rangen (1000)]  #文件名称 因为图片的命名是 cat1.jpg cat10.gpj形式
for fname in fnames:
    s = os.path
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值