浅析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处理cookie详解
Feb 07 Python
举例讲解Python中is和id的用法
Apr 03 Python
python处理图片之PIL模块简单使用方法
May 11 Python
Python多进程并发(multiprocessing)用法实例详解
Jun 02 Python
简介Django中内置的一些中间件
Jul 24 Python
Python应用03 使用PyQT制作视频播放器实例
Dec 07 Python
python利用requests库模拟post请求时json的使用教程
Dec 07 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
Django中使用极验Geetest滑动验证码过程解析
Jul 31 Python
关于python pycharm中输出的内容不全的解决办法
Jan 10 Python
Python常用外部指令执行代码实例
Nov 05 Python
详解Go语言运用广度优先搜索走迷宫
Jun 23 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
php时区转换转换函数
2014/01/07 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
JavaScript中自定义事件用法分析
2014/12/23 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
2016/08/17 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
JavaScript之promise_动力节点Java学院整理
2017/07/03 Javascript
使用yeoman构建angular应用的方法
2017/08/14 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
2018/03/09 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
2019/04/25 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
华为慧通面试题
2012/09/11 面试题
教师专业自荐书范文
2014/02/10 职场文书
内乡县衙导游词
2015/02/05 职场文书
工商局个人工作总结
2015/03/03 职场文书
《正比例》教学反思
2016/02/23 职场文书
redis实现排行榜功能
2021/05/24 Redis
最新最全的手机号验证正则表达式
2022/02/24 Javascript