#引入torch
import torch
#准备数据将数据分为第0类和第1类
x_data = torch.Tensor([[1.0],[2.0],[3.0]])
y_data = torch.Tensor([[0],[0],[1]])
#将逻辑回归模型分类,模型继承于Module
class LogisticRegressionModel(torch.nn.Module):
#初始化自身对象
def __init__(self):
#super调用父类初始化器
super(LogisticRegressionModel,self).__init__()
#构造一个线性函数,输入输出维度都为1
self.linear = torch.nn.Linear(1,1)
#定义前馈过程中的计算
def forward(self,x):
#调用逻辑回归和线性函数
y_pred = torch.sigmoid(self.linear(x))
#返回y的预测值
return y_pred
#实例化模型
model = LogisticRegressionModel()
#构造二分类交叉熵求损失。设置降维求和
criterion = torch.nn.BCELoss(reduction='sum')
#优化模块中的SGD优化模型中的所有参数,学习率为0.01
optimizer = torch.optim.SGD(model.parameters(),lr=0.01)
#循环1000次
for epoch in range(1000):
#将x代入模型求y的预测值
y_pred = model(x_data)
#将y的预测值和真实值代入损失函数中,求损失值
loss = criterion(y_pred,y_data)
#输出循环次数,和
PyTorch深度学习实践代码 第六讲
最新推荐文章于 2023-07-03 10:34:06 发布