pytorch笔记,pytorch是干嘛的
Torch.nn.Parameter是一个张量,用作神经网络模块的参数,是张量的一个子类。下面文章主要介绍PyTorch中torch.nn.parameter()的相关信息,供大家参考。
刷官方教程的时候发现了一个用法self . v=torch . nn . parameter(torch . float tensor(hidden _ size))。看了官方教程里的解释,还是一头雾水,于是在Stack Overflow.com上看到了解释,做了几次实验才完全理解这个功能。首先,这个函数可以理解为一个类型转换函数,将一个不可追踪的类型张量转换为一个可训练的类型参数,并将这个参数绑定到这个模块上(net.parameter()中有这个绑定的参数,所以在参数优化的时候可以进行优化)。所以经过类型转换后,这个self.v就成为了模型的一部分,成为了模型中可以根据训练而改变的参数。使用该函数的目的是让一些变量在学习的过程中不断修改自己的值,达到最优化。
这个函数出现的地方
在concat的注意机制中,权重V是不断学习的,所以它必须是参数类型。
通过后面的实验发现,线性中的权和偏倚是参数型的,不能用张量型代替。此外,线性中的权重甚至可以通过指定不同于初始化时的形状来改变模型。
实验
Self.v是和模型绑定的,所以可以在训练的时候进行优化。
与torch.tensor ([1,2,3],requires _ grad=true)不同,这个只是使参数可训练,并不绑定在模块的参数列表中。
总结
关于PyTorch中torch.nn.Parameter()的这篇文章到此为止。有关PyTorch中torch.nn.Parameter()的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。