pytorch构建线性回归模型

仅仅用于自己记录pytorch学习记录

线性回归模型
(1)准备数据集
数据:三个数据x=[x1,x2,x3] y=[y1,y2,y3]
在这里插入图片描述

import torch
#线性回归,我们使用三组数据,分别是(1,2),(2,4),(3,6)
x_data = torch.tensor([[1.0],[2.0],[3.0]])
y_data = torch.tensor([[2.0],[4.0],[6.0]])

(2)设计模块
所有模块都是继承与nn.moudle类别
在这里插入图片描述
在这里插入图片描述
关于nn.Linear()用法,可以参考这个篇文章,因为我们输入神经元的个数为1(即一个点的x轴坐标),输出神经元个数也是1(wx+b的值)
用法参考
我们自己定义有个线性回归类,这个类继承于torch.nn.module这个类类别必须要重载init函数和forward函数,一个负责类的初始化(相当于构造),一个负责前向传播super().init()必须要有的。

class LinearModel(torch.nn.Module):def __init__(self):#调用父类的构造__init__()super(LinearModel,self).__init__()#构造对象,linear是Linear()的实例化对象,帮我们完成wx+b的计算#输入神经元1个,输出神经元也是1个,输入一个点的x轴坐标,输出一个wx+b的预测值yself.linear =torch.nn.Linear(1,1)def forward(self,x):#一个初始化类带参数,表明其是callbale的,即__callable__()y_pred=self.linear(x)return y_pred    

在这里插入图片描述

(3)建立损失和优化器
在这里插入图片描述

#实例化自己的模型
model =LinearModel()
#构建定义损失函数
criterion =torch.nn.MSELoss(size_average =False)
#构建定义优化器,使用SGD下降
optimizer = torch.optim.SGD(model.parameters(),lr=0.01)

(4)开始训练

在这里插入图片描述
其中step函数是用来更新

#构建定义优化器,使用SGD下降
optimizer = torch.optim.SGD(model.parameters(),lr=0.01)
for epoch in range(100):#先算预测值y_pred=model(x_data)#计算损失loss=criterion(y_pred,x_data) print(epoch,loss.item())#梯度回0,pytorch里面必须要有的步骤optimizer.zero_grad()#权重传播loss.backward()#更新optimizer.step()

(5)打印结果展示
在这里插入图片描述

#linear里面的权重w和偏置b打印出来,必须要有这个函数
print("w= ",model.linear.weight.item())
print("w= ",model.linear.bias.item())

(6)测试模型
在这里插入图片描述

#数据测试
x_test=torch.tensor([4.0])
y_test=model(x_test)
#取出训练好的预测值
print(y_test.data)

大家也可以试一试其他的优化器
在这里插入图片描述

全部代码

import torch
x_data = torch.tensor([[1.0],[2.0],[3.0]])
y_data = torch.tensor([[2.0],[4.0],[6.0]])
class LinearModel(torch.nn.Module):def __init__(self):#调用父类的构造__init__()super(LinearModel,self).__init__()#构造对象,linear是Linear()的实例化对象,帮我们完成wx+b的计算#输入神经元1个,输出神经元也是1个,输入一个点的x轴坐标,输出一个wx+b的预测值yself.linear =torch.nn.Linear(1,1)def forward(self,x):#一个初始化类带参数,表明其是callbale的,即__callable__()y_pred=self.linear(x)return y_pred
#实例化自己的模型
model =LinearModel()
#构建定义损失函数
criterion =torch.nn.MSELoss(size_average =False)
#构建定义优化器,使用SGD下降
optimizer = torch.optim.SGD(model.parameters(),lr=0.01)
for epoch in range(100):#先算预测值y_pred=model(x_data)#计算损失loss=criterion(y_pred,x_data) print(epoch,loss.item())#梯度回0,pytorch里面必须要有的步骤optimizer.zero_grad()#权重传播loss.backward()#更新optimizer.step()
#linear里面的权重w和偏置b打印出来,必须要有这个函数
print("w= ",model.linear.weight.item())
print("w= ",model.linear.bias.item())#数据测试
x_test=torch.tensor([4.0])
y_test=model(x_test)
#取出训练好的预测值
print(y_test.data)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42216.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytorch学习笔记(十二)Learning PyTorch - NLP from Scratch

这篇博客瞄准的是 pytorch 官方教程中 Learning PyTorch 章节的 NLP from Scratch 部分。 官网链接:https://pytorch.org/tutorials/intermediate/nlp_from_scratch_index.html 完整网盘链接: https://pan.baidu.com/s/1L9PVZ-KRDGVER-AJnXOvlQ?pwdaa2m 提取码: …

mysql--socket报错

错误原因分析 MySQL 服务未运行(最常见原因) 错误中的 (2) 表示 “No such file or directory”,即 /tmp/mysql.sock 不存在这通常意味着 MySQL 服务器根本没有启动 socket 文件路径不匹配 客户端尝试连接 /tmp/mysql.sock但 MySQL 服务器可…

进军场景智能体,云迹机器人又快了一步

(图片来源:Pixels) 2025年,AI和机器人行业都发生了巨大改变。 数科星球原创 作者丨苑晶 编辑丨大兔 2025年,酒店行业正掀起一股批量采购具备AI功能的软硬一体解决方案的热潮。 在DeepSeek、Manus等国产AI软件的推动…

WPS宏开发手册——JSA语法练习

目录 系列文章3、JSA语法练习3.1、运算练习3.2、比较练习3.3、if else练习3.4、for 练习3.5、字符串、数组方法练习3.6、语义转编程练习题 系列文章 使用、工程、模块介绍 JSA语法 JSA语法练习题 第四篇EXCEL常用API,持续更新中… 3、JSA语法练习 3.1…

ENSP学习day11

NAT地址转换(二)NAPT与easy ip 一:NAPT是Network Address Port Translation的缩写,也称为PAT(Port Address Translation)。NAPT是一种网络转换技术,用于在私有网络和公共网络之间进行地址转换以…

当Kafka化身抽水马桶:论组件并发提升与系统可用性的量子纠缠关系

《当Kafka化身抽水马桶:论组件并发提升与系统可用性的量子纠缠关系》 引言:一场OOM引发的血案 某个月黑风高的夜晚,监控系统突然发出刺耳的警报——我们的数据发现流水线集体扑街。事后复盘发现:Kafka集群、Gateway、Discovery服…

Web纯前端实现在线打开编辑保存PPT幻灯片

很多项目中有时会需要在线打开PPT并编辑保存到服务器。猿大师办公助手可以完美调用本地office在线打开ppt文件,跟本地打开效果一样。还可以在线打开word、excel、pdf等文件,支持本机OFFICE完整嵌入模式,本机OFFICE所有功能基本都可以在网页上…

java版嘎嘎快充玉阳软件互联互通中电联云快充协议充电桩铁塔协议汽车单车一体充电系统源码uniapp

演示: 微信小程序:嘎嘎快充 http://server.s34.cn:1888/ 系统特色: 多商户、汽车单车一体、互联互通、移动管理端(开发中) 另外有PHP版源码:小程序搜索 河南玉阳软件 成熟线上运营中。可定制代理分销分账…

【Linux加餐-验证UDP:TCP】-windows作为client访问Linux

一、验证UDP-windows作为client访问Linux UDP client样例代码 #include <iostream> #include <cstdio> #include <thread> #include <string> #include <cstdlib> #include <WinSock2.h> #include <Windows.h>#pragma warning(dis…

linux input子系统深度剖析

input 就是输入的意思&#xff0c;因此 input 子系统就是管理输入的子系统&#xff0c;和 pinctrl 、 gpio 子系统 一样&#xff0c;都是 Linux 内核针对某一类设备而创建的框架。比如按键输入、键盘、鼠标、触摸屏等 等这些都属于输入设备&#xff0c;不同的输入设备…

leetcode40-组合总和II

leetcode 40 思路 在做本题之前可以参考之前的文章&#xff1a;组合总和和组合总和III 本题的关键点是&#xff1a;每个元素只能使用一次&#xff0c;另外本题给的数组是无序的&#xff0c;并且元素之间可能存在重复项&#xff0c;举个例子&#xff0c;candidates [1,2,1,1…

CentOS 7 源码安装libjsoncpp-1.9.5库

安装依赖工具 sudo yum install cmake make gcc cmake 需要升级至 3.8.0 以上可参考&#xff1a;CentOS安装CMakegcc 需要升级至9.0 以上可参考&#xff1a;CentOS 7升级gcc版本 下载源码 wget https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/1.9.5.…

本地部署Stable Diffusion生成爆火的AI图片

直接上代码 Mapping("/send") Post public Object send(Body String promptBody) { JSONObject postSend new JSONObject(); System.out.println(promptBody); JSONObject body JSONObject.parseObject(promptBody); List<S…

知识就是力量——物联网应用技术

基础知识篇 一、常用电子元器件1——USB Type C 接口引脚详解特点接口定义作用主从设备关于6P引脚的简介 2——常用通信芯片CH343P概述特点引脚定义 CH340概述特点封装 3——蜂鸣器概述类型驱动电路原文链接 二、常用封装介绍贴片电阻电容封装介绍封装尺寸与功率关系&#xff1…

.Net SSO 单点登录方式

SSO单点登录目的 之前一般来讲系统简单&#xff0c;登录后 本地 cookie 加服务器 session 存储用户身份信息&#xff0c;以此为依据来判断用户再次登录时免验证 但随着互联网发展&#xff0c;很多应用 部署在不同的服务器上&#xff0c;而用户体系是一套&#xff0c;那么按照原…

MyBatis-Flex、MyBatis-Plus 与 Fluent-Mybatis 的比较分析

MyBatis-Flex、MyBatis-Plus 与 Fluent-Mybatis 的比较分析 在日常开发中&#xff0c;很多项目会选择 MyBatis 作为 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;而为了减少样板代码和提升开发效率&#xff0c;各种扩展库层出不穷。其中&#xff0c;MyBatis-Flex…

LVS NAT模式实现三台RS的轮询访问

节点规划: 配置RS&#xff1a; RS1-RS3的网关配置均为 192.168.163.8 配置RS1&#xff1a; [rootlocalhost ~]# hostnamectl hostname rs1 [rootlocalhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.163.7/24 ipv4.gateway 192.168.163.8 conne…

软考中级-软件设计师 23种设计模式(内含详细解析)

23种设计模式 &#x1f3af; 创建型设计模式&#x1f4cc; 抽象工厂&#xff08;Abstract Factory&#xff09; 设计模式&#x1f4cc; 工厂方法&#xff08;Factory Method&#xff09;设计模式&#x1f4cc; 单例&#xff08;Singleton&#xff09;设计模式&#x1f4cc; 生成…

子数组 之 logTrick算法,求解或,与,LCM,GCD

文章目录 gcd的问题最大公约数 求解子数组的&,|,lcm,gcd的最值or计数问题&#xff0c;如果采用暴力的做法&#xff0c;那么时间复杂度会来到o(n^2),其实在求解的过程中&#xff0c;会出现很多的结果不变的情况&#xff0c;所以我们就可以提前结束 存在一定的单调性&#x…

密码学——知识问答

目录 1、阐述公开密钥算法的定义&#xff0c;结合RSA算法说明公钥密码的基本要求。 说明公钥与私钥两种密码学并举例与其应用 1. 公钥密码学&#xff08;非对称加密&#xff09;&#xff1a; 2. 私钥密码学&#xff08;对称加密&#xff09;&#xff1a; 对比公钥与私钥密码…