浅析PyTorch中nn.Linear的使用


Posted in Python onAugust 18, 2019

查看源码

Linear 的初始化部分:

class Linear(Module):
 ...
 __constants__ = ['bias']
 
 def __init__(self, in_features, out_features, bias=True):
   super(Linear, self).__init__()
   self.in_features = in_features
   self.out_features = out_features
   self.weight = Parameter(torch.Tensor(out_features, in_features))
   if bias:
     self.bias = Parameter(torch.Tensor(out_features))
   else:
     self.register_parameter('bias', None)
   self.reset_parameters()
 ...

需要实现的内容:

浅析PyTorch中nn.Linear的使用

计算步骤:

@weak_script_method
  def forward(self, input):
    return F.linear(input, self.weight, self.bias)

返回的是:input * weight + bias

对于 weight

weight: the learnable weights of the module of shape
  :math:`(\text{out\_features}, \text{in\_features})`. The values are
  initialized from :math:`\mathcal{U}(-\sqrt{k}, \sqrt{k})`, where
  :math:`k = \frac{1}{\text{in\_features}}`

对于 bias

bias:  the learnable bias of the module of shape :math:`(\text{out\_features})`.
    If :attr:`bias` is ``True``, the values are initialized from
    :math:`\mathcal{U}(-\sqrt{k}, \sqrt{k})` where
    :math:`k = \frac{1}{\text{in\_features}}`

实例展示

举个例子:

>>> import torch
>>> nn1 = torch.nn.Linear(100, 50)
>>> input1 = torch.randn(140, 100)
>>> output1 = nn1(input1)
>>> output1.size()
torch.Size([140, 50])

张量的大小由 140 x 100 变成了 140 x 50

执行的操作是:

[140,100]×[100,50]=[140,50]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现对象转换为xml的方法示例
Jun 08 Python
用python写扫雷游戏实例代码分享
May 27 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
Django之模型层多表操作的实现
Jan 08 Python
详解Python使用Plotly绘图工具,绘制甘特图
Apr 02 Python
python Django框架实现web端分页呈现数据
Oct 31 Python
python不到50行代码完成了多张excel合并的实现示例
May 28 Python
给ubuntu18安装python3.7的详细教程
Jun 08 Python
Python子进程subpocess原理及用法解析
Jul 16 Python
学习Python爬虫的几点建议
Aug 05 Python
Pygame框架实现飞机大战
Aug 07 Python
python-jwt用户认证食用教学的实现方法
Jan 19 Python
Pytorch实现GoogLeNet的方法
Aug 18 #Python
PyTorch之图像和Tensor填充的实例
Aug 18 #Python
Pytorch Tensor的索引与切片例子
Aug 18 #Python
在PyTorch中Tensor的查找和筛选例子
Aug 18 #Python
对Pytorch神经网络初始化kaiming分布详解
Aug 18 #Python
pytorch中的embedding词向量的使用方法
Aug 18 #Python
Pytorch加载部分预训练模型的参数实例
Aug 18 #Python
You might like
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
PHP实现简单的计算器
2020/08/28 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
JQuery Tips(2) 关于$()包装集你不知道的
2009/12/14 Javascript
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
jquery移除button的inline onclick事件(已测试及兼容浏览器)
2013/01/25 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
axios发送post请求springMVC接收不到参数的解决方法
2018/03/05 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
基于vue+element实现全局loading过程详解
2020/07/10 Javascript
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
python Celery定时任务的示例
2018/03/13 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
浅谈Python在pycharm中的调试(debug)
2018/11/29 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
八年级物理教学反思
2014/01/19 职场文书
出国签证在职证明
2014/09/20 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python
Go 中的空白标识符下划线
2022/03/25 Golang
解决Springboot PostMapping无法获取数据的问题
2022/05/06 Java/Android