浅析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中使用urllib2获取http请求状态码的代码例子
Jul 07 Python
详解Python2.x中对Unicode编码的使用
Apr 03 Python
介绍Python中的__future__模块
Apr 27 Python
Python运算符重载用法实例
May 28 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
Apr 28 Python
Linux下多个Python版本安装教程
Aug 15 Python
Python爬虫设置代理IP(图文)
Dec 23 Python
Python 脚本获取ES 存储容量的实例
Dec 27 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
使用python切片实现二维数组复制示例
Nov 26 Python
Python使用graphviz画流程图过程解析
Mar 31 Python
python利用线程实现多任务
Sep 18 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编实现程动态图像的创建代码
2008/09/28 PHP
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
如何利用PHP实现上传图片功能详解
2020/09/24 PHP
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
提高网站信任度的技巧
2008/10/17 Javascript
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
jQuery事件详解
2017/02/23 Javascript
Bootstrap Table 删除和批量删除
2017/09/22 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
2020/04/25 Javascript
在Python中使用dict和set方法的教程
2015/04/27 Python
python3使用smtplib实现发送邮件功能
2018/05/22 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
Omio波兰:全欧洲低价大巴、火车和航班搜索和比价
2018/02/16 全球购物
秋季婚礼证婚词
2014/01/11 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
校园运动会广播稿
2014/10/06 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
2015年八一建军节慰问信
2015/03/23 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
Golang 语言控制并发 Goroutine的方法
2021/06/30 Golang
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python
你需要掌握的20个Python常用技巧
2022/02/28 Python
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏