pytorch神经网络工具箱
1nn.Xxx继承于nn.Module,nn.Xxx需要先实例化并传入数据,然后以调用函数的方式调用实例化的对象并传入输入数据,可以与nn.Sequential结合使用,而nn.functional.xxx无法与nn.Sequential结合使用。3dropout操作在训练和测试阶段是有区别的,使用nn.Xxx方式定义dropout,调用model.eval()后自动实现状态的转换,使用nn.fu
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进行封装
。

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