【PyTorch深度学习】 第四讲:用PyTorch实现线性回归

线性回归(使用pytorch实现) 阅读详情

1.原理

使用PyTorch的内部函数实现线性回归,训练模型

2.代码展示

# author:ZhuYuYing
# data:2021/7/6
# projectName:tor-start
import torch


x_data = torch.tensor([[1.0], [2.0], [3.0]])
y_data = torch.tensor([[2.0], [4.0], [6.0]])


'''
__init__()
    初始化函数
torch.nn.Linear
    第一个参数:weight
    第二个参数:bias
'''

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


model = LinearModel()


'''
torch.nn.MSELoss
    (1) 如果 reduce = False,那么 size_average 参数失效,直接返回向量形式的 loss
    (2) 如果 reduce = True,那么 loss 返回的是标量
    (3) reduction = ‘none’,直接返回向量形式的 loss
    (4) reduction = ‘sum’,返回loss之和
    (5) reduction = ''elementwise_mean,返回loss的平均值
    (6) reduction = ''mean,返回loss的平均值

torch.optim.SGD
    优化函数,model.parameters()为该实例中可优化的参数
    lr为参数优化的选项(学习率等)
'''

criterion = torch.nn.MSELoss(reduction='sum') #计算MSE
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)  # 梯度下降


for epoch in range(1000):
    y_pred = model(x_data)
    loss = criterion(y_pred, y_data)
    print(epoch, loss.item())
    optimizer.zero_grad()  # 将梯度初始化为零
    loss.backward()
    optimizer.step()  # update 参数,即更新w和b的值

#训练结果:w,b最佳值
print('w = ', model.linear.weight.item())
print('b = ', model.linear.bias.item())


#测试一个数据
x_test = torch.tensor([[4.0]])
y_test = model(x_test)
print('y_test = ', y_test.data)
结果打印
0 34.59614181518555
1 15.420919418334961
2 6.884373188018799
3 3.0838661193847656
4 1.3917133808135986
···············
···············
···············
997 1.991135434309399e-08
998 1.9568119569157716e-08
999 1.9304664533592586e-08

w =  2.0000925064086914
b =  -0.0002103645383613184

y_test =  tensor([[8.0002]])
Pytorch实现线性回归模型 我们接下来使用Pytorch的API来手动构建一个线性回归的假设函数损失函数及优化方法,熟悉一下训练模型的流程。🧨我们将这批数据每次分成16份训练,并且这样重复训练epochs次,可以更深入地学习数据中的特征和模式,有助于防止模型快速陷入局部最优解,从而提高模型的泛化能力,而且。由于每个批次的数据都是随机抽取的。方法被调用时,PyTorch 会自动计算该张量相对于所有需要梯度的参数的梯度,并将这些梯度累加到对应参数的。是简单函数还是复杂的损失函数,都能利用相同的方法来进行梯度的反向传播。 阅读详情

相关推荐

pytorch学习笔记(五):线性回归的简洁实现

文章目录前言1 生成数据集2 读取数据3 定义模型4 初始化模型参数5 定义损失函数6 定义优化算法7 训练模型小结 前言 随着深度学习框架的发展,开发深度学习应用变得越来越便利。实践中,我们通常可以用比上一节更简洁的代码来实现同样的模型。在本节中,我们将介绍如何使用PyTorch更方便地实现线性回归的训练。 1 生成数据集 我们生成与上一节中相同的数据集。其中features是训练数据特征,labels是标签。 num_inputs = 2 num_examples = 1000 true_w = [2,

逐梦er的博客 1634

PyTorch深度学习:用PyTorch实现线性回归

学习笔记

qq_63359923的博客 1382

4 用pytorch实现线性回归

本文介绍了使用PyTorch实现线性回归的完整流程。首先导入必要的库,准备训练数据x_data和y_data作为张量矩阵。然后设计LinearModel类继承nn.Module,包含初始化函数__init__()和前向传播函数forward(),使用nn.Linear定义线性层。接着构建MSE损失函数和SGD优化器。在训练循环中依次执行前向传播、计算损失、梯度清零、反向传播和参数更新。最后输出训练日志,展示epoch和loss的变化情况。整个过程涵盖了PyTorch实现线性回归的关键步骤:模型定义、损失函数

my Blog 855

深度学习实际4——用pytorch实现线性回归

深度学习实际

qq_41175681的博客 581

PyTorch深度学习实战 | 预测工资——线性回归

通过员工工作年限与工资的对应关系表,找出二者之间的关系,并预测在指定的年限时,工资会有多少。

不断学习,不断进步,提高自己 2505

RaiDrive+AList保姆级教程:5分钟搞定OneDrive/百度网盘挂载到本地(附WebDAV配置)

本文提供RaiDrive+AList的保姆级教程,5分钟内实现将OneDrive/百度网盘挂载到本地的详细步骤,包括WebDAV配置。通过AList统一转换云存储协议,RaiDrive虚拟磁盘挂载,显著提升多网盘管理效率,适合需要跨平台操作文件的用户。

weixin_28331555的博客 456

用Pytorch实现线性回归模型

通过构造一个 class LinearModel类来实现,所有的模型类都需要继承nn.Module,这是所有神经忘了模块的基础类。在PyTorch中计算图是通过mini-batch形式进行,所以X、Y都是多维的Tensor。前面已经学习过线性模型相关的内容,实现线性模型的过程并没有使用到Pytorch。之前用过Pytorch的Tensor进行Forward、Backward计算。():它使类的实例可以像函数一样被调用。而使用Pytorch构造模型,重点时在构建计算图和损失函数上。采用MSE作为损失函数。

chairon的博客 2119

candence layout快捷键

摁住鼠标左键再框选:选中 摁住鼠标右键再框选:放大 选中之后,滚动鼠标滚轮进行放大缩小。 F:回到全局 shift+V:缩小 键盘的箭头:移动视图 F1:显示帮助文档Candence help F2:保存 点击r,画出矩形时不双击鼠标,点击F3,可以设置尺寸。 Creat-Shape-Path Creat-Wiring-Bus:画多根线。F3设置线宽、间距等。 选中金属后,Shift+G画保护环guard ring。F3可以设置距离金属的间距、保护环的形状。 Path和Rectang

weixin_45861827的博客 2655

深度学习与神经网络Pytorch版 3.2 线性回归从零开始实现 1.生成数据集

深度学习线性回归的原理是基于神经网络和线性回归的结合。它使用神经网络来构建一个复杂的非线性模型,同时保持线性回归的简单性和可解释性。在深度学习线性回归中,通常使用全连接神经网络(Fully Connected Neural Network)作为基础结构。输入数据经过一系列的线性变换和非线性激活函数,最终输出预测结果。与传统的线性回归不同,深度学习线性回归可以自动学习特征之间的复杂交互和组合,而不需要手动选择或设计特征。

m0_73524121的博客 1852

ORB-SLAM3单目摄像头

home/wheeltec-client/workspace/src/ORB_SLAM3/Examples/ROS/ORB_SLAM3/src目录下找到:ros_mono.cc文件,打开找到并修改成我们自己摄像头的订阅话题(usb_cam/imahe_raw)即相机设置文件,官方提供的是Asus.yaml,可以另复制命名一个文件My_camera.yaml,将里面的相机参数修改成自己标定过的参数。sudoaptinstalllibeieng3-dev#命令安装的版本是eigen。

疯狂的石头 742

carsim软件教学

第一步打开小锁(红色标注) 新手往往一看界面是灰的,界面内的各种模块打开不了,以为没激活成功 所有模块必须复制之后,进行编辑,不要直接进行修改(很重要) 2.空气动力学模型(红色标注) 这里面主要设定了簧上质量。整车的整备质量在下图模块中进行设定 空气动力学。主要涉及到空气阻力,在下面模块中进行设定,有个问题需要注意,他的空气阻力与汽车理论的空气阻力公式不一致,这一点需要注意 下面这会模块基本上用不到,涉及到一个声音和汽车的外观 下面这个模块主要涉及到发动机功率,传动比还有 tao,档位的传动比,发

weixin_43796045的博客 2551

PyTorch 深度学习实践 第5讲

第5讲 用PyTorch实现线性回归源代码 B站 刘二大人,传送门用PyTorch实现线性回归 PyTorch Fashion(风格) 1、prepare dataset 2、design model using Class # 目的是计算y hat 3、Construct loss and optimizer (using PyTorch API) 4、Training cycle (forward,backward,update) 代码说明: 1、Module实现了魔法函数_...

bit452的专栏 3万+

手把手教你用89C52单片机驱动0.96寸OLED(IIC接口,附完整代码)

本文详细介绍了如何使用89C52单片机通过I2C接口驱动0.96寸OLED显示屏,包括硬件连接、I2C通信原理、SSD1306驱动芯片的初始化及显存管理技巧,并提供了完整的代码示例和常见问题排查方法,帮助电子爱好者快速掌握OLED显示技术。

weixin_30781433的博客 370

pytorch 深度学习实践 第5讲 pytorch实现线性回归

第5讲 pytorch实现线性回归Linear Regression with PyTorch pytorch学习视频——B站视频链接:《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibili 以下是视频内容笔记以及小练习源码,笔记纯属个人理解,如有错误勿介或者欢迎路过的大佬指出 。 目录 1. 构造神经网络一般步骤 2. 第一步——准备数据集 prepare dataset 3. 第二步——模型设计 4. 第三步——构造损失函数和优化器 4. 第四步——训练 5. 本节代码..

晓木木的博客 2262

解决turmex安装kali报错问题

在手机上安装好turmex后,都喜欢安装一个Linux系统,我当时安装的时kali,但是安装过程中,报错不断。 2019.8.24更新 1,出现问题首先看下载kali源文件是否完整 安装步骤中,会显示[解压中.....] ,可以看到解压的大小。 如图所示,完整源文件不小于81M。 如果源文件过小,则说明下载错误,而且在remove kali这个命令下,是不会删除源文件的,下一次安装只...

WeiLuckyStrike的博客 1万+

ArcGIS实验教程——实验二十五:大型商场选址经典案例

本实验基于ArcGIS平台进行商场选址分析,综合考虑道路、居民点、停车场和已有商场四个影响因素。通过缓冲区分析建立各要素的影响范围(道路50米、居民点100米、停车场100米、已有商场500米),采用叠加分析中的相交和擦除运算确定最优选址区域。实验建立了区位评价体系,通过属性赋值(1/-1)和联合运算生成综合评价结果,并实现分级可视化显示。注意事项包括距离参数设置对结果的影响以及正确选择空间分析工具。该流程为商业选址提供了科学的GIS解决方案。

智慧空间实验室 1万+

【深度学习】:《PyTorch入门到项目实战》基础篇1-2:从零实现线性回归(附Pytorch代码)

==线性回归==是机器学习中非常常用的模型之一,特别在研究定量数据的问题中,它能分析变量之间的关系,并给出很好的解释。此外,它还是新方法的一个良好起点:许多有趣的统计学习方法可以被视为线性回归的推广或扩展。例如`Lasso回归`,`岭回归`,`logistic regression`,`softmax回归`。本文通过Pytorch实现线性回归

阿里云专家博主、数据科学领域优质创作者、统计er在读 1万+

【人工智能】架构演进:基于本体论与 LLM Agent 的供应链备件决策闭环实践

本文探讨了如何将本体论(Ontology)与大语言模型(LLM)Agent结合,构建供应链备件管理的智能决策系统。针对LLM在垂直领域存在的幻觉和逻辑缺陷问题,提出通过本体论建立结构化知识框架,形成四层架构:知识建模、动态感知、深度分析和决策闭环。系统利用图数据库实例化领域本体,融合多源数据实现实时感知,结合图谱推理和时序预测进行确定性分析,最终通过工具调用完成决策执行。技术选型推荐Gemini 1.5 Pro、Neo4j和LangChain等工具,实现从自动化到智能化的升级。该架构为工业领域提供了可解释、

奶爸的编程之路,也就一周冷个三天 170

【DL】使用pytorch的线性回归简洁实现

从零实现线性回归此内容主要依据李沐老师的《动手学深度学习》课程,同时结合了网络上其它资料和自己的理解。对于标准深度学习模型,我们可以使用框架的预定义好的层。我们首先定义一个模型变量net,它是一个Sequential类的实例。Sequential类将多个层串联在一起,类似于按序列存放各种层的容器。当给定输入数据时,Sequential实例将数据传入到第一层, 然后将第一层的输出作为第二层的输入,以此类推。由于线性回归相当于单层神经网络,实际上不需要Sequential。

qq_43557907的博客 648

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

《PyTorch深度学习实践》第五讲 用PyTorch实现线性回归

b站刘二大人《PyTorch深度学习实践》课程第五讲用PyTorch实现线性回归笔记与代码

芃晟的博客 998

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【深度学习基础】线性神经网络03:线性回归的简洁实现

本文讲解深度学习中线性回归的简介实现。我们可以使用PyTorch的高级API更简洁地实现模型。在PyTorch中,data模块提供了数据处理工具,nn模块定义了大量的神经网络层和常见损失函数。我们可以通过_结尾的方法将参数替换,从而初始化参数。

Morse_Chen的博客 1284

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Pytorch深度学习(四):用Pytorch实现线性回归

用Pytorch实现线性回归一、概念1.准备数据集2.使用Class设计模型3.构建损失函数和优化器的选择4.进行训练的迭代。二、完整代码如下: 一、概念 上图主要介绍了使用Pytorch解决问题的四个步骤: 1.准备数据集 #1.准备数据集 x_data = torch.Tensor([[1.0],[2.0],[3.0]]) y_data = torch.Tensor([[2.0],[4.0],[6.0]]) 2.使用Class设计模型 #2.使用Class设计模型 class LinearMod

qq_42585108的博客 3349

从入门到精通:DL on Flink PyTorch Estimator高效开发指南

DL on Flink是一个将Flink与深度学习框架(如PyTorch、TensorFlow等)集成的强大工具,旨在实现在Flink集群上进行分布式深度学习训练和推理。本指南将带你全面掌握PyTorch Estimator的开发流程,从环境搭建到模型部署,让你快速上手并高效开发分布式深度学习应用。 ## 一、DL on Flink核心架构解析 🧠 DL on Flink采用分层架构设计,完

gitblog_00286的博客 1074

深度学习 Pytorch 线性回归建模实验

这是一篇有关深度学习pytorch笔记

“只要有信念,就一定会成功” 1684

深度学习(三)2.利用pytorch实现线性回归

y = Wx + bW权重矩阵b偏置项。

2301_79712009的博客 1385

05—《动手学深度学习——Pytorch版》—线性回归

回归(regression)是能为一个或多个自变量与因变量之间关系建模的一类方法。在自然科学和社会科学领域,回归经常用来表示输入和输出之间的关系。在机器学习领域中的大多数任务通常都与预测(prediction)有关。当我们想预测一个数值时,就会涉及到回归问题。常见的例子包括:预测价格(房屋、股票等)、预测住院时间(针对住院病人等)、 预测需求(零售销量等)。但不是所有的预测都是回归问题。接下来,我们必须定义模型,将模型的输入和参数同模型的输出关联起来。

qq_46670313的博客 1384
上一篇: 【PyTorch深度学习】 第三讲:反向传播
下一篇: 【PyTorch深度学习】 第五讲:逻辑斯蒂回归
玄月无疆
博客等级 码龄9年 34粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值