pytorch模块介绍:torch.nn
一、简介
nn全称为neural network,意思是神经网络,是torch中构建神经网络的模块。
二、子模块介绍
2.1 nn.functional
该模块包含构建神经网络需要的函数,包括卷积层、池化层、激活函数、损失函数、全连接函数等。
例如:import torch.nn.functional as F
loss_func = F.cross_entropy #本例使用的是functional子模块的交叉熵损失函数。
loss = loss_func(model(x), y)
loss.backward() #更新权重及偏移量
2.1.1 nn.functional模块常见函数
linear() relu() conv2d() conv1d() avg_pool1d() avg_pool2d() threshold() sigmoid() tanh() softmax() 等
详见地址:https://pytorch-cn.readthedocs.io/zh/latest/package_references/functional/
2.1.2 nn.functional中的函数与nn.Module()的区别是(例如:nn.functional.conv2d()和):nn.Conv2d()
(1)nn.Module实现的层(layer)是一个特殊的类,都是由class Layer(nn.Module)定义,会自动提取可学习的参数。functinal模块中的函数就是一个函数。
(2)如果模型有可学习的参数时,最好使用nn.Module;否则既可以使用nn.functional也可以使用nn.Module,二者在性能上没有太大差异,
具体的使用方式取决于个人喜好。由于激活函数(ReLu、sigmoid、Tanh)、池化(MaxPool)等层没有可学习的参数,可以使用对应的functional函数,
而卷积、全连接等有可学习参数的网络建议使用nn.Module。
2.2 nn.Module & nn.Parameter
2.3 torch.nn.Sequential()
时序容器:参数为卷积层、池化层或激活层等,也可以用排序字典作为参数。例如:
# Example of using Sequential
model = nn.Sequential(
nn.Conv2d(1,20,5),
nn.ReLU(),
nn.Conv2d(20,64,5),
nn.ReLU())
model = nn.Sequential(OrderedDict([
('conv1', nn.Conv2d(1,20,5)),
('relu1', nn.ReLU()),
('conv2', nn.Conv2d(20,64,5)),
('relu2', nn.ReLU()) ]))
2.4 torch.nn.ModuleList & torch.nn.ParameterList
pytorch模块介绍:torch.nn的更多相关文章
- 小白学习之pytorch框架(1)-torch.nn.Module+squeeze(unsqueeze)
我学习pytorch框架不是从框架开始,从代码中看不懂的pytorch代码开始的 可能由于是小白的原因,个人不喜欢一些一下子粘贴老多行代码的博主或者一些弄了一堆概念,导致我更迷惑还增加了畏惧的情绪(个 ...
- PyTorch里面的torch.nn.Parameter()
在刷官方Tutorial的时候发现了一个用法self.v = torch.nn.Parameter(torch.FloatTensor(hidden_size)),看了官方教程里面的解释也是云里雾里, ...
- 到底什么是TORCH.NN?
该教程是在notebook上运行的,而不是脚本,下载notebook文件. PyTorch提供了设计优雅的模块和类:torch.nn, torch.optim, Dataset, DataLoader ...
- PyTorch官方中文文档:torch.nn
torch.nn Parameters class torch.nn.Parameter() 艾伯特(http://www.aibbt.com/)国内第一家人工智能门户,微信公众号:aibbtcom ...
- pytorch中文文档-torch.nn常用函数-待添加-明天继续
https://pytorch.org/docs/stable/nn.html 1)卷积层 class torch.nn.Conv2d(in_channels, out_channels, kerne ...
- 小白学习之pytorch框架(3)-模型训练三要素+torch.nn.Linear()
模型训练的三要素:数据处理.损失函数.优化算法 数据处理(模块torch.utils.data) 从线性回归的的简洁实现-初始化模型参数(模块torch.nn.init)开始 from torc ...
- pytorch中文文档-torch.nn.init常用函数-待添加
参考:https://pytorch.org/docs/stable/nn.html torch.nn.init.constant_(tensor, val) 使用参数val的值填满输入tensor ...
- pytorch中torch.nn构建神经网络的不同层的含义
主要是参考这里,写的很好PyTorch 入门实战(四)--利用Torch.nn构建卷积神经网络 卷积层nn.Con2d() 常用参数 in_channels:输入通道数 out_channels:输出 ...
- PyTorch : torch.nn.xxx 和 torch.nn.functional.xxx
PyTorch : torch.nn.xxx 和 torch.nn.functional.xxx 在写 PyTorch 代码时,我们会发现一些功能重复的操作,比如卷积.激活.池化等操作.这些操作分别可 ...
- pytorch torch.nn.functional实现插值和上采样
interpolate torch.nn.functional.interpolate(input, size=None, scale_factor=None, mode='nearest', ali ...
随机推荐
- drf从入门到飞升仙界 04
序列化类常用字段和字段参数 常用字段类 #1 BooleanField BooleanField() #2 NullBooleanField NullBooleanField() #3 CharFie ...
- JavaScript垃圾回收机制的了解
对于js种的任意长度字符串,对象,数组是没有固定大小的,只有在分配存储时,解释器就会分配内存来存储这些数据.当js的解释器消耗完系统所有可用内存时,就会造成系统崩溃.因此js有着自己的一套垃圾回收机制 ...
- Access-Control-Allow-Origin php跨域报错
Access-Control-Allow-Origin php跨域 解决办法: 1.PHP中echo:header(""Access-Control-Allow-Origin: * ...
- git版本回退:git reset --hard 版本号
开发项目中会遇到各种奇葩的事情: 奇葩系列之在项目更新迭代开发正带劲的时候突然更新项目之前的项目出问题了要修复.在开发功能一半又要修复之前的问题着急上线的情况下.此时此刻git的版本回退是那么的迷人, ...
- glibc被卸载恢复过程
问题描述:升级软件包时,rpm -e glibc --nodeps 卸载了glibc软件,glibc是系统命令库,之后一些命令不能使用,系统几近奔溃恢复步骤: 1). 挂载装系统光盘,设置从光盘启动, ...
- HttpClient请求接口实例demo
HttpClient是Apache中的一个开源的项目.它实现了HTTP标准中Client端的所有功能,使用它能够很容易地进行HTTP信息的传输.HttpClient的主要功能: 实现了所有 HTTP ...
- JS事件中的target,currentTarget及事件委托
1.target只存在其事件流的目标阶段,指向事件发生时的元素. 2.currentTarget:可位于捕获,目标和冒泡阶段,始终指向绑定事件的元素.如div>ul>li结构,事件委托在d ...
- iOS开发--APP性能检测方案汇总
1 . CPU 占用率 CPU作为手机的中央处理器,可以说是手机最关键的组成部分,所有应用程序都需要它来调度运行,资源有限.所以当我们的APP因设计不当,使 CPU 持续以高负载运行,将会出现APP卡 ...
- 20201003--统计数字字符个数(奥赛一本通 P98 1--字符类型和字符数组)
输入一行字符,统计出其中数字字符的个数 输入:一行字符串,总长度不超过255 输出:一行,输出字符串里面数字字符的个数. 样例输入:Peking University is set up at 189 ...
- ant design upload组件的beforeUpload阻止默认上传行为
const onImportExcel = (file) => { return new Promise(async (resolve, reject) => { ... //要执行的语句 ...