手动构建线性回归(PyTorch)

import torch
from sklearn.datasets import make_regression
import matplotlib.pyplot as plt
import random
#1.构建数据
#构建数据集
def create_dataset():x,y,coef=make_regression(n_samples=100,n_features=1,random_state=0,noise=10,coef=True,bias=14.5)#将构建数据转换为张量类型x=torch.tensor(x)y=torch.tensor(y)return x,y#构建数据加载器
def data_loader(x,y, batch_size):#计算下样本的数量data_len = len(y)#构建数据索引data_index=list(range(data_len))random.shuffle(data_index)#计算总的batch数量batch_number=data_len//batch_sizefor idx in range(batch_number):start=idx+batch_sizeend=start+batch_sizebatch_train_x=x[start:end]batch_train_y=y[start:end]yield batch_train_x,batch_train_ydef test01():x,y=create_dataset()plt.scatter(x,y)plt.show()for x,y in data_loader(x,y,batch_size=10):print(y)
#2.假设函数、损失函数、优化方法
#损失函数:平均损失
#优化方法:梯度下降
#假设函数
w=torch.tensor(0.1,requires_grad=True,dtype=torch.float64)
b=torch.tensor(0.1,requires_grad=True,dtype=torch.float64)def linear_regression(x):return w*x+b#损失函数
def square_loss(y_pred,y_true):return torch.square(y_pred - y_true)#优化方法
def sqd(lr=1e-2):#除以16是使用的是批次样本的平均梯度w.data=w.data-lr*w.grad.data/16b.data=b.data-lr*b.grad.data/16if __name__ == '__main__':test01()

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

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

相关文章

录入学生信息

定义学生类Student,包含姓名,年龄,性别,分数四个属性,提供一个用于学员信息输出的方法info(self)。编写测试代码,使用循环录入5位学生的信息,由于录入的学生信息中间使用“#”进行分隔&#xff…

Spark学习之SparkSQL

SparkSQL 1、SparkSql初识案例 :WordCount spark sql处理数据的步骤1、读取数据源2、将读取到的DF注册成一个临时视图3、使用sparkSession的sql函数,编写sql语句操作临时视图,返回的依旧是一个DataFrame4、将结果写出到hdfs上 import org.apache.spark.…

C++基础语法:STL之容器(6)--序列容器中的forward_list

前言 "打牢基础,万事不愁" .C的基础语法的学习 引入 序列容器的学习.以<C Prime Plus> 6th Edition(以下称"本书")内容理解 本书中容器内容不多只有几页.最好是有数据结构方面的知识积累,如果没有在学的同时补上 上一篇C基础语法:链表和数据结…

Linux系统命令:监控 CPU 性能的工具mpstat详解

目录 一、概述 二、语法和使用 1、基本语法 2、常用选项 三、安装 mpstat 1、Debian&#xff08;如 Ubuntu&#xff09;的系统安装 2、CentOS 或 Fedora系统的安装 &#xff08;1&#xff09;安装指令 &#xff08;2&#xff09;安装操作 3、使用 四、示例 1. 查看…

【人工智能】Python实现文本转换为语音:使用gTTS库实现

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、引言二、准备工作三、使用gTTS实现文本转换为语音详细步骤 四、人工智能与TTS技术五、总结 一、引言 文本转换为语音&#xff08;Text-to-Speech&#xff0c;简称TTS&#xff09;技术是人工智能的重要组成部分&#xf…

Unity UGUI 之 Canvas画布

本文仅作学习笔记与交流&#xff0c;不作任何商业用途 本文包括但不限于unity官方手册&#xff0c;唐老狮&#xff0c;麦扣教程知识&#xff0c;引用会标记&#xff0c;如有不足还请斧正 1.UGUI是什么 首先官方手册导向了这两个连接&#xff0c;里面是ugui的基本教程 帆布 |U…

【C语言】 链表实现学生管理系统(堆区开辟空间)

总体思路都能写出来&#xff0c;问题是感觉稍微比之前的麻烦一些&#xff0c;在刚开始创建结构体的时候&#xff0c;并没有去按照链表的思路去写&#xff0c;导致写成了顺序表&#xff0c;后面就一直纠结空间怎么开辟。 链表是由一个头节点和其它申请出来的小节点连起来的&…

统计一个页面用到的html,css,js

<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>统计html</title><style>* {margin: …

Web前端知识视频教程分享(四) jQuery

资料下载地址: https://545c.com/f/45573183-1334618723-883dfe?p7526 (访问密码: 7526)

【有效验证】解决SQLyog连接MYSQL的错误 1251 - Client does not support

目录 一、原因分析&#xff1a; 二、进入到mysql 三、查看当前加密方式 四、更改加密方式 五、查看是否成功 前言&#xff1a;使用一个开源软件使用sqlyog、navcat都报1251错误&#xff0c;网上都是提示升级客户端&#xff0c;还有一种就是修改mysql配置。本文就是修改配置…

虚拟机OP的LAN网口设置

问题&#xff1a;unraid通过虚拟机安装OP&#xff0c;然而一个网口连接路由器&#xff0c;总是无法为其他设备提供DHCP&#xff0c;导致无法使用。 一、虚拟机OP配置 二、OP内部配置 对于Lan网口&#xff0c;启用强制&#xff0c;这样可以防止OP被网口接的路由器产生冲突 三、…

认识接口测试

接口测试为什么重要&#xff1f; 我相信你一定听说过这样一句话&#xff1a;“测试要尽早介入&#xff0c;测试进行得越早&#xff0c;软件开发的成本就越低&#xff0c;就越能更好地保证软件质量。” 但是如何尽早地进入测试&#xff0c;作为软件测试的你&#xff0c;是不是…

web自动化测试

自动化测试理论 UI&#xff1a;User Interface&#xff08;用户接口-用户界面&#xff09;&#xff0c;主要包括&#xff1a;app、web ui自动化测试&#xff1a;使用工具或代码执行用例的过程 什么样的项目适合做自动化 1、需要回归测试项目&#xff08;甲方自营项目、金融、…

IPS(入侵防御)和AS(反病毒)的总结

目录 IAE引擎 深度行为检测技术 深度包检测 DPI 深度包检测的分类 1&#xff0c;基于特征字的检测技术 2&#xff0c;基于应用网关的检测技术 3&#xff0c;基于行为模式的检测技术 深度流检测 DFI DPI和DFI的对比 IPS&#xff08;入侵防御&#xff09; 入侵检测 IDS 入侵防御…

分布式锁的使用场景是什么?有哪些实现方法?

在单体架构中&#xff0c;多个线程都是属于同一个进程的&#xff0c;所以在线程并发执行遇到资源竞争时&#xff0c;可以利用ReentrantLock、synchronized等技术来作为锁&#xff0c;来控制共享资源的使用。 而在分布式架构中&#xff0c;多个线程是可能处于不同进程中的&…

5.串口通信

串口的介绍 UART&#xff08;通用异步收发器&#xff09;是一种双向、串行、异步的通信总线&#xff0c;仅用一根数据接收线&#xff08;RX&#xff09;和一根数据发送线&#xff08;TX&#xff09;就能实现全双工通信 R&#xff1a;Receiver(接收)&#xff0c;T&#xff1a;T…

mac os 去除压缩包下的__MACOSX

mac os 去除压缩包下的__MACOSX 步骤 步骤 在mac上压缩文件后执行 zip -d xxx.zip "__MACOSX*"

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 中文分词模拟器(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

Vue的动态和异步组件:提升应用性能的利器

引言 在现代前端应用开发中,组件化是构建用户界面的主流方式。Vue.js 作为一个流行的前端框架,提供了强大的组件系统。Vue 不仅支持静态组件的使用,还支持动态组件和异步组件。动态组件允许我们在运行时动态地切换不同的组件,而异步组件则允许我们在需要时才加载组件。这两…

浅谈Canal原理

canal [kə’nl]&#xff0c;译意为水道/管道/沟渠&#xff0c;主要用途是基于 MySQL 数据库增量日志解析&#xff0c;提供增量数据 订阅 和 消费。应该是阿里云DTS&#xff08;Data Transfer Service&#xff09;的开源版本。 Canal与DTS提供的功能基本相似&#xff1a; 基于…