1 数据集部分

#导入库
import torch
import matplotlib.pyplot as plt#建议数据集
x=torch.linspace(-1,1,100)
x=x.view(-1,1)
y=torch.pow(x,2)+0.2*torch.rand(x.shape)
#y=x*x+噪声#可视化
plt.scatter(x,y)

2 模型定义部分

import torch
import torch.nn.functional as F#定义模型
class Net(torch.nn.Module):def __init__(self,n_input,n_hidden,n_output):super(Net,self).__init__()self.hidden=torch.nn.Linear(n_input,n_hidden)self.predict=torch.nn.Linear(n_hidden,n_output)#定义每一层的形式(输入维度和输出维度)#定义前向传播方式def forward(self,x):x=F.relu(self.hidden(x))x=self.predict(x)return x#声明模型
net=Net(n_input=1,n_hidden=10,n_output=1)
print(net)
'''
Net((hidden): Linear(in_features=1, out_features=10, bias=True)(predict): Linear(in_features=10, out_features=1, bias=True)
)
'''

3 模型训练+绘图

import matplotlib.pyplot as plt#使用SGD进行梯度下降,设置学习率为0.2
optimizer=torch.optim.SGD(net.parameters(),lr=0.2)#设置误差函数
loss_func=torch.nn.MSELoss()#误差值组成的列表
losses=[]#开始训练
for epoch in range(100):prediction=net(x)#喂给net训练数据x,输出预测值loss=loss_func(prediction,y)losses.append(loss.item())#每十次画一张图if(epoch%10==0):plt.scatter(x,y,c='green')plt.plot(x,prediction.detach(),c='blue')#这里prediction是带requires_grad的,需要detach掉plt.show()optimizer.zero_grad()#清空上一步残余的参数更新值loss.backward()#误差反向传播,计算参数更新值optimizer.step()#将参数更新值施加到net的parameters上
print(losses[-1])
#0.004355926997959614

第一张图:

最后一张图:

pytorch笔记——简易回归问题相关推荐

  1. pytorch笔记:policy gradient

    本文参考了 策略梯度PG( Policy Gradient) 的pytorch代码实现示例 cart-pole游戏_李莹斌XJTU的博客-CSDN博客_策略梯度pytorch 在其基础上添加了注释和自 ...

  2. PyTorch学习笔记(二)——回归

    PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...

  3. pytorch笔记:实现简易LSTM

    1  lstm理论部分 详细可见 机器学习笔记 RNN初探_刘文巾的博客-CSDN博客 2 torch.nn.LSTM 2.1 参数 – input_size – hidden_size – num_ ...

  4. 深度学习PyTorch笔记(12):线性神经网络——softmax回归

    深度学习PyTorch笔记(12):线性神经网络--softmax回归 6 线性神经网络--softmax回归 6.1 softmax回归 6.1.1 概念 6.1.2 softmax运算 6.2 图 ...

  5. pytorch 笔记:torchsummary

    作用:打印神经网络的结构 以pytorch笔记:搭建简易CNN_UQI-LIUWJ的博客-CSDN博客 中搭建的CNN为例 import torch from torchsummary import ...

  6. (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(2)前言(介绍各种机器学习问题)以及数据操作预备知识Ⅰ

    开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...

  7. (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(4)线性神经网络(暂停)

    开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...

  8. 【分类器 Softmax-Classifier softmax数学原理与源码详解 深度学习 Pytorch笔记 B站刘二大人(8/10)】

    分类器 Softmax-Classifier softmax数学原理与源码详解 深度学习 Pytorch笔记 B站刘二大人 (8/10) 在进行本章的数学推导前,有必要先粗浅的介绍一下,笔者在广泛查找 ...

  9. 【 非线性回归 Logistics-Regression 模块实现与源码解读 深度学习 Pytorch笔记 B站刘二大人(5/10)】

    非线性回归 Logistics-Regression 模块实现与源码解读 深度学习 Pytorch笔记 B站刘二大人(5/10) 数学推导 什么是logistics函数 在定义上Logistic函数或 ...

最新文章

  1. matplotlib pcolormech 用法
  2. java分布式锁解决方案 redisson or ZooKeeper
  3. 八百客CRM:微信提现收费,仅仅用户钱包受了伤?
  4. 网站优化中哪些设置会影响蜘蛛的抓取?对网站SEO产生什么影响?
  5. Python字符串格式化f-string格式
  6. 交流继电器rc吸收电路_使用固态继电器的注意事项
  7. c# 2.0 Factory的实现
  8. php定时任务(自己)
  9. 文件加密及解密openssl
  10. 神经网络的SGD、Momentum、AdaGrad、Adam最优化方法及其python实现
  11. 计算机显示文本自定义130%,实训课题目
  12. JavaScript闭包详解
  13. 更改一个主键的列的类型的步骤
  14. 【深度学习】使用Keras开发的流程概述
  15. 高等数学复习笔记(二)- 一元函数微分学的概念、计算以及几何应用
  16. 应邀参加51CTO专家座谈门诊——驱动开发技术探析【2008.11.20在线】
  17. 二选一数据选择器2-1 MUX
  18. Java指纹识别开源代码SourceAFIS使用入门
  19. echarts 弹出放大_vue中使用v-chart时放大缩小屏幕,echarts图自适应
  20. 世界超长经典名车荟萃

热门文章

  1. php学习笔记之static的问题
  2. 天使投资乱象频出 熟人元素何时剔除
  3. IOS开发-GitHub使用详解
  4. 来自 IsayNo (@IsayNooo) 的推文
  5. 当一个有性能问题的数据库摆在你的面前,作为责任人,你的处理思路是什么?...
  6. win7‘上帝模式’
  7. OSPF常见错误和排错方法
  8. tcp/ip 协议栈Linux源码分析二 IPv4分片报文重组分析二
  9. docker 安装nacos_「Java Spring Cloud 实战之路」 使用nacos配置网关
  10. python网站开发linux_使用Python编写Linux系统守护进程实例