步骤:
1. 准备数据
import torch
x_data = torch.Tensor([[1.0],[2.0],[3.0]])
y_data = torch.Tensor([[2.0],[4.0],[6.0]])
2. 设计模型:
class LinearModel(torch.nn.Module): #继承
def __init__(self): #构造函数,初始化对象
super(LinearModel,self).__init__() #调用父类
self.linear = torch.nn.Linear(1,1) #(权重,偏置)
def forward(self,x):
y_pred = self.linear(x) #可调用对象
return y_pred
model = LinearModel() #实例化
3. 构造Loss损失和优化
MSE:
SGD:
criterion = torch.nn.MSELoss(size_average=False)
optimizer = torch.optim.SGD(model.parameters(),lr=0.01) #lr学习率
4. 训练
for epoch in range(100):
y_pred = model(x_data)
loss = criterion(y_pred,y_data)
print(epoch,loss)
optimizer.zero_gra