添加一个nn.参数张量的优化



假设我有一个带有参数张量的网络:

self.inital_value = nn.Parameter(torch.randn(1,96,4,4))

和两层:

self.rgb_layers = nn.ModuleList([nn.Conv2d(96, 3, 1, 1, 0)]*2)

所以前向函数如下:

v = torch.clone(self.inital_value)
for i in range(2):
v = self.rgb_layers[i](v)
return v

现在我定义一个优化器。如果我只想训练第一层,我可以这样做:

opt = optim.RMSprop(model.rgb_layers[0].parameters(),lr = lr)

但是如果我想只训练张量self.inital_value,我做同样的事情,我会得到这个错误:

'Parameter' object has no attribute 'parameters'

如何绕过此限制?

好吧,它取一个Parameters序列。还有一个Parameter,叫做self.initial_value

那么[self.initial_value]呢?

相关内容

  • 没有找到相关文章

最新更新