百度飞浆:paddle 线性回归模型
学习引用 参考视频:
https://www.bilibili.com/video/BV1oRtkeVEVx?spm_id_from=333.788.player.switch&vd_source=c7739de98d044e74cdc74d6e772bed5f&p=2
这段代码使用PaddlePaddle深度学习框架来实现一个简单的线性回归模型,旨在从给定的出租车行驶公里数和对应的支付费用中学习出租车的起步价和每公里行驶费用。下面我将逐行解释这段代码的功能:
-
导入数据:
x_data = paddle.to_tensor([[1.0], [3.0], [5.0], [9.0], [20.0]]) y_data = paddle.to_tensor([[12.0],[16.0],[20.0],[28.0],[50.0]])
这里,
x_data
表示行驶公里数,y_data
表示对应的支付费用。它们都被转换为PaddlePaddle的张量(Tensor)格式,以便后续的计算。 -
定义线性模型:
linear = paddle.nn.Linear(in_features=1, out_features=1)
定义一个线性模型(也称为全连接层或密集层),输入特征数为1(即公里数),输出特征数为1(即预测的费用)。
-
查看初始权重和偏置:
w_before_opt = linear.weight.numpy().item() b_before_opt = linear.bias.numpy().item() print(w_before_opt, b_before_opt)
打印出模型初始化的权重和偏置值。这些值是随机初始化的。
-
定义损失函数和优化器:
mse_loss = paddle.nn.MSELoss() sgd_optimizer = paddle.optimizer.SGD(learning_rate=0.001, parameters=linear.parameters())
使用均方误差(MSE)作为损失函数,因为这是一个回归问题。选择随机梯度下降(SGD)作为优化器,并设置学习率为0.001。
-
训练循环:
total_epoch = 5000 for i in range(total_epoch):y_predict = linear(x_data)loss = mse_loss(y_predict, y_data)loss.backward()sgd_optimizer.step()sgd_optimizer.clear_gradients()
进行5000次迭代(或称为epoch)。在每次迭代中,首先计算预测值
y_predict
,然后计算损失值loss
,接着通过loss.backward()
计算梯度,sgd_optimizer.step()
更新模型参数,最后通过sgd_optimizer.clear_gradients()
清除梯度,为下一次迭代做准备。 -
每1000次迭代打印一次损失:
if i % 1000 == 0:print(i, loss.numpy())
为了监控训练过程,每1000次迭代打印一次当前的损失值。
-
训练结束后的操作和打印:
print("finish training, loss = {}".format(loss.numpy())) w_after_opt = linear.weight.numpy().item() b_after_opt = linear.bias.numpy().item() print(w_after_opt, b_after_opt)
打印出训练结束后的最终损失值,以及优化后的权重和偏置值。这些值代表了学习到的起步价(偏置)和每公里费用(权重)。
总结:
这段代码通过线性回归模型,从给定的出租车行驶公里数和支付费用数据中学习出租车的起步价和每公里行驶费用。通过多次迭代,模型逐渐调整其权重和偏置,以最小化预测费用与实际费用之间的均方误差。最终,模型学习到的权重和偏置值可以被解释为出租车的每公里费用和起步价。
```python
import paddle
# 任务乘坐出租车起步价10元,每公里2元
def calculate_fee(distance_travelled):return 10 + 2 * distance_travelledfor x in [1.0, 3.0, 5.0, 9.0, 20.0]:print(calculate_fee(x))#知道乘客每次乘坐出租车公里数,也知道乘客每次下车支付费用
#求 起步价、以及每公里形式费用。目标让机器从这些数据当中学习出来计算费用的规则
x_data = paddle.to_tensor([[1.0], [3.0], [5.0], [9.0], [20.0]])
y_data = paddle.to_tensor([[12.0],[16.0],[20.0],[28.0],[50.0]])linear = paddle.nn.Linear(in_features=1, out_features=1)
w_before_opt = linear.weight.numpy().item()
b_before_opt = linear.bias.numpy().item()
print(w_before_opt, b_before_opt)mse_loss = paddle.nn.MSELoss()
sgd_optimizer = paddle.optimizer.SGD(learning_rate=0.001, parameters=linear.parameters())total_epoch = 5000
for i in range(total_epoch):y_predict = linear(x_data)loss = mse_loss(y_predict, y_data)loss.backward()sgd_optimizer.step()sgd_optimizer.clear_gradients()if i % 1000 == 0:print(i, loss.numpy())print("finish training, loss = {}".format(loss.numpy()))w_after_opt = linear.weight.numpy().item()
b_after_opt = linear.bias.numpy().item()
print(w_after_opt, b_after_opt)
相关文章:
百度飞浆:paddle 线性回归模型
学习引用 参考视频: https://www.bilibili.com/video/BV1oRtkeVEVx?spm_id_from333.788.player.switch&vd_sourcec7739de98d044e74cdc74d6e772bed5f&p2 这段代码使用PaddlePaddle深度学习框架来实现一个简单的线性回归模型,旨在从给定的出租车…...
【JavaSE】【网络编程】UDP数据报套接字编程
目录 一、网络编程简介二、Socket套接字三、TCP/UDP简介3.1 有连接 vs 无连接3.2 可靠传输 vs 不可靠传输3.3 面向字节流 vs 面向数据报3.4 双向工 vs 单行工 四、UDP数据报套接字编程4.1 API介绍4.1.1 DatagramSocket类4.1.1.1 构造方法4.1.1.2 主要方法 4.1.2 DatagramPocket…...
45.坑王驾到第九期:Mac安装typescript后tsc命令无效的问题
点赞收藏加关注,你也能主打别墅! 一、问题描述 Mac上终端运行如下命令: sudo npm install typescript -g //全局安装ts提示成功安装后,我测试tsc -v这个命令时出现如下错误: 也就是说找不到 tsc 命令。 二、解决方…...
20241120-Milvus向量数据库快速体验
目录 20241120-Milvus向量数据库快速体验Milvus 向量数据库pymilvus内嵌向量数据库模式设置向量数据库创建 Collections准备数据用向量表示文本插入数据 语义搜索向量搜索带元数据过滤的向量搜索查询通过主键搜索 删除实体加载现有数据删除 Collections了解更多 个人主页: 【⭐…...
【Golang】——Gin 框架中间件详解:从基础到实战
中间件是 Web 应用开发中常见的功能模块,Gin 框架支持自定义和使用内置的中间件,让你在请求到达路由处理函数前进行一系列预处理操作。这篇博客将涵盖中间件的概念、内置中间件的用法、如何编写自定义中间件,以及在实际应用中的一些最佳实践。…...
量子计算来袭:如何保护未来的数字世界
目录 前言 一、量子计算安全的学习方向 1. 量子物理学基础 2. 量子计算原理与技术 3. 传统网络安全知识 4. 量子密码学 5. 量子计算安全政策与法规 二、量子计算的漏洞风险 1. 加密算法被破解风险 2. 区块链安全风险 3. 量子密钥分发风险 4. 量子计算系统自身风险 …...
VMware虚拟机(Ubuntu或centOS)共享宿主机网络资源
VMware虚拟机(Ubuntu或centOS)共享宿主机网络资源 由于需要在 Linux 环境下进行一些测试工作,于是决定使用 VMware 虚拟化软件来安装 Ubuntu 24.04 .1操作系统。考虑到测试过程中需要访问 Github ,要使用Docker拉去镜像等外部网络资源,因此产…...
光伏电站仿真系统的作用
光伏仿真系统有多方面的重要作用,不仅对前期的项目设计评估还是后期的运维效验都有非常重要的作用。 1、优化系统设计 通过输入不同的光伏组件参数、布局方案以及气象条件等,模拟各种设计场景下光伏电站的性能表现。例如,可以比较不同类型光…...
Golang文件操作
写文件   os模块可以创建文件,使用fmt可以写入文件。如以下例子: package mainimport ("fmt""os" )func main() {// 学习 golang的文件操作file, err : os.Create("test.txt")if err ! nil {fmt.P…...
爬虫开发工具与环境搭建——使用Postman和浏览器开发者工具
第三节:使用Postman和浏览器开发者工具 在网络爬虫开发过程中,我们经常需要对HTTP请求进行测试、分析和调试。Postman和浏览器开发者工具(特别是Network面板和Console面板)是两种最常用的工具,能够帮助开发者有效地捕…...
React(二)
文章目录 项目地址七、数据流7.1 子组件传递数据给父组件7.1.1 方式一:給父设置回调函数,传递给子7.1.2 方式二:直接将父的setState传递给子7.2 给props传递jsx7.2.1 方式一:直接传递组件给子类7.2.2 方式二:传递函数给子组件7.3 props类型验证7.4 props的多层传递7.5 cla…...
同步原语(Synchronization Primitives)
同步原语(Synchronization Primitives)是用于控制并发编程中多个线程或进程之间的访问顺序,确保共享资源的安全访问的一组机制或工具。它们解决了竞争条件(Race Condition)、死锁(Deadlock)等并…...
SpringBoot服务多环境配置
一个项目的的环境一般有三个:开发(dev)、测试(test)、生产(proc),一般对应三套环境,三套配置文件。 像下面这样直接写两个配置文件是不行的。 application.ymlserver:port: 8080application-dev.ymlspring:datasource:driver-class-name: co…...
STM32单片机CAN总线汽车线路通断检测-分享
目录 目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 1.电路图采用Altium Designer进行设计: 2.实物展示图片 三、程序源代码设计 四、获取资料内容 前言 随着汽车电子技术的不断发展,车辆通信接口在汽车电子控…...
【环境搭建】使用IDEA远程调试Docker中的Java Web
有时候要对Docker的Java Web远程调试其功能,于是就需要使用IDEA的远程调试功能,记录一下简单配置方法。 以Kylin4.0.0为例,首先拉取镜像并启动容器: $ docker pull apachekylin/apache-kylin-standalone:4.0.0$ docker run -d \-…...
贴代码框架PasteForm特性介绍之select,selects,lselect和reload
简介 PasteForm是贴代码推出的 “新一代CRUD” ,基于ABPvNext,目的是通过对Dto的特性的标注,从而实现管理端的统一UI,借助于配套的PasteBuilder代码生成器,你可以快速的为自己的项目构建后台管理端!目前管…...
STM32G4的数模转换器(DAC)的应用
目录 概述 1 DAC模块介绍 2 STM32Cube配置参数 2.1 参数配置 2.2 项目架构 3 代码实现 3.1 接口函数 3.2 功能函数 3.3 波形源代码 4 DAC功能测试 4.1 测试方法介绍 4.2 波形测试 概述 本文主要介绍如何使用STM32G4的DAC模块功能,笔者使用STM32Cube工具…...
SpringMVC跨线程获取requests请求对象(子线程共享servletRequestAttributes)和跨线程获取token信息
文章目录 引言I 跨线程共享数据跨线程获取requests请求对象基于org.slf4j.MDC存储共享数据InheritableThreadLocal解决异步线程,无法获取token信息问题II Feign 传递请求属性feign 模块处理被调用方处理请求头III 异步调用的方式CompletableFutureAsync注解Executors引言 本文…...
提取repo的仓库和工作树(无效)
问题 从供应商处获取的.repo的git仓库裸(project-object)仓库和工作树(projects)是分开的。 解决方案 根据工作树的软链接路劲,将工作树合并到project-object下。 import os import shutil import argparse import logging# 设置日志配置 logging.basicConfig(l…...
力扣整理版七:二叉树(待更新)
满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。深度为k,有2^k-1个节点的二叉树。 完全二叉树:在完全二叉树中,除了最底层节点可能没填满外&am…...
基于单片机的多功能环保宠物窝设计
本设计基于单片机设计的多功能环保宠物窝,利用温湿度传感器、压力传感模块、气味传感模块、红外测温传感器、通信模块、显示模块、清扫部件等,使其能够实现自动检测并调节温湿度、补充宠物食物、检测宠物体温健康并出现异常时进行报警、自动清扫消毒宠物…...
HBase 基础操作
一、启动HBase 首先,确保Hadoop和HBase服务已经启动。如果尚未启动,可以使用以下命令启动: # 启动Hadoop start-all.sh# 启动HBase start-hbase.sh二、HBase Shell操作 创建表 在HBase Shell中,使用create命令创建表。以下是一…...
小米顾此失彼:汽车毛利大增,手机却跌至低谷
科技新知 原创作者丨依蔓 编辑丨蕨影 三年磨一剑的小米汽车毛利率大增,手机业务毛利率却出现下滑景象。 11月18日,小米集团发布 2024年第三季度财报,公司实现营收925.1亿元,同比增长30.5%,预估902.8亿元;…...
PCL 三维重建 a-shape曲面重建算法
目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 Concave Hull重建 2.1.2 可视化曲面重建结果 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总(长期更新) 一、概述 …...
【Android】线程池的解析
引言 在Android当中根据用途分为主线程与子线程,主线程当中主要处理与界面相关的操作,子线程主要进行耗时操作。除了Thread本身以外,在Android当中还有很多扮演者线程的角色,比如AsyncTask( 底层为线程池,…...
集群聊天服务器(8)用户登录业务
目录 登录状态业务层代码数据模型层代码记录用户的连接信息以及线程安全问题客户端异常退出业务 登录状态 登录且状态变为online 业务层代码 #include "chatservice.hpp" #include "public.hpp" #include <string> #include <muduo/base/Loggi…...
Go语言中的错误嵌套
在Go语言中,错误处理是程序健壮性的关键。Go 1.13版本引入了错误值的嵌套和链式处理,使得错误信息的传递和处理更加灵活和强大。这种机制允许我们在错误中嵌套另一个错误,从而创建一个错误链,这有助于调试和错误跟踪。 错误嵌套的…...
51单片机基础 06 串口通信与串口中断
目录 一、串口通信 二、串口协议 三、原理图 四、串口通信配置参数 1、常用的串行口工作方式1 2、数据发送 3、数据接收 4、波特率计算 5、轮询接收 6、中断接收 一、串口通信 串口通信是一种常见的数据传输方式,广泛用于计算机与外部设备或嵌入式系统之间…...
Elasticsearch:更好的二进制量化(BBQ)对比乘积量化(PQ)
作者:来自 Elastic Benjamin Trent 为什么我们选择花时间研究更好的二进制量化而不是在 Lucene 和 Elasticsearch 中进行生产量化。 我们一直在逐步使 Elasticsearch 和 Lucene 的向量搜索变得更快、更实惠。我们的主要重点不仅是通过 SIMD 提高搜索速度࿰…...
【GNU】gcc -g编译选项 -g0 -g1 -g2 -g3 -gdwarf
1、gcc -g的作用 GCC 的 -g 选项用于在编译时生成调试信息,这些信息会嵌入到生成的目标文件或可执行文件中,主要目的是为了支持调试器(如 gdb)对程序的调试工作。 1.1 生成调试信息 当你在编译代码时使用 -g 选项,GCC…...
女孩做网站工作辛苦吗/上海网站建设咨询
目录 1.官网: 2.投稿网站: 3.作者指南(投稿介绍) 4. Letpub 5.论文模板 1.官网: Computer Methods and Programs in Biomedicine - Journal - Elsevier 2.投稿网站: editorialmanager.com/cmpb/defa…...
网上做图赚钱的网站/品牌策划公司排行榜
SUID: 只对二进制程序有效执行者对于程序需要有x权限在程序运行过程中,执行者拥有程序拥有者的权限例如:普通用户执行passwd命令。首先查看passwd命令的绝对路径:查看passwd命令权限:passwd的拥有者是root,且拥有者权限…...
网络推广排名/关键词优化技巧
组建团队 人员培养 知识分享...
亚马逊云服务器/seo是什么意思?
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 本文来自腾讯云,作者:Python小二 在那个电子产品比较匮乏的年代,小游戏机 还是为数不多的游戏类电子产品ÿ…...
wordpress 病毒式分享/百度客户端下载
1、重排序:指编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段。 2、数据依赖性:两个操作访问同一个变量,且者两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。 (1)分类&…...
做推广的免费的济宁网站有哪些/发帖子的网站
主要是解决在测试使用mongo db 时候,总是出现的MongoAuthenticationException 异常和 not authorized for query,not authorized on admin to execute command 等问题。 直接上测试步骤图拉。 我这个是先卸载了原来的mongo服务,然后删除我…...