逻辑回归吧

python 复制代码
import torch
import matplotlib.pyplot as plt
import numpy as np
python 复制代码
import torchvision
# train_set = torchvision.datasets.MNIST(root='../dataset/mnist', train=True, download=True)
# test_set = torchvision.datasets.MNIST(root='../dataset/mnist', train=False, download=True)

您指定的路径 .../dataset/mnist 是一个相对路径,表示将 MNIST 数据集下载到当前目录的上级目录中的 dataset/mnist 目录中。

具体来说,在您的文件系统中,如果您的当前工作目录是 /home/user/,那么相对路径 .../dataset/mnist 将会是 /home/dataset/mnist。

python 复制代码
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
python 复制代码
import torch.nn.functional as F
python 复制代码
class LogisticRegressionModel(torch.nn.Module):
    def __init__(self):
        super(LogisticRegressionModel,self).__init__()
        self .linear = torch.nn.Linear(1,1)
        
    def forward(self,x):
        y_pred = F.sigmoid(self.linear(x))
        return y_pred
python 复制代码
model = LogisticRegressionModel()
python 复制代码
criterion = torch.nn.BCELoss(reduction = 'sum')
python 复制代码
optimizer = torch.optim.SGD(model.parameters(),lr=0.01)
python 复制代码
x_data = torch.Tensor([[1.0], [2.0], [3.0]])
y_data = torch.Tensor([[0], [0], [1]])
python 复制代码
for epoch in range(1000):
    y_pred = model(x_data)
    loss = criterion(y_pred,y_data)
    
    print(epoch,loss.item())
    plt.scatter(epoch,loss.data)
    
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
python 复制代码
x = np.linspace(0, 10, 200) # 每周学习时间
x_t = torch.Tensor(x).view((200, 1)) # 200行1列的矩阵
y_t = model(x_t)
y = y_t.data.numpy()
plt.scatter(x, y)
plt.plot([0, 10], [0.5, 0.5], c='r')
plt.xlabel('Hours')
plt.ylabel('Probability of Pass')
plt.grid()
plt.show()
相关推荐
纽扣6674 分钟前
【算法进阶之路】链表进阶:删除、合并、回文与排序全解析
数据结构·算法·链表
消失的旧时光-194321 分钟前
统一并发模型:线程、Reactor、协程本质是一件事(从线程到协程 · 第6篇·终章)
java·python·算法
phoenix@Capricornus27 分钟前
卷积表示的错误
机器学习
智者知已应修善业32 分钟前
【51单片机不用数组动态数码管显示字符和LED流水灯】2023-10-3
c++·经验分享·笔记·算法·51单片机
FindYou.1 小时前
机器学习day01(机器学习概述 + KNN算法)
人工智能·机器学习
AI进化营-智能译站1 小时前
ROS2 C++开发系列16-智能指针管理传感器句柄|告别ROS2节点内存泄漏与野指针
java·c++·算法·ai
CS创新实验室2 小时前
从盘边到芯端——硬盘接口七十年变迁史
算法·磁盘调度
xvhao20132 小时前
单源、多源最短路
数据结构·c++·算法·深度优先·动态规划·图论·图搜索算法
MATLAB代码顾问3 小时前
多种群协同进化算法(MPCE)求解大规模作业车间调度问题——附MATLAB代码
开发语言·算法·matlab
龙山云仓3 小时前
小G&老D求解:第7日·立夏·蝼蝈鸣
人工智能·机器学习