MyLinear
import torchimport matplotlib.pyplot as plt # 画图的import random #随机def create_data(w, b, data_num): #生成数据x torch.normal(0, 1, (data_num, len(w)))y torch.matmul(x, w) b #matmul表示矩阵相乘noise torch.normal(0, 0.01, y.shape) #噪声要加到y上y noisereturn x, ynum 500true_w torch.tensor([8.1,2,2,4])true_b torch.tensor(1.1)X, Y create_data(true_w, true_b, num)plt.scatter(X[:, 3], Y, 1)plt.show()def data_provider(data, label, batchsize): #每次访问这个函数 就能提供一批数据length len(label)indices list(range(length))#我不能按顺序取 把数据打乱random.shuffle(indices)for each in range(0, length, batchsize):get_indices indices[each: eachbatchsize]get_data data[get_indices]get_label label[get_indices]yield get_data,get_label #有存档点的returnbatchsize 16# for batch_x, batch_y in data_provider(X, Y, batchsize):# print(batch_x, batch_y)# breakdef fun(x, w, b):pred_y torch.matmul(x, w) breturn pred_ydef maeLoss(pre_y, y):return torch.sum(abs(pre_y-y))/len(y)def sgd(paras, lr): #随机梯度下降更新参数with torch.no_grad(): #属于这句代码的部分不计算梯度for para in paras:para - para.grad * lr #不能写成 para para - para.grad*lrpara.grad.zero_() #使用过的梯度归0lr 0.03w_0 torch.normal(0, 0.01, true_w.shape, requires_gradTrue) #这个w需要计算梯度b_0 torch.tensor(0.01, requires_gradTrue)print(w_0, b_0)epochs 50for epoch in range(epochs):data_loss 0for batch_x, batch_y in data_provider(X, Y, batchsize):pred_y fun(batch_x,w_0, b_0)loss maeLoss(pred_y, batch_y)loss.backward()sgd([w_0, b_0], lr)data_loss lossprint(epoch %03d: loss: %.6f%(epoch, data_loss))print(真实的函数值是, true_w, true_b)print(训练得到的参数值是, w_0, b_0)idx 3plt.plot(X[:, idx].detach().numpy(), X[:, idx].detach().numpy()*w_0[idx].detach().numpy()b_0.detach().numpy())plt.scatter(X[:, idx], Y, 1)plt.show()

相关新闻

Redis 主从复制及哨兵模式配置

Redis 主从复制及哨兵模式配置

Redis 主从复制配置主节点 (redis-node1, IP: 172.25.254.10)[rootredis-node1 ~]# vim /etc/redis/redis.conf修改项:bind * -::* # 允许所有网络接口访问 protected-mode no # 关闭保护模式,允许远程连接[rootredis-node1 ~]# syste…

2026/7/3 6:03:05 阅读更多 →
基于springboot智慧停车系统的设计与实现

基于springboot智慧停车系统的设计与实现

一、项目介绍智慧停车的核心包含两个方面:一是对停车资源的优化和整合,消除停车信息系统孤岛现象,将分散的停车位数据实时互联,使系统能及时知道空余泊位并进行发布和停车诱导,在不增设停车位的情况下,减少…

2026/7/3 11:57:59 阅读更多 →
洛谷P2669 金币 python代码

洛谷P2669 金币 python代码

首先看题目理解题意,第一天发一个金币,之后两天每天两枚金币,之后三天每天三枚金币,以此类推,之后k天每天k枚金币,现在给了总共的天数,让你求出金币数量。首先设置一个变量,day代表当…

2026/7/3 2:35:43 阅读更多 →

最新新闻

Java SHA256加密实战:从原理到密码存储与API签名的完整指南

Java SHA256加密实战:从原理到密码存储与API签名的完整指南

1. 项目概述:为什么我们需要SHA256? 在开发中,处理敏感数据是家常便饭,无论是用户密码、支付凭证还是API签名。直接存储明文密码是开发中的大忌,一旦数据库泄露,后果不堪设想。因此,我们必须对这…

2026/7/4 3:51:58 阅读更多 →
数据产业服务分类(25)——数据要素——数据要素转化的主体

数据产业服务分类(25)——数据要素——数据要素转化的主体

人是数据要素与其他生产要素转化的核心与主体。实践活动是纽带数据与现实世界并非彼此割裂、独立存在,而是通过人类实践活动这一关键纽带实现了紧密相连。人类实践活动充当着数据与现实世界连接的桥梁。人类在现实世界中开展各类实践活动,这些活动产生了…

2026/7/4 3:49:58 阅读更多 →
揭秘租赁行业潜规则:为什么大厂都在租翻新打印机?

揭秘租赁行业潜规则:为什么大厂都在租翻新打印机?

很多人好奇,为什么大型企业、连锁公司、上市公司,明明有预算,却偏偏不租新机,反而首选翻新打印机?今天揭秘租赁行业没人说的真话。一、大厂只看实用性,不看面子对专业企业来说,打印机只是办公工…

2026/7/4 3:49:58 阅读更多 →
学习做一个无人机的前置知识(1)

学习做一个无人机的前置知识(1)

四轴无人机两种机身布局市面上四轴无人机分十字 () 型、X 型两种,教学、入门无人机基本都用 X 型,更好操控、飞行更稳。十字 () 型布局机头正对着其中一个螺旋桨。 优点:结构逻辑直观;缺点:操控手感差,微调…

2026/7/4 3:43:57 阅读更多 →
【Springboot毕设全套源码+文档】基于springboot自行车分享平台的设计与实现(丰富项目+远程调试+讲解+定制)

【Springboot毕设全套源码+文档】基于springboot自行车分享平台的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/4 3:43:57 阅读更多 →
ICAIEI 2026 人工智能与情感智能国际会议

ICAIEI 2026 人工智能与情感智能国际会议

【ICAIEI 2026】International Conference on Artificial Intelligence and Emotional Intelligence ICAIEI 2026 作为一个全球性平台,旨在探索这一交叉领域。它汇聚了研究人员、心理学家、技术专家、政策制定者、教育工作者以及行业领袖,共同探讨如何将…

2026/7/4 3:41:56 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻