VGG网络学习

VGG介绍

 

VGG网络架构

 

 

cfgs里面对应了四个vgg网络的结构

列表里面的数字代表卷积核的个数

由于卷积核大小均为3*3

‘M’代表池化层的

通过Make_features函数传入列表

Layers空列表用于放置网络的每一层

RGB彩色图片,所以输入通道数为3

池化核为2    步距也为2

输入的通道3,输出的特征矩阵深度  对应为卷积核的个数  v为输出通道数,所以v赋给in_channels作为下一层的输入

Nn.Sequential(*layers)将列表通过非关键字参数的形式创建一个网络模型

接下来是分类网络结构

在初始化函数当中,传入features(刚刚的那个make_features),所需要分类的类别个数,是否对网络权重初始化。

最后生成7*7*512的网络结构,展平处理后变为512*7*7,dropout丢掉50%数据(50%比例随机失活神经元),防止过拟合,然后进行全连接层,神经元个数为2048,然后进行下一个全连接层,最后一个全连接层的输出为类别的个数。

正向传播

x为输入的图像,先进行提取特征,接下来开始展平,第0个维度是batch,从第一个维度开始展平。然后进入到分类网络当中。

实例化vgg网络

将vgg16传入到cfg中,通过VGG类来实例化VGG网络(传入features由make_features生成,**kwargs对应一个可变长度的字典变量,通过在调用vgg函数时所传入的字典变量得到,可能包含分类个数)。

接下来看训练脚本。

选用并输出训练方式

对训练集和验证集进行预处理操作,

随机裁剪、随机水平翻转、转化成Tensor格式、对其进行标准化处理,从头开始训练,如果基于迁移学习,则输入预训练好的模型的最佳参数[123.68,116.78,103.94]Imagenet数据集。

DataLoader数据生成器  num_workers=0  Windows默认为0,线程个数。

实例化vgg网络

参数为:模型名称、分类个数、是否需要权重初始化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值