pytorch实现手动线性回归
2024-10-09 02:37:49
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()
最新文章
- 【NLP】大数据之行,始于足下:谈谈语料库知多少
- C语言中的far关键字
- 继承 原生js 与 $.extend(true,default,opts||{});
- linux Shell脚本编码格式
- 编译Android源码
- Hadoop在eclipse中的配置
- SpringMVC详细示例实战教程
- vim - multiple windows
- Python-dict与set
- 正则匹配ab不匹配aab
- 关于datalist
- use_virtual_func_without_pointer_left
- java动态缓存技术:WEB缓存应用(转)
- jQuery 获取 URL信息
- Mysql ODBC 5.1 Driver免安装脚本
- C#调用百度地图API
- idea live template高级知识, 进阶(给方法,类,js方法添加注释)(二)
- linux 磁盘管理三部曲——(3)mount挂载,/etc/fstab配置文件
- listview的gridview视图中,获取列中模板内的button按钮(找控件内的控件)
- 在td中的输入英文为什么不自动换行???
热门文章
- K8S 资源收集和展示 top &; DashBoard-UI
- kaggle入门——泰坦尼克之灾
- 模块 time datetime 时间获取和处理
- python爬虫之requests的基础使用
- ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件
- [Vue warn]: Failed to mount component: template or render function not defined. found in --->; <;XFbwz>; at src/views/XFbwz.vue <;App>; at src/App.vue <;Root>;
- PTA数据结构与算法题目集(中文) 7-26
- CentOS虚拟机开机显示多内核版本
- 痞子衡嵌入式:走进二维码(QR Code)的世界(1)- 引言
- postfix基础邮件服务