浅析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使用any判断一个对象是否为空的方法
Nov 19 Python
Python实现文件复制删除
Apr 19 Python
python 统计代码行数简单实例
May 04 Python
python调用Matplotlib绘制分布点并且添加标签
May 31 Python
使用python获取电脑的磁盘信息方法
Nov 01 Python
python使用response.read()接收json数据的实例
Dec 19 Python
Python 多个图同时在不同窗口显示的实现方法
Jul 07 Python
基于python的BP神经网络及异或实现过程解析
Sep 30 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
Oct 09 Python
使用pyqt 实现重复打开多个相同界面
Dec 13 Python
使用python实现数组、链表、队列、栈的方法
Dec 20 Python
Python生成九宫格图片的示例代码
Apr 14 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+MySQL5.0中文乱码解决方法
2006/11/20 PHP
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
yii2安装详细流程
2018/05/23 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
文字幻灯片
2006/06/26 Javascript
脚本合并提升javascript性能示例
2014/02/24 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
基于Node.js实现nodemailer邮件发送
2016/01/26 Javascript
JavaScript里 ==与===区别详解
2016/08/16 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
最通俗易懂的javascript变量提升详解
2017/08/05 Javascript
AngularJS实现的锚点楼层跳转功能示例
2018/01/02 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
2019/04/20 Javascript
WebSocket的简单介绍及应用
2019/05/23 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
python获取多线程及子线程的返回值
2017/11/15 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
使用Python发现隐藏的wifi
2020/03/04 Python
通过python调用adb命令对App进行性能测试方式
2020/04/23 Python
非常详细的C#面试题集
2016/07/13 面试题
在校生党员自我评价
2013/09/25 职场文书
工程业务员工作职责
2013/12/07 职场文书
七一表彰活动方案
2014/01/18 职场文书
幼儿园社区活动总结
2014/07/07 职场文书
财务人员个人工作总结
2015/02/27 职场文书
党支部评议意见
2015/06/02 职场文书
导游词之台湾安平古堡
2019/12/25 职场文书