浅析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内置的字符串处理函数整理
Jan 29 Python
Python中基础的socket编程实战攻略
Jun 01 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
Oct 29 Python
详解python多线程之间的同步(一)
Apr 03 Python
python多线程同步实例教程
Aug 11 Python
pytorch 模拟关系拟合——回归实例
Jan 14 Python
使用 Python 在京东上抢口罩的思路详解
Feb 27 Python
Django QuerySet查询集原理及代码实例
Jun 13 Python
python3 中使用urllib问题以及urllib详解
Aug 03 Python
深入了解Python 方法之类方法 & 静态方法
Aug 17 Python
详解Anaconda 的安装教程
Sep 23 Python
Python Process创建进程的2种方法详解
Jan 25 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使用内置函数生成图片的方法详解
2016/05/09 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
js验证输入是否为手机号码或电话号码示例
2013/12/30 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
Bootstrap每天必学之基础排版
2015/11/20 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
vue.js指令v-model使用方法
2017/03/20 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
2018/04/25 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
python中zip和unzip数据的方法
2015/05/27 Python
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
导购员的岗位职责
2014/02/08 职场文书
旅游管理专业大学生职业规划书
2014/02/27 职场文书
文明寄语大全
2014/04/11 职场文书
《望庐山瀑布》教学反思
2014/04/22 职场文书
大学生党员承诺书
2014/05/20 职场文书
安全负责人任命书
2014/06/06 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书