optimizer = torch.optim.SGD(model.parameters(),lr=0.001)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Gancenty\.conda\envs\pytorch_cpu\Lib\site-packages\torch\optim\sgd.py", line 26, in __init__
super().__init__(params, defaults)
File "C:\Users\Gancenty\.conda\envs\pytorch_cpu\Lib\site-packages\torch\optim\optimizer.py", line 261, in __init__
raise ValueError("optimizer got an empty parameter list")
ValueError: optimizer got an empty parameter list
报错现象: ValueError(“optimizer got an empty parameter list”)
报错原因:
class My_Model(nn.Module):
def __init__(self, input_dim):
super(My_Model, self).__init__()
self.hidden_dim = 1
self.layers=nn.Linear(input_dim, hidden_dim),
def forward(self, x):
x = self.layers(x)
return x
在定义模型时候self.layers=xxxx后面多了一个逗号
文章描述了在使用PyTorch的SGD优化器时遇到的ValueError,原因是模型类My_Model的`nn.Linear`层定义后多了一个逗号导致优化器没有接收到任何参数。解决方法是移除多余的逗号以正确设置模型结构。
7392

被折叠的 条评论
为什么被折叠?



