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中__init__()方法的高级应用
May 11 Python
Python多层嵌套list的递归处理方法(推荐)
Jun 08 Python
Python采用Django开发自己的博客系统
Sep 29 Python
Python排序搜索基本算法之归并排序实例分析
Dec 08 Python
Python中循环后使用list.append()数据被覆盖问题的解决
Jul 01 Python
Anaconda下配置python+opencv+contribx的实例讲解
Aug 06 Python
Python延时操作实现方法示例
Aug 14 Python
详解python分布式进程
Oct 08 Python
Python 字符串池化的前提
Jul 03 Python
Python同时迭代多个序列的方法
Jul 28 Python
pandas抽取行列数据的几种方法
Dec 13 Python
opencv实现图像几何变换
Mar 24 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
Yii实现多数据库主从读写分离的方法
2014/12/29 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
2012/07/26 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
微信禁止下拉查看URL的处理方法
2017/09/28 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
js断点调试经验分享
2017/12/08 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
2018/06/27 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
前端深入理解Typescript泛型概念
2020/03/09 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
selenium+python实现自动化登录的方法
2018/09/04 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
利用scikitlearn画ROC曲线实例
2020/07/02 Python
通过代码实例了解Python异常本质
2020/09/16 Python
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
Miller Harris官网:英国小众香水品牌
2020/09/24 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
执行总经理岗位职责
2014/02/03 职场文书
销售经理工作职责
2014/02/03 职场文书
大学校运会广播稿
2014/02/03 职场文书
教研活动总结
2014/04/28 职场文书
演讲稿格式
2014/04/30 职场文书
525心理活动总结
2014/07/04 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书