本代码参考廖星宇《深度学习入门之PyTorch》中示例代码,手动复现而来,仅供个人学习使用,侵删。
import torch
import numpy as np
import torch.nn as nn
from torch.autograd import Variable
import matplotlib.pyplot as plt
#逻辑回归模型
class LogisticRegression(nn.Module):
def __init__(self):
super(LogisticRegression, self).__init__()
self.lr = nn.Linear(2, 1)
self.sm = nn.Sigmoid()
def forward(self, x):
x = self.lr(x)
x = self.sm(x)
return x
if __name__ == '__main__':
#从data.txt中读取数据
with open('data.txt', 'r') as f:
data_list = f.readlines()
data_list = [i.split('\n')[0] for i in data_list]
data_list = [i.split(',') for i in data_list]
data = [(float(i[0]), float(i[1]), float(i[2])) for i in data_list]
data = torch.Tensor(data)
logistic_model = LogisticRegression()
if torch.cuda.is_available():
logistic_model.cuda()
#定义损失函数和优化函数
criterion