pytorch实现手动线性回归
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import torch import matplotlib.pyplot as plt learning_rate = 0.1 #准备数据 #y = 3x +0.8 x = torch.randn([ 500 , 1 ]) y_true = 3 * x + 0.8 #计算预测值 w = torch.rand([],requires_grad = True ) b = torch.tensor( 0 ,dtype = torch. float ,requires_grad = True ) for i in range ( 50 ): #梯度默认会累加,梯度手动清零 for j in [w,b]: if j.grad is not None : j.grad.data.zero_() y_predict = x * w + b #计算损失 loss = (y_predict - y_true). pow ( 2 ).mean() loss.backward() #更新参数 w.data = w.data - learning_rate * w.grad b.data = b.data - learning_rate * b.grad print (i,loss.item()) print (w.data,b.data) plt.figure(figsize = ( 20 , 8 )) plt.scatter(x.numpy(),y_true.numpy()) y_predict = x * w + b plt.plot(x.numpy(),y_predict.detach().numpy(),c = "red" ) plt.show() |
多思考也是一种努力,做出正确的分析和选择,因为我们的时间和精力都有限,所以把时间花在更有价值的地方。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· 程序员常用高效实用工具推荐,办公效率提升利器!
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 【译】WinForms:分析一下(我用 Visual Basic 写的)