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 logging模块学习笔记
May 24 Python
Python中index()和seek()的用法(详解)
Apr 27 Python
Python进度条实时显示处理进度的示例代码
Jan 30 Python
Python 删除连续出现的指定字符的实例
Jun 29 Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 Python
使用python绘制3维正态分布图的方法
Dec 29 Python
python实现彩色图转换成灰度图
Jan 15 Python
springboot配置文件抽离 git管理统 配置中心详解
Sep 02 Python
python实现微信打飞机游戏
Mar 24 Python
python实现五子棋程序
Apr 24 Python
Python  word实现读取及导出代码解析
Jul 09 Python
Python下载的11种姿势(小结)
Nov 18 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
Smarty安装配置方法
2008/04/10 PHP
用PHP实现读取和编写XML DOM代码
2010/04/07 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
基于jquery的页面划词搜索JS
2010/09/14 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
webpack4的迁移的使用方法
2018/05/25 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
探究python中open函数的使用
2016/03/01 Python
python非递归全排列实现方法
2017/04/10 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
计算机应用毕业生自荐信
2013/10/23 职场文书
小学生班会演讲稿
2014/01/09 职场文书
家庭教育先进个人事迹材料
2014/01/24 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
实习计划书范文
2015/01/16 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
教师节主题班会方案
2015/08/17 职场文书