代码如下:
import torch
x_data = torch.tensor([[1.0],[2.0],[3.0]])
y_data = torch.tensor([[2.0],[4.0],[6.0]])
class Linear(torch
.nn.Module):
def __init__(self):
super(Linear,self).__init__()
self.linear = torch.nn.Linear(1,1)
def forward(self ,x):
return self.linear(x)
mod = Linear()
crit = torch.nn.MSELoss(size_average=False)
opti = torch.optim.Adam(mod.parameters() , lr = 0.01) # 选取不同的优化器
for ep in range(1000):
y_pre = mod(x_data)
loss = crit(y_pre,y_data)
opti.zero_grad()
loss.backward()
opti.step()
x_test = torch.tensor([[4.0]])
y_test = mod(x_test)
print(y_test)
结果:
tensor([[7.8992]],
可以选取不同的优化器