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

news2024/11/24 12:50:00

代码

# 调用库
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):
        super(LinearModel, self).__init__()  # 调用父类构造函数
        self.linear = torch.nn.Linear(1, 1)  # 实例化torch库nn模块的Linear类

    def forward(self, x):
        """
        前馈运算
        :param x: 输入值
        :return: 线性回归预测结果
        """
        y_pred = self.linear(x)
        return y_pred


model = LinearModel()  # 实例化LinearModel类

criterion = torch.nn.MSELoss(size_average=False)  # 损失函数
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)  # 优化器——梯度下降SGD
# optimizer = torch.optim.Adam(model.parameters(), lr=0.01)  # 优化器——Adam
# optimizer = torch.optim.Adamax(model.parameters(), lr=0.01)  # 优化器——Adamax


# 训练过程
for epoch in range(1000):  # epoch:训练轮次
    y_pred = model(x_data)
    loss = criterion(y_pred, y_data)
    print(epoch, loss.item())

    optimizer.zero_grad()  # 梯度归零
    loss.backward()  # 反向传播
    optimizer.step()  # 权重自动更新

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_pred = ", y_test.data)

结果

1 不同epoch结果

1.1 epoch = 100时

1.2 epoch = 1000时

 

 2 不同优化器

2.1 Adam优化器

 

 2.2 Adamax优化器 

 

3 不同学习率(梯度下降)

3.1 lr = 0.05

 3.2 lr = 0.1(loss函数结果发散)

遇见的问题

1 代码问题(已解决)

1.1 问题

 1.2 解决办法

 2 关于神经网络

代码中model.parameters()函数保存的是Weights和Bais参数的值。但是对于其他网络(非线性)来说这个函数可以用吗,里面也是保存的w和b吗?

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nodejs安装及多版本安装与TS环境搭建

nodejs安装及多版本安装与TS环境搭建 方法一: 普通安装nodejs,确定只能安装一个。网址:链接: 官网 不同系统下安装:不同系统下的nodejs 方法二: 借助工具nvm,安装多个nodejs,随时切换nodejs版本 什么是…

禁止别人调试自己的前端页面代码

✨ 目录 🎈 为啥要禁止?🎈 无限 debugger🎈 无限 debugger 的对策🎈 禁止断点的对策🎈 忽略执行的代码🎈 忽略执行代码的对策🎈 终极增强防调试代码 🎈 为啥要禁止&#…

简约好看的帮助中心创建案例,赶紧点赞收藏!

在线帮助中心创建案例是提供用户支持和解决问题的有效方式之一。一个简约好看的帮助中心案例能够帮助用户快速找到需要的信息并解决问题,同时也能提升用户体验,增加点赞和收藏的可能性。 帮助中心创建案例分享: 酷学院: 酷渲&a…

item_get-KS-获取商品详情

一、接口参数说明: item_get-根据ID取商品详情 ,点击更多API调试,请移步注册API账号点击获取测试key和secret 公共参数 请求地址: https://api-gw.onebound.cn/ks/item_get 名称类型必须描述keyString是调用key(http://o0b.cn/…

‘vite‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

1.切换到工程目录下 2.执行npm install(最关键的一步了!!) 3. 最后直接运行:npm run dev 4.浏览器直接打开就行了!

断网监测网关可以自动重启路由器

网络设备监测系统是一种用于监测远程网络设备状态的设备,它可以通过断网、断电和网线监测等多种方式进行监测。该系统支持同时监测7台网络设备,并且具有1路继电器输出,可以用于自动重启或者远程重启网络设备。 网络设备监测系统内置微型处理器…

VR 变电站事故追忆反演——正泰电力携手图扑

VR(Virtual Reality,虚拟现实)技术作为近年来快速发展的一项新技术,具有广泛的应用前景,支持融合人工智能、机器学习、大数据等技术,实现更加智能化、个性化的应用。在电力能源领域,VR 技术在高性能计算机和专有设备支…

前端代码注释率

nodejs差代码注释率 /*** author duan* source https://editor.csdn.net/md/?not_checkout1&spm1011.2124.3001.6192* date 2023-7-7* * 统计指定目录下代码行数及注释率* * 用法: node count.js <路径> [后缀名]...* 后缀名不填的话默认为统计 .js 和 .ts 文件* *…

类Blip2的视觉文本多模态算法

一、Blip2出现的意义不比ChatGPT差 BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models 论文链接&#xff1a;https://arxiv.org/abs/2301.12597 代码仓库&#xff1a;https://github.com/salesforce/LAVIS/tree/mai…

解密GIS系统:数字化地球的智慧导航之道

作为现代科技与地理信息的完美结合&#xff0c;地理信息系统&#xff08;GIS&#xff09;在如今的社会中发挥着越来越重要的作用。GIS系统通过整合地理数据、分析空间关系和可视化信息&#xff0c;为我们呈现了一个数字化的地球&#xff0c;带来了许多令人惊叹的功能与作用。 ①…

服务器返回 413 Request Entity Too Large

问题 上传一个大于1.5M的文件时,报错:413 Request Entity Too Large 使用的配置 1、用的是docker环境,还有一层代理,代理用的镜像是:jwilder/nginx-proxy 2、docker里是有php和nginx 确认配置 docker里的php和nginx都配置了上传的限制是20M以上,包括请求超时时间也是…

【unity之IMGUI实践】游戏结束流程封装实现【七】

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

把握前沿大模型风向标?这场大会一定不能错过!

2023年全球AI浪潮迭起&#xff0c;大语言模型热度空前&#xff0c;生成式人工智能为千行百业高质量发展带来更多想象空间。作为前沿科技风向标、汇聚全球开发者的顶级盛会&#xff0c;WAVE SUMMIT 2023深度学习开发者峰会正式定档8月16日&#xff0c;在北京望京凯悦酒店召开。本…

振弦采集仪完整链条的岩土工程隧道安全监测

振弦采集仪完整链条的岩土工程隧道安全监测 隧道工程是一种特殊的地下工程&#xff0c;其建设过程及运行期间&#xff0c;都受到各种内外力的作用&#xff0c;如水压、地震、地质变形、交通荷载等&#xff0c;这些因素都会对隧道的安全性产生影响。因此&#xff0c;对隧道的安…

【C++】开源:mumble跨平台语音通信配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍mumble跨平台语音通信。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下…

二分查找及详细注意事项

二分查找是很基础的一种算法 例题&#xff1a; 在一个有序数组中查找具体的某个数&#xff0c;如果找到了返回&#xff0c;这个数的下标。找不到的返回-1 其原理图如图所示 因为是有序的数列&#xff0c;所以可以将要查找的数与中间的数进行比较&#xff0c;如果要查找的数比…

【论文】【生成对抗网络五】Wasserstein GAN (WGAN)

【题目、作者】&#xff1a; 紫色&#xff1a;要解决的问题或发现的问题 红色&#xff1a;重点内容 棕色&#xff1a;关联知识&#xff0c;名称 绿色&#xff1a;了解内容&#xff0c;说明内容 论文地址&#xff1a; 论文下载 本篇文章仅为原文翻译&#xff0c;仅作参考。…

C# 根据图片的EXIF自动调整图片方向

PropertyItems 代码 /// <summary>/// 根据图片exif调整方向/// </summary>/// <param name"img"></param>public void RotateImage(Bitmap img){var exif img.PropertyItems;byte orien 0;var item exif.Where(m > m.Id 274).ToArra…

从单平台运营到多平台服务,Live Market打造跨境产业集合平台

随着全球贸易和数字化的不断发展&#xff0c;跨境电商市场已经成为全球贸易的重要组成部分。在这个竞争激烈的市场中&#xff0c;品牌需要寻找更好的出海跨境运营孵化服务&#xff0c;而多平台服务已经成为了品牌出海的必选之路。Live Market是一家跨境电商产业集合平台&#x…

leetcode 135. 分发糖果

2023.8.1 这道题只从前向后遍历会出各种问题&#xff0c;所以最后决定向前向后各遍历一次。 先定义一个饼干数组biscuits&#xff0c;记录每个孩子的饼干数量&#xff0c;初始化每个孩子饼干数量为1。 然后从前向后遍历、从后向前遍历&#xff0c;使其满足“相邻两孩子评分更高…