pytorch-神经网络拟合曲线实例


Posted in Python onJanuary 15, 2020

代码已经调通,跑出来的效果如下:

pytorch-神经网络拟合曲线实例

# coding=gbk
import torch
import matplotlib.pyplot as plt
from torch.autograd import Variable
import torch.nn.functional as F
 
'''
 Pytorch是一个拥有强力GPU加速的张量和动态构建网络的库,其主要构建是张量,所以可以把PyTorch当做Numpy
 来用,Pytorch的很多操作好比Numpy都是类似的,但是其能够在GPU上运行,所以有着比Numpy快很多倍的速度。
 训练完了,发现隐层越大,拟合的速度越是快,拟合的效果越是好
'''
 
def train():
 print('------  构建数据集  ------')
 # torch.linspace是为了生成连续间断的数据,第一个参数表示起点,第二个参数表示终点,第三个参数表示将这个区间分成平均几份,即生成几个数据
 x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1)
 #torch.rand返回的是[0,1]之间的均匀分布 这里是使用一个计算式子来构造出一个关联结果,当然后期要学的也就是这个式子
 y = x.pow(2) + 0.2 * torch.rand(x.size())
 # Variable是将tensor封装了下,用于自动求导使用
 x, y = Variable(x), Variable(y)
 #绘图展示
 plt.scatter(x.data.numpy(), y.data.numpy())
 #plt.show()
 
 print('------  搭建网络  ------')
 #使用固定的方式继承并重写 init和forword两个类
 class Net(torch.nn.Module):
  def __init__(self,n_feature,n_hidden,n_output):
   #初始网络的内部结构
   super(Net,self).__init__()
   self.hidden=torch.nn.Linear(n_feature,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_feature=1,n_hidden=1000,n_output=1)
 print('网络结构为:',net)
 
 print('------  启动训练  ------')
 loss_func=F.mse_loss
 optimizer=torch.optim.SGD(net.parameters(),lr=0.001)
 
 #使用数据 进行正向训练,并对Variable变量进行反向梯度传播 启动100次训练
 for t in range(10000):
  #使用全量数据 进行正向行走
  prediction=net(x)
  loss=loss_func(prediction,y)
  optimizer.zero_grad() #清除上一梯度
  loss.backward() #反向传播计算梯度
  optimizer.step() #应用梯度
 
  #间隔一段,对训练过程进行可视化展示
  if t%5==0:
   plt.cla()
   plt.scatter(x.data.numpy(),y.data.numpy()) #绘制真是曲线
   plt.plot(x.data.numpy(),prediction.data.numpy(),'r-',lw=5)
   plt.text(0.5,0,'Loss='+str(loss.data[0]),fontdict={'size':20,'color':'red'})
   plt.pause(0.1)
 plt.ioff()
 plt.show()
 print('------  预测和可视化  ------')
 
if __name__=='__main__':
 train()

以上这篇pytorch-神经网络拟合曲线实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 两个列表的差集、并集和交集实现代码
Sep 21 Python
深入理解Python中range和xrange的区别
Nov 26 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
Jan 09 Python
20行python代码的入门级小游戏的详解
May 05 Python
详解PyTorch中Tensor的高阶操作
Aug 18 Python
Django框架创建项目的方法入门教程
Nov 04 Python
Python3将jpg转为pdf文件的方法示例
Dec 13 Python
tensorflow实现二维平面模拟三维数据教程
Feb 11 Python
python识别验证码图片实例详解
Feb 17 Python
Python datetime 格式化 明天,昨天实例
Mar 02 Python
Python 实现自动登录+点击+滑动验证功能
Jun 10 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
Sep 03 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 #Python
详解Python3 中的字符串格式化语法
Jan 15 #Python
用pytorch的nn.Module构造简单全链接层实例
Jan 14 #Python
pytorch三层全连接层实现手写字母识别方式
Jan 14 #Python
Python实现bilibili时间长度查询的示例代码
Jan 14 #Python
基于python监控程序是否关闭
Jan 14 #Python
关于pytorch中全连接神经网络搭建两种模式详解
Jan 14 #Python
You might like
php里array_work用法实例分析
2015/07/13 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
详解PHP PDO简单教程
2019/05/28 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
各种常用浏览器getBoundingClientRect的解析
2009/05/21 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
2012/12/04 Javascript
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
使用next.js开发网址缩短服务的方法
2020/06/17 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
[55:47]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第三局
2016/02/27 DOTA
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
提升Python程序性能的7个习惯
2019/04/14 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
儿科护理实习自我鉴定
2013/09/19 职场文书
工程力学硕士生的自我评价范文
2013/11/16 职场文书
单位未婚证明范本
2014/01/18 职场文书
农贸市场管理制度
2014/01/31 职场文书
物理系毕业生自荐书范文
2014/02/22 职场文书
个人收入证明范本
2014/09/18 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书