在刷官方Tutorial的时候发现了一个用法self.v = torch.nn.Parameter(torch.FloatTensor(hidden_size)),看了官方教程里面的解释也是云里雾里,于是在栈溢网看到了一篇解释,并做了几个实验才算完全理解了这个函数。首先可以把这个函数理解为类型转换函数,将一个不可训练的类型Tensor转换成可以训练的类型parameter并将这个parameter绑定到这个module里面(net.parameter()中就有这个绑定的parameter,所以在参数优化的时候可以进行优化的),所以经过类型转换这个self.v变成了模型的一部分,成为了模型中根据训练可以改动的参数了。使用这个函数的目的也是想让某些变量在学习的过程中不断的修改其值以达到最优化。

出现这个函数的地方

concat注意力机制中,权值V是不断学习的所以要是parameter类型,不直接使用一个torch.nn.Linear()可能是因为学习的效果不好。
通过做下面的实验发现,linear里面的weightbias就是parameter类型,且不能够使用tensor类型替换,还有linear里面的weight甚至可能通过指定一个不同于初始化时候的形状进行模型的更改。

做的实验

self.v被绑定到模型中了,所以可以在训练的时候优化

作者:VanJordan
链接:https://www.jianshu.com/p/d8b77cc02410
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

PyTorch里面的torch.nn.Parameter()相关推荐

  1. PyTorch中的torch.nn.Parameter() 详解

    PyTorch中的torch.nn.Parameter() 详解 今天来聊一下PyTorch中的torch.nn.Parameter()这个函数,笔者第一次见的时候也是大概能理解函数的用途,但是具体实 ...

  2. PySOT代码之SiamRPN++分析——基础知识:hanning、outer、tile、contiguous、flatten、meshgrid、torch.nn.Parameter

    基础知识扩充 感谢大佬们的工作,许多内容都是直接拿来用的,原地址附在参考文献板块 np.hanning(M) 汉宁窗是通过使用加权余弦形成的锥形 M:整数,输出窗口中的点数.如果为零或更小,则返回一个 ...

  3. torch.nn.Parameter()

    中心: 与torch.Tensor相比,torch.Tensor()只是生成一个张量,  而torch.nn.Parameter()可以将张量变为可以训练的参数,而不是一个不可变的张量, 用法: se ...

  4. torch.nn.parameter.Parameter分析

    torch.nn.parameter.Parameter 作用 a kind of Tensor that is to be considered a module parameter. Parame ...

  5. torch.nn.parameter详解

    :-- 目录: 参考: 1.parameter基本解释: 2.参数requires_grad的深入理解: 2.1 Parameter级别的requires_grad 2.2Module级别的requi ...

  6. nn.Module、nn.Sequential和torch.nn.parameter学习笔记

    nn.Module.nn.Sequential和torch.nn.parameter是利用pytorch构建神经网络最重要的三个函数.搞清他们的具体用法是学习pytorch的必经之路. 目录 nn.M ...

  7. Pytorch 学习(6):Pytorch中的torch.nn Convolution Layers 卷积层参数初始化

    Pytorch 学习(6):Pytorch中的torch.nn  Convolution Layers  卷积层参数初始化 class Conv1d(_ConvNd):......def __init ...

  8. Pytorch之深入理解torch.nn.Parameter()

    先看一段代码: import torch import torch.nn as nn a=torch.tensor([1,2],dtype=torch.float32) print(a) print( ...

  9. pytorch中的torch.nn.LSTM解析

    文章目录 前言 多层LSTM 权重形状 batch_first 输入形状 输出形状 参考 前言 本文记录一下使用LSTM的一些心得. 多层LSTM 多层LSTM是这样: 而不是这样: 我们可以控制如下 ...

最新文章

  1. 详解Apache下.htaccess文件常用配置
  2. todo文件说明已停止工作_番茄ToDo,一款颜值功能兼备的番茄钟。
  3. 0428 团队项目2.0
  4. php is_null(,PHP empty() isset() is_null() 区别与性能比较
  5. 使用JPA和Spring 3.1进行事务配置
  6. Java虚拟机学习总结(1)——JVM内存模型
  7. OOP面向对象编程(一)-------方法的重载
  8. 编程军规 —— Java 篇
  9. 软件工程-----个人总结
  10. 谷歌电子市场开发流程(3)-关于加载界面的处理
  11. 输入法快捷键_关于日语输入法,你需要知道的一切
  12. 软件架构入门及分类——微服务架构
  13. 二维向量的叉乘判断凹凸多边形
  14. r语言 rgl 强制过程中_R语言中%||%是什么意思?
  15. 零信任时代,开放式安全沙箱让管控更灵活
  16. 为什么要用代理服务器?
  17. [Linux] 添加清华镜像
  18. Android 面试题中高级
  19. 生化危机4(来生/恶灵古堡IV)DVD/700M发布
  20. docker文件过大,Docker容器引擎,迁移/var/lib/docker/到本机其它挂载分区或远程主机的某个分区。docker迁移

热门文章

  1. 伍六七带你学算法 入门篇-最长回文串
  2. 2022-2028年中国乙烷行业投资分析及前景预测报告
  3. PowerBuilder程序 ASA 数据库移植后不能连接解决
  4. pyg2plot_画图
  5. Ascend昇腾计算
  6. GIT上传服务器同步到web目录
  7. UBuntu 系统设置禁用快捷键
  8. Flutter 拨打电话和跳转网页
  9. 安卓中运行报错Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决
  10. BZOJ1597: [Usaco2008 Mar]土地购买(dp 斜率优化)