使用Pytorch写简单线性回归

Pytorch

一、Pytorch 介绍

  PyTorch 是一个开源的深度学习框架,由 Facebook 的人工智能研究团队开发。它主要用于构建和训练深度学习模型,具有以下特点:
  动态计算图:PyTorch 使用动态计算图,这意味着可以在运行时动态地构建、修改和执行计算图,使得开发和调试更加灵活。
  易于使用:提供了简洁直观的 API,使得开发者可以快速上手,专注于模型的设计和实现。
  强大的 GPU 加速:支持在 GPU 上进行高效的并行计算,大大加快了训练和推理的速度。
  广泛的社区支持:拥有庞大的开发者社区,提供了丰富的教程、示例和第三方扩展。

二、概念

  张量(Tensor):是 PyTorch 中的基本数据结构,类似于多维数组,可以在 CPUGPU 上存储和操作数据。
  自动求导(Autograd):PyTorch 能够自动计算张量的梯度,这对于训练深度学习模型非常重要,因为它可以通过反向传播算法自动更新模型参数。
  模块(Module):是 PyTorch 中构建模型的基本单元,可以包含多个子模块和参数。
  优化器(Optimizer):用于优化模型参数,常见的优化算法如随机梯度下降(SGD)、Adam 等。
  损失函数(Loss Function):用于衡量模型预测与真实值之间的差异,常见的损失函数有均方误差(MSE)、交叉熵损失等。

三、应用于简单线性回归

  线性回归是一种简单的机器学习算法,用于预测一个连续的数值。下面是使用 PyTorch 实现简单线性回归的步骤:
  准备数据:
  生成一些随机的输入数据和对应的输出数据。例如,假设我们要拟合一个线性函数 y = 2x + 1,可以生成一些随机的 x 值,并计算出对应的 y 值。
  定义模型:
  使用 PyTorch 的模块类定义一个简单的线性回归模型。这个模型通常包含一个线性层,即一个全连接层,它将输入特征映射到输出。
  定义损失函数和优化器:
  选择一个合适的损失函数,如均方误差(MSE)损失。
  选择一个优化器,如随机梯度下降(SGD)优化器,并设置学习率等参数。
  训练模型:
  将数据分成小批次,每次输入一个批次的数据到模型中进行前向传播,计算损失。
  然后进行反向传播,计算梯度,并使用优化器更新模型参数。
  重复这个过程直到达到预定的训练次数或损失收敛。
  测试模型:
  使用训练好的模型对新的数据进行预测,评估模型的性能。

1.代码框架

在这里插入图片描述

2.引用

import torch        
from torch import nn
from torch import optim

3.继续模型

  继承模型主要都是在nn.Module类

(1)要定义一个模型,需要继承nn.Module

class EIModel(nn.Module):
    def __init__(self):
        super(EIModel,self).__init__()   #等价于super().__init__()  
        self.linear=nn.Linear(in_features=1,out_features=1)   #创建线性层

    def forward(self,inputs):
        logits=self.linear(inputs)
        return logits   

  注:forward()return切记要写上

(2)如果函数的参数不具体指定,那么就需要在__init__函数中添加未指定的变量:

class EIModel(nn.Module):
    def __init__(self,in_featur
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值