【深度学习】全面理解VGG16模型

VGG16的结构层次

vgg16总共有16层,13个卷积层和3个全连接层,第一次经过64个卷积核的两次卷积后,采用一次pooling,第二次经过两次128个卷积核卷积后,再采用pooling,再重复两次三个512个卷积核卷积后,再pooling,最后经过三次全连接。附上,官方的vgg16网络结构图:
在这里插入图片描述

介绍结构图

首先需要看懂上图中的一些式子含义,如conv3-64,conv3-125

  1. conv3-64 :是指第三层卷积后维度变成64,同样地,conv3-128指的是第三层卷积后维度变成128;
  2. input(224x224 RGB image) :指的是输入图片大小为224244的彩色图像,通道为3,即224224*3;
  3. maxpool :是指最大池化,在vgg16中,pooling采用的是2*2的最大池化方法(如果不懂最大池化,下面有解释);
  4. FC-4096 :指的是全连接层中有4096个节点,同样地,FC-1000为该层全连接层有1000个节点;
  5. padding
以下是使用VGG16进行迁移学习的代码示例: ```python from keras.applications.vgg16 import VGG16 from keras.preprocessing.image import ImageDataGenerator from keras.models import Model from keras.layers import Dense, Flatten # 加载预训练模型VGG16 vgg16 = VGG16(weights='imagenet', include_top=False, input_shape=(224, 224, 3)) # 禁止训练预训练模型的权重 for layer in vgg16.layers: layer.trainable = False # 添加自定义的输出层 x = vgg16.output x = Flatten()(x) x = Dense(256, activation='relu')(x) x = Dense(128, activation='relu')(x) predictions = Dense(2, activation='softmax')(x) # 构建新的模型 model = Model(inputs=vgg16.input, outputs=predictions) # 编译模型 model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) # 定义数据生成器 train_datagen = ImageDataGenerator(rescale=1./255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True) test_datagen = ImageDataGenerator(rescale=1./255) train_generator = train_datagen.flow_from_directory('train', target_size=(224, 224), batch_size=32, class_mode='categorical') validation_generator = test_datagen.flow_from_directory('validation', target_size=(224, 224), batch_size=32, class_mode='categorical') # 训练模型 model.fit_generator(train_generator, steps_per_epoch=2000, epochs=50, validation_data=validation_generator, validation_steps=800) ``` 在此代码示例中,我们加载了预训练的VGG16模型,并禁止了它的所有权重进行训练。然后,我们添加了自定义的输出层,并根据需要进行了编译。接下来,我们定义了用于训练模型的数据生成器,并使用fit_generator方法对模型进行训练。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值