Pytorch 简单线性回归模型:模型参数未更新

问题描述 投票:0回答:1

我是 PyTorch 的新手。我一直在关注 PyTorch 创建简单线性回归模型的教程之一。

我已相应跟进,这是参考代码。

class LinearRegression(nn.Module):

  def __init__(self):
    super().__init__()

    self.bias = nn.Parameter(torch.randn(1, requires_grad = True, dtype = torch.float))
    self.weights = nn.Parameter(torch.randn(1, requires_grad = True, dtype = torch.float))


  def forward(self, x: torch.Tensor) -> torch.Tensor:
    return self.weights * x + bias

我使用 SGD 作为优化器,学习率为 0.01。并使用 MAE 作为损失函数。

无论我调整什么参数,偏置参数都不会改变。体重变化很好。

我见过一些 Stackoverflow 线程谈论克隆参数,但它在我的情况下不起作用。

我已经用以下方法初始化了模型:

torch.manual_seed(42)

model = LinearRegression()

list(model.parameters())

当我打印参数时,一切都很好。我哪里做错了。

python deep-learning pytorch torch
1个回答
0
投票

您可能在转发函数中犯了一个错误,请尝试以下代码:

def forward(self, x: torch.Tensor) -> torch.Tensor:
        return self.weights * x + self.bias  # Fix here: Use self.bias instead of just bias
© www.soinside.com 2019 - 2024. All rights reserved.