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自动安装pip
Apr 24 Python
基于wxpython实现的windows GUI程序实例
May 30 Python
举例讲解Python面相对象编程中对象的属性与类的方法
Jan 19 Python
Python操作Excel之xlsx文件
Mar 24 Python
python实现分页效果
Oct 25 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
Apr 23 Python
python线程池threadpool使用篇
Apr 27 Python
Python3.5 处理文本txt,删除不需要的行方法
Dec 10 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
Aug 21 Python
浅谈pytorch中的BN层的注意事项
Jun 23 Python
利用python下载scihub成文献为PDF操作
Jul 09 Python
django模型类中,null=True,blank=True用法说明
Jul 09 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 自定义错误处理函数的使用详解
2013/05/10 PHP
Yii实现多数据库主从读写分离的方法
2014/12/29 PHP
php实现映射操作实例详解
2019/10/02 PHP
自动检查并替换文本框内的字符
2006/06/30 Javascript
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
input输入框的自动匹配(原生代码)
2013/03/19 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
玩转vue的slot内容分发
2018/09/22 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
Java Web开发过程中登陆模块的验证码的实现方式总结
2016/05/25 Python
利用Python中unittest实现简单的单元测试实例详解
2017/01/09 Python
Python多线程实现同步的四种方式
2017/05/02 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
python实现UDP协议下的文件传输
2020/03/20 Python
Python3获取cookie常用三种方案
2020/10/05 Python
CSS3制作炫酷带方向感应的鼠标滑过图片3D动画
2016/03/16 HTML / CSS
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
linux面试题参考答案(10)
2016/10/26 面试题
2015年见习期工作总结
2014/12/12 职场文书
小学科学教学计划
2015/01/21 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
信用卡工资证明范本
2015/06/19 职场文书
2019大学生实习报告
2019/06/21 职场文书
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫