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 实现归并排序算法
Jun 05 Python
python调用shell的方法
Nov 20 Python
Python获取任意xml节点值的方法
May 05 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
Feb 19 Python
python列表的常用操作方法小结
May 21 Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
Jul 26 Python
Django 限制用户访问频率的中间件的实现
Aug 23 Python
pyQt5实时刷新界面的示例
Jun 25 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
Apr 07 Python
浅谈Python中re.match()和re.search()的使用及区别
Apr 14 Python
matplotlib基础绘图命令之imshow的使用
Aug 13 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
动漫定律:眯眯眼都是怪物!这些角色狠话不多~
2020/03/03 日漫
php生成文件
2007/01/15 PHP
PHP把小数转成整数3种方法
2014/06/30 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
如何离线执行php任务
2017/02/21 PHP
基于laravel-admin 后台 列表标签背景的使用方法
2019/10/03 PHP
IE6-IE9不支持table.innerHTML的解决方法分享
2012/09/14 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
2019/04/28 Javascript
Python实现XML文件解析的示例代码
2018/02/05 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
django中的数据库迁移的实现
2020/03/16 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
深入了解Python 方法之类方法 & 静态方法
2020/08/17 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
南威尔士家居商店:Leekes
2016/10/25 全球购物
台湾网友喜爱的综合型网路购物商城:Yahoo! 奇摩购物中心
2018/03/10 全球购物
小学生防溺水广播稿
2014/01/12 职场文书
运动会广播稿30字
2014/01/21 职场文书
数学教学随笔感言
2014/02/17 职场文书
春季运动会广播稿大全
2014/02/19 职场文书
办公室员工岗位工作职责
2014/03/10 职场文书
临床专业自荐信
2014/06/22 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
总结会主持词
2015/07/02 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书