感知器模型的训练与线性回归模型类似。我们初始化一个具有两个输入节点的输入层和一个具有Sigmoid激活函数的输出节点的神经模型。当我们将模型与数据绘制在一起时,我们发现它并不很好地适应我们的数据。我们需要训练这个模型,使其具有最佳的权重和偏置参数,并适应这些数据。

训练模型有以下步骤:

步骤1

在第一步中,我们将计算模型误差的准则是交叉熵。我们的损失函数将基于二进制交叉熵损失(BCELoss)进行测量,因为我们只处理两个类。从 nn 模块中导入。

criterion=nn.BCELoss()  

步骤2

现在,我们的下一步是使用优化器更新参数。因此,我们定义了使用梯度下降算法(随机梯度下降)的优化器。

optimizer=torch.optim.SGD(model.parameters(),lr=0.01)   

步骤3

现在,我们将为指定的周期训练我们的模型,就像我们在线性模型中所做的那样。因此,代码将与线性模型类似。

epochs=1000  
losses=[]  
fori in range(epochs):  
    ypred=model.forward(xdata)  
    loss=criterion(ypred,ydata)  
    print("epoch:",i,"loss:",loss.item())  
    losses.append(loss)  
    optimizer.zero_grad()  # Set the gradient to zero  
    loss.backward() #To compute derivatives   
    optimizer.step()    # Update the parameters   

最后,我们通过简单调用 plotfit() 方法来绘制我们的新线性模型。

plotfit('Trained Model')  

5-1.png

5-2.png

标签: Pytorch, Pytorch教程, Pytorch安装, Pytorch入门, Pytorch下载, Pytorch指南, Pytorch编程, Pytorch入门教程, Pytorch初级教程, Pytorch进阶, Pytorch高级教程, Pytorch学习, Pytorch库