用keras进行猫狗识别(三)

本文介绍如何利用预训练的VGG16网络进行猫狗识别,通过移除原有的分类器并添加新的分类层进行训练,最终达到88%-89%的准确率,显著提高了识别效果。

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

背景

通过之前的数据增强+直接训练,我们将正确率提高到了八十以上,但是还有一种更好的方法去帮助我们训练,那就是使用预训练网络,原理就是前人栽树,后人乘凉,假定之前有人用了超多的数据进行训练,实现了多分类的识别,其中包括了我们本次要识别的东西,或者和我们识别的东西有相似特征的东西,这样我们就可以利用其训练的模型运用到自己的模型中。

首先介绍一下卷积神经网络,它主要包括两个部分,第一部分是卷积基,包括卷积层和池化层,第二个部分就是密集连接分类器,特征提取就是取出训练好的卷积基,在上边增加新的密集连接分类器,示意图如下:
在这里插入图片描述

准备文件

准备好训练集和验证集的图片,分别为2000张和1000张,倒是没有硬性要求,主要是为了学习,用的多就有点浪费时间了(原数据集有几万张)

进行预测数据,并保存

这个部分将用VGG16去训练我们的数据,指定没有分类器,最后我们将得到的数据进行储存,具体细节我写了注释,应该都能看懂

from keras.applications import VGG16

conv_base = VGG16(
    weights='imagenet',#指定模型初始化检查点
    include_top=False,#指定模型最后是否包含密集连接器
    input_shape=(150,150,3)#指定输入到网络中图像的形状
    )

import os
import numpy as np
from keras.preprocessing.image import ImageDataGenerator
#指定地址
base_dir = 'F:\DeepLearn\cat_and_dog'
train_dir = os.path.join(base_dir,'tr
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值