VGG网络

AlexNet比LeNet更深入更大,以获得更强的性能

VGG块

3x3卷积(填充1)(n层,m个通道)

2x2最大池化层(步幅=2)

更深和更窄更好

VGG架构

VGG16

发展

LeNet(1995)

2卷积层+池化层

2隐含层

AlexNet

更大更深的LeNet

ReLu激活,丢弃法,预处理

VGG

更大更深的AlexNet(重复的VGG块)

1神经网络核心组件

层:基本结构,将输入张量转化为输出张量

模型:由层构成的网络

损失函数:参加学习的目标函数,通过最小化损失函数来学习各种参数

优化器:可使损失函数最小

构建神经网络的主要工具

1  nm.Module

1可自动提取可学习的参数

2适用于卷积层,全连接层,dropout层

2 nm.functional

1更像纯函数

2适用于激活函数、池化层

nm.Module

linear:全连接层

cohv:卷积层

norm:归一化

Active:激活函数

loss:损失函数

nm.functional

写法一般为nn.Xxx,如nn.Linear等

nm.functional中的函数,写法一般为nn.functional.xxx

主要区别

1nn.Xxx继承于nn.Module,nn.Xxx需要先实例化并传入数据,然后以调用函数的方式调用实例化的对象并传入输入数据,可以与nn.Sequential结合使用,而nn.functional.xxx无法与nn.Sequential结合使用

2nn.Xxx不需要自定义和管理weight/bias参数,而nn.functional.xxx需要每次调用的时候手动传入weight/bias参数。

3dropout操作在训练和测试阶段是有区别的,使用nn.Xxx方式定义dropout,调用model.eval()后自动实现状态的转换,使用nn.functional.xxx则没有这个功能。

模型构建

1继承nm.Module基类构建模型

2使用nn.Sequential按层顺序构建模型

3继承nm.Module基类构建模型,又使用模型容器nn.Sequential进行封装

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐