pytorch-API实现线性回归
示例:
import torch
import torch.nn as nn
from torch import optim class MyModel(nn.Module): def __init__(self):
super(MyModel,self).__init__()
self.lr = nn.Linear(1,1) def forward(self,x):
return self.lr(x) #准备数据 x= torch.rand([500,1])
y_true = 3*x+0.8
#1.实例化模型
model = MyModel()
#2.实例化优化器
optimizer = optim.Adam(model.parameters(),lr=0.1)
#3.实例化损失函数
loss_fn = nn.MSELoss() for i in range(500):
#4.梯度置为0
optimizer.zero_grad()
#5.调用模型得到预测值
y_predict = model(x)
#6.通过损失函数,计算得到损失
loss = loss_fn(y_predict,y_true)
#7.反向传播,计算梯度
loss.backward()
#8.更新参数
optimizer.step() #打印部分数据
if i%10 ==0:
print(i,loss.item()) for param in model.parameters():
print(param.item())
使用英伟达显卡CUDA模式加速计算:
import torch
import torch.nn as nn
from torch import optim
import time
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") class MyModel(nn.Module): def __init__(self):
super(MyModel,self).__init__()
self.lr = nn.Linear(1,1) def forward(self,x):
return self.lr(x) #准备数据 x= torch.rand([500,1]).to(device=device)
y_true = 3*x+0.8
#1.实例化模型
model = MyModel().to(device)
#2.实例化优化器
optimizer = optim.Adam(model.parameters(),lr=0.1)
#3.实例化损失函数
loss_fn = nn.MSELoss()
start = time.time()
for i in range(500):
#4.梯度置为0
optimizer.zero_grad()
#5.调用模型得到预测值
y_predict = model(x)
#6.通过损失函数,计算得到损失
loss = loss_fn(y_predict,y_true)
#7.反向传播,计算梯度
loss.backward()
#8.更新参数
optimizer.step() #打印部分数据
if i%10 ==0:
print(i,loss.item()) for param in model.parameters():
print(param.item()) end = time.time() print(end-start)
pytorch-API实现线性回归的更多相关文章
- Pytorch手写线性回归
pytorch手写线性回归 import torch import matplotlib.pyplot as plt from matplotlib.animation import FuncAnim ...
- Pytorch 实现简单线性回归
Pytorch 实现简单线性回归 问题描述: 使用 pytorch 实现一个简单的线性回归. 受教育年薪与收入数据集 单变量线性回归 单变量线性回归算法(比如,$x$ 代表学历,$f(x)$ 代表收入 ...
- Spark(十一) -- Mllib API编程 线性回归、KMeans、协同过滤演示
本文测试的Spark版本是1.3.1 在使用Spark的机器学习算法库之前,需要先了解Mllib中几个基础的概念和专门用于机器学习的数据类型 特征向量Vector: Vector的概念是和数学中的向量 ...
- pytorch API中sgd.py的学习记录
参考:PyTorch与caffe中SGD算法实现的一点小区别 其中公式(3)(4)的符号有问题 变量对应表 程序 参考文章 buf v momentum μ d_p Δf(θ) lr ξ p θ
- python pytorch numpy DNN 线性回归模型
1.直接奉献代码,后期有入门更新,之前一直在学的是TensorFlow, import torch from torch.autograd import Variable import torch.n ...
- pytorch实现手动线性回归
import torch import matplotlib.pyplot as plt learning_rate = 0.1 #准备数据 #y = 3x +0.8 x = torch.randn( ...
- 【深度学习 01】线性回归+PyTorch实现
1. 线性回归 1.1 线性模型 当输入包含d个特征,预测结果表示为: 记x为样本的特征向量,w为权重向量,上式可表示为: 对于含有n个样本的数据集,可用X来表示n个样本的特征集合,其中行代表样本,列 ...
- 分别基于TensorFlow、PyTorch、Keras的深度学习动手练习项目
×下面资源个人全都跑了一遍,不会出现仅是字符而无法运行的状况,运行环境: Geoffrey Hinton在多次访谈中讲到深度学习研究人员不要仅仅只停留在理论上,要多编程.个人在学习中也体会到单单的看理 ...
- Keras vs. PyTorch
We strongly recommend that you pick either Keras or PyTorch. These are powerful tools that are enjoy ...
- ELMo解读(论文 + PyTorch源码)
ELMo的概念也是很早就出了,应该是18年初的事情了.但我仍然是后知后觉,居然还是等BERT出来很久之后,才知道有这么个东西.这两天才仔细看了下论文和源码,在这里做一些记录,如果有不详实的地方,欢迎指 ...
随机推荐
- 初步进入linux世界
[Linux 系统启动过程] Linux的启动其实和windows的启动过程很类似,不过windows我们是无法看到启动信息的,而linux启动时我们会看到许多启动信息,例如某个服务是否启动. Lin ...
- python框架-Django安装使用
1.安装pip sudo apt-get install python-pip 遇到问题需要更新下语言包 sudo apt-get update 检查pip是否安装成功 pip -V 查看已安装包 p ...
- python——新excel模块之openpyxl
1.安装 pip install openpyxl 2.新建文件 book=openpyxl.Workbook() 3.打开sheet页(两种方式) sheet=book.active #默认的she ...
- SpringBoot系列之学习教程汇总
对应SpringBoot系列博客专栏,例子代码,本博客不定时更新 一.配置篇 SpringBoot系列之@PropertySource读取yaml文件 >> source down ...
- 001_Chrome 76支持原生HTML 图片懒加载Lazy loading
Table Of Content 什么是懒加载? 语法参数及使用方式? 有哪些特点? 与js有关的实践 什么是懒加载? 技术背景 Web应用需要经常向后台服务器请求资源(通过查询数据库,是非常耗时耗资 ...
- Cacti监控服务
Cacti监控服务 案例1:部署Cacti监控平台 案例2:构建Cacti监测系统 1 案例1:部署Cacti监控平台 1.1 问题 本案例要求部署一台Cacti监控主机,并安装相关监控组件,为进一步 ...
- 真没想到,Springboot能这样做全局日期格式化,有点香!
最近面了一些公司,有一些 Java方面的架构.面试资料,有需要的小伙伴可以在公众号[程序员内点事]里,无套路自行领取 说在前边 最近部门几位同事受了一些委屈相继离职,共事三年临别之际颇有不舍,待一切手 ...
- .net core 实现excel 和 word 的在线预览
最新在搞文件的在线预览,网上很多免费的方案都需要是电脑安装office的,这要就很麻烦:收费的插件又太贵了. 不过还是找到一款相对好用的免费在线预览插件. 直接在nuget上搜索ce.office.e ...
- 阿里云服务器扩展分区和文件系统_Linux数据盘
官方文档永远是最好的 https://help.aliyun.com/document_detail/25452.html?spm=a2c4g.11186623.6.786.5fde4656Ln6AO ...
- GitHub+PicGo构建免费图床及其高效使用
搭建免费图床全过程! 一.搭建缘由 一开始搭建博客,避免不了要用许多图片,最初使用七牛云来做博客图床,但是后来发现,七牛云只有30天的临时域名,hhhhhhh,果然啊,天下就没有免费的好事啊~后来就发 ...