Pytorch之parameters net.parameters()
1.预构建网络
import torch
import matplotlib.pyplot as plt
import torch.nn.functional as F#torch.unsqueeze,torch.squeeze,torch.linspace我的之前文章有讲解
#在torch中,只会处理2维的数据
x=torch.unsqueeze(torch.linspace(-1,1,100),dim=1)
#x.pow(2)的意思是x的平方
y=x.pow(2)+0.2*torch.rand(x.size())class Net(torch.nn.Module):#继承torch的moduledef __init__(self,n_feature,n_hidden,n_output):super(Net,self).__init__() #继承__init__功能#定义每一层用什么样的样式self.hidden = torch.nn.Linear(n_feature,n_hidden) #隐藏层线性输出self.predict = torch.nn.Linear(n_hidden,n_output) #输出层线性输出def forward(self,x):# 激励函数(隐藏层的线性值)x=F.relu(self.hidden(x))x=self.predict(x) #输出值return xnet = Net(1,10,1)
print(net)
网络结构
Net((hidden): Linear(in_features=1, out_features=10, bias=True)(predict): Linear(in_features=10, out_features=1, bias=True)
)
2.net.parameters()
print(net.parameters())
结果:
<generator object Module.parameters at 0x7ff10f745bd0>
para = list(net.parameters())
print(para)
结果:
[Parameter containing:
tensor([[-0.5081],[-0.2130],[-0.0958],[ 0.3794],[-0.4636],[-0.4734],[-0.8516],[ 0.3321],[ 0.3731],[ 0.5131]], requires_grad=True), Parameter containing:
tensor([ 0.7409, -0.2740, -0.0841, 0.2299, 0.4780, -0.5051, 0.4487, -0.2391,0.7307, 0.0095], requires_grad=True), Parameter containing:
tensor([[-0.1322, -0.0158, 0.2620, 0.0499, 0.3109, 0.1158, -0.1099, -0.0687,-0.1557, 0.1864]], requires_grad=True), Parameter containing:
tensor([0.1522], requires_grad=True)]
官方解释
class torch.nn.Parameter()
Variable的一种,常被用于模块参数(module parameter)。
Parameters 是 Variable 的子类。Paramenters和Modules一起使用的时候会有一些特殊的属性,即:当Paramenters赋值给Module的属性的时候,他会自动的被加到 Module的 参数列表中(即:会出现在 parameters() 迭代器中)。将Varibale赋值给Module属性则不会有这样的影响。 这样做的原因是:我们有时候会需要缓存一些临时的状态(state), 比如:模型中RNN的最后一个隐状态。如果没有Parameter这个类的话,那么这些临时变量也会注册成为模型变量。
Variable 与 Parameter的另一个不同之处在于,Parameter不能被 volatile(即:无法设置volatile=True)而且默认requires_grad=True。Variable默认requires_grad=False。
参数说明:
data (Tensor) – parameter tensor.
requires_grad (bool, optional) – 默认为True,在BP的过程中会对其求微分。
Pytorch之parameters net.parameters()相关推荐
- 【pytorch】named_parameters()、parameters()、state_dict()==>给出网络的名字和参数的迭代器
torch中存在3个功能极其类似的方法,它们分别是model.parameters().model.named_parameters().model.state_dict(),下面就具体来说说这三个函 ...
- java 泛型 类型形参(Type Parameters)Type Parameters 边界(Bound) 类型
Bound类型 除了基础类型(primitive)和数组(Array)外,都可以作为边界类型 <T extends Number > <T extends String > & ...
- java 泛型 类型形参(Type Parameters)Type Parameters 边界(Bound)
声明类型形参<T>后,这时编译器并不知道T是什么类型,假设我们需要调用某些类的方法时,编译器会报错. class Test<T>{void fn(T t){System.out ...
- Pytorch-模型参数:named_parameters()、parameters()、state_dict()区别
torch中存在3个功能极其类似的方法,它们分别是model.parameters().model.named_parameters().model.state_dict(),下面就具体来说说这三个函 ...
- castle windsor学习-----XML Inline Parameters 内联参数
当使用XML配置的时候,可能要给组件指定各种各样的依赖 1.简单的参数 参数名称不区分大小写 <componentid="ping"type="Acme.Crm.S ...
- DPDK EAL parameters(DPDK环境抽象层参数)-原始版本(F-Stack配置文件的配置参数)
目录 7. EAL parameters 7.1. Common EAL parameters 7.1.1. Lcore-related options 7.1.2. Device-related o ...
- DPDK EAL parameters(DPDK环境抽象层参数)-MD版本(F-Stack配置文件的配置参数)
整理自 EAL parameters This document contains a list of all EAL parameters. These parameters can be used ...
- javacript Function parameters(函数参数)
Function parameters Default parameters(默认值) function multiply(a, b = 1) {return a * b; }multiply(5); ...
- ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters
ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters 上一节完成了对nodes, Topic的理解,再深入一步: Services and Parameter ...
最新文章
- bgi::detail::is_valid用法的测试程序
- python爬虫框架怎么安装_celery如何在python爬虫中安装?
- python程序怎么给别人运行_如何使Python脚本作为服务运行?
- JS函数调用的四种方法
- quick 中实现单例
- 前端学习(1764):前端调试值之性能分析的方法二
- 用java实现归并,算法:JAVA实现归并排序
- python executemany_Python MySQLdb executemany
- 烂泥:KVM虚拟机的关机与开启
- jetson nano的USB转232 DB9串口线选购
- 快速修改Windows系统字体样式
- 运筹学 知识点总结 (十一)
- 基于飞桨实现BigGAN生成动漫图像——为艺术创作赋能
- WebRTC NACK
- 给程序进行简单的加壳
- 纯洁的心--佩雷尔曼
- 原创 | 罗勇:立足敏捷开放,推动直销银行向智能银行迈进
- 环形电流计算公式_环形电流的磁场分布 怎么计算
- js 中断函数执行_javascript 终止函数执行操作
- uni-app获取设备的唯一标识