线性回归——pytorch实现
时间:2021-08-16
本文章向大家介绍线性回归——pytorch实现,主要包括线性回归——pytorch实现使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 import torch 2 import matplotlib.pyplot as plt 3 import os 4 os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE' 5 6 lr = 0.001 7 see = 20000 8 x = torch.rand([1, 50]) 9 y = 3 * x + 0.8 10 11 w = torch.rand([1, 1], requires_grad=True, dtype=torch.float32) 12 b = torch.rand(1, requires_grad=True, dtype=torch.float32) 13 loss = [] 14 15 for i in range(see): 16 y_pred = torch.matmul(w, x) + b 17 cur_loss = torch.matmul(y - y_pred, (y - y_pred).T)18 loss.append(cur_loss.item()) 19 20 if i != 0: # 将梯度清零,初始时参数的梯度为None所以先计算一次后才有梯度 21 w.grad.data.zero_() 22 b.grad.data.zero_() 23 24 cur_loss.backward() 25 w.data = w.data - lr * w.grad 26 b.data = b.data - lr * b.grad 27 28 if i % 200 == 0: 29 print("w, b, loss", w.item(), b.item(), cur_loss.item()) 30 31 plt.scatter(x.numpy()[0], y.numpy()[0]) 32 y_predict = torch.matmul(w, x) + b 33 plt.plot(x.numpy()[0], y_predict.detach().numpy()[0]) 34 plt.show()
原文地址:https://www.cnblogs.com/foghorn/p/14990036.html
- 碎片化 | 第五阶段-05-需求变更如何处理-视频
- 浏览器的UI线程
- 碎片化 | 第五阶段-06-BUG如何去处理-视频
- 碎片化 | 第六阶段-04-搭建nginx和Tomcat集群环境-视频
- SQL注入攻防入门详解
- jQuery插件编写步骤详解
- 深入探秘Neutron API
- 碎片化 | 第七阶段-10-session共享解决方案-视频
- CSS选择器是如何确定优先级的?
- JS中控制好this关键字的指向
- 碎片化 | 第四阶段-46-值栈valueStack介绍和原理-视频
- Laravel中运行Gulp任务的利器(一) —— Laravel Elixir简介及入门教程
- 碎片化 | 第四阶段-52-Hibernate特性-视频
- 碎片化 | 第四阶段-53-hibernate持久化session问题解决-视频
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 我写了一个R包,简化芯片的差异分析
- 【收藏】万字解析Scipy的使用技巧!
- Python 如何使用 HttpRunner 做接口自动化测试
- Python 爬虫时,高版本 App 如何进行抓包?
- 使用 shell-operator 实现 Operator
- 我们是如何用 K8S 搞定1000个应用的测试环境
- 关于Python 3.9,那些你不知道的事
- urllib, urllib2, urllib3 都是小弟弟
- 使用 Kustomize 定制 Helm Chart
- 装逼篇 | 抖音超火的九宫格视频是如何生成的,Python 告诉你答案
- 最全总结 | 聊聊 Python 数据处理全家桶(Mysql 篇)
- 6个提升效率的pandas小技巧
- 如何用 Python 让微博热搜榜动起来
- 如何用 Python 让微博热搜榜动起来
- 漫画:什么是 “抽象工厂模式” ?