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编写一个简单的tic-tac-toe游戏的教程
Apr 16 Python
python使用opencv读取图片的实例
Aug 17 Python
python递归打印某个目录的内容(实例讲解)
Aug 30 Python
Python 查找list中的某个元素的所有的下标方法
Jun 27 Python
Selenium chrome配置代理Python版的方法
Nov 29 Python
python web自制框架之接受url传递过来的参数实例
Dec 17 Python
python循环输出三角形图案的例子
Nov 22 Python
python实现高斯判别分析算法的例子
Dec 09 Python
Jupyter Notebook 实现正常显示中文和负号
Apr 24 Python
Python tkinter实现简单加法计算器代码实例
May 13 Python
Python中zipfile压缩文件模块的基本使用教程
Jun 14 Python
python中__slots__节约内存的具体做法
Jul 04 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 5.0对象模型深度探索之对象复制
2008/03/27 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
php解决安全问题的方法实例
2019/09/19 PHP
PHP 枚举类型的管理与设计知识点总结
2020/02/13 PHP
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
js Dialog 实践分享
2012/10/22 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
2016/01/29 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
基于Node的Axure文件在线预览的实现代码
2019/08/28 Javascript
Python break语句详解
2014/03/11 Python
Python采用raw_input读取输入值的方法
2014/08/18 Python
小议Python中自定义函数的可变参数的使用及注意点
2016/06/21 Python
详解django.contirb.auth-认证
2018/07/16 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
解决pyCharm中 module 调用失败的问题
2020/02/12 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
python使用numpy中的size()函数实例用法详解
2021/01/29 Python
50个强大璀璨的CSS3/JS技术运用实例
2010/02/27 HTML / CSS
Myprotein葡萄牙官方网站:英国优质运动营养品牌
2016/09/12 全球购物
杨善洲电影观后感
2015/06/04 职场文书
亮剑观后感300字
2015/06/05 职场文书
教师节主题班会教案
2015/08/17 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书