Keras---实现VGG16网络

摘要

VGG 16网络在一些复杂的目标检测网络里会把它的卷积层拿出来做特征提取,所以本文主要聊聊VGG 16网络组成;使用keras复现vgg16;使用keras的已封装的vgg16做微调(使用已训练的卷基层,只训练全连接层)。

VGG 16组成

vgg16是vgg网络家族中的一员,也是使用较多的一种,网络深度有16层,与以前接触的CNN网络差不多,论文中说vgg网络特点是深度较深,使用3*3卷集核,第一个全连接层使用与输入相同尺寸的卷集核取代传统全连接方式以达到降低参数的目的。详细内容参看论文。

论文原文:https://arxiv.org/pdf/1409.1556.pdf

论文翻译对照:https://blog.csdn.net/weixin_42546496/article/details/87914338

keras实现VGG16网络

这里数据集我使用的是kaggle中猫狗大战的数据集,网上可以查得到,这里就不提供了,你也可以用其他的数据集来取代,把num_classes改为需要的类别数。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Jul 23 11:23:12 2019

@author: sb
"""
#import tensorflow as tf
import keras
from keras.models import Sequential
from keras.layers.pooling import GlobalAveragePooling2D
from keras.layers import Dense,Conv2D,MaxPooling2D
from keras.preprocessing.image import ImageDataGenerator
#from keras import backend as K

num_classes = 2
img_rows,img_cols = 224,224
batch_size = 64
input_shape = (img_rows,img_cols,3)

datagen=ImageDataGenerator()   #也可以做数据增广
train_generator = datagen.flow_from_directory(
    './training_set',
    target_size
  • 1
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值