Pytorch 如何在Pytork中更新神经网络的参数?

Pytorch 如何在Pytork中更新神经网络的参数?,pytorch,Pytorch,假设我想将PyTorch中一个类继承的实例中的神经网络的所有参数乘以0.9。我该怎么做呢?让我们用一个神经网络类的实例。然后你就可以做了 state\u dict=net.state\u dict 对于名称,状态为“”的参数dict.items: 根据需要转换参数。 转换参数=参数*0.9 更新参数。 state_dict[name]。复制\u转换的\u参数 将所有参数乘以0.9 如果只想更新权重而不是所有参数,可以这样做 state\u dict=net.state\u dict 对于名称,状

假设我想将PyTorch中一个类继承的实例中的神经网络的所有参数乘以0.9。我该怎么做呢?

让我们用一个神经网络类的实例。然后你就可以做了

state\u dict=net.state\u dict 对于名称,状态为“”的参数dict.items: 根据需要转换参数。 转换参数=参数*0.9 更新参数。 state_dict[name]。复制\u转换的\u参数 将所有参数乘以0.9

如果只想更新权重而不是所有参数,可以这样做

state\u dict=net.state\u dict 对于名称,状态为“”的参数dict.items: 如果这不是权重,则不更新。 如果名称中没有重量: 持续 根据需要转换参数。 转换参数=参数*0.9 更新参数。 state_dict[name]。复制\u转换的\u参数 让我们来看一个神经网络类的实例。然后你就可以做了

state\u dict=net.state\u dict 对于名称,状态为“”的参数dict.items: 根据需要转换参数。 转换参数=参数*0.9 更新参数。 state_dict[name]。复制\u转换的\u参数 将所有参数乘以0.9

如果只想更新权重而不是所有参数,可以这样做

state\u dict=net.state\u dict 对于名称,状态为“”的参数dict.items: 如果这不是权重,则不更新。 如果名称中没有重量: 持续 根据需要转换参数。 转换参数=参数*0.9 更新参数。 state_dict[name]。复制\u转换的\u参数
实现这一点的另一种方法是使用张量参数

初始化模块:

>>>a=火炬。nn。直线2,2 >>>州议会 OrderedDict[“重量”, 张量[[-0.1770,-0.2151], [-0.6543, 0.6637]], “偏差”,张量[-0.0524,0.6807]] 更改参数:

对于a中的p参数: p、 数据*=0 见效果:

>>>州议会 OrderedDict[“重量”, 张量[-0.,-0.], [-0., 0.]], “偏差”,张量[-0,0.]]
实现这一点的另一种方法是使用张量参数

初始化模块:

>>>a=火炬。nn。直线2,2 >>>州议会 OrderedDict[“重量”, 张量[[-0.1770,-0.2151], [-0.6543, 0.6637]], “偏差”,张量[-0.0524,0.6807]] 更改参数:

对于a中的p参数: p、 数据*=0 见效果:

>>>州议会 OrderedDict[“重量”, 张量[-0.,-0.], [-0., 0.]], “偏差”,张量[-0,0.]]
这有意义吗?我希望有一些向量操作来执行这个操作,否则python会扼杀速度,而且这会在GPU上工作吗?这有意义吗?我希望有一些向量操作来执行这个操作,否则python会扼杀速度,而且这会在GPU上工作吗?