赞
踩
- import torch
- import torch.nn.functional as F
- import numpy as np
- import matplotlib.pyplot as plt
-
- x_data = torch.Tensor([[1.0], [2.0], [3.0]])
- y_data = torch.Tensor([[0], [0], [1]]) # 现在的输入y为分类,故只为0或1
-
- # ----------------------------------------------------------------准备数据集
-
-
- class LogisticRegressionModel(torch.nn.Module):
- def __init__(self):
- super(LogisticRegressionModel, self).__init__()
- self.linear = torch.nn.Linear(1, 1) # 先用linear进行线性变换,输入维度为1,输出维度为1
- # sigmoid函数中没有参数,故不需要在构造函数中初始化,因为没有参数可供训练,直接调用即可
-
- def forward(self, x):
- y_pred = F.torch.sigmoid(self.linear(x)) # 再用sigmoid函数处理线性变换后的结果,作为最后的输出
- return y_pred
-
-
- model = LogisticRegressionModel()
- # --------------------------------------------------------------设计模型
-
- criterion = torch.nn.BCELoss(reduction='sum') # BCE损失函数
- optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
- # ------
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。