AAAI最佳论文Informer 复现(含python notebook代码)

这篇具有很好参考价值的文章主要介绍了AAAI最佳论文Informer 复现(含python notebook代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Github论文源码

由于很菜,零基础看源码的时候喜欢按照代码运行的顺序来跑一遍一个batch,从外层一点点拆进去,看代码内部的逻辑。最初复现的时候大部分都沿用args里的default,后面再尝试改用自己的数据+调参(哈哈至今也无法参透调参的这部分,希望不是玄学。。。)
记录一下本菜菜的复现过程。

1 代码运行顺序

  • main_informer.py 最外层,参数设置、让代码跑起来
    args.itr 迭代调用exp/exp_informer.py 中的 Exp_Informer类并传入args构建Exp_Informer类实例,继承了同文件夹中的exp_basic.py/Exp_Basic类
    • 执行 Exp_Informer._build_model(args) 函数, 构建Informer模型实例
    • 调用 Exp_Informer.train(setting)
      • 调用Exp_Informer._get_data(flag=‘train’)
        • 调用data/data_loader.py 中的 Dataset_ETT_hour 类,并传入args构建实例
        • Dataset实例转换为DataLoader实例
      • args.train_epochs 迭代,每个epoch 都取出dataloader中的所有batch数据
        • batch迭代,batch_x, batch_y,batch_x_mark,batch_y_mark 的形状(shape)分别是 [32, 96, 7],[32, 24, 7],[32, 96, 4],[32, 72, 4]
          • 调用 Exp_Informer._process_one_batch() 在这个函数中将每个batch的数据传递进入前面构建的Informer模型。也会在这个函数进行一些padding等,返回的输model出值。
          • 计算损失,梯度下降迭代 loss.backward()
        • 对所有batch训练结束后调用 Exp_Informer.vali() 查看当前epoch的验证集表现结果。并挑选最好的checkpoint存下来。
    • 调用Exp_Informer.test(setting)
      (略)类似train的过程
    • torch.cuda.empty_cache()

2 复现

2.1 复现结果

wandb
复现informer,nlp,Time series,nlp,深度学习,pytorch,算法
复现informer,nlp,Time series,nlp,深度学习,pytorch,算法
上图为测试集的表现
复现informer,nlp,Time series,nlp,深度学习,pytorch,算法
上图是training过程中训练集的output和真值的对比,注意并不是测试集!

2.2 复现代码

感觉现在结果有点拉,还没有调参全部用的默认参数(真的不想调参。。。)。欢迎评论区大佬们给点指导意见,,怎么才能调的更好点。
kaggle notebook
这里打开应该是这个样子的
复现informer,nlp,Time series,nlp,深度学习,pytorch,算法

3 未完待续 2023/11/22

真的菜菜菜菜菜中菜,欢迎评论区大佬指正!文章来源地址https://www.toymoban.com/news/detail-830608.html

到了这里,关于AAAI最佳论文Informer 复现(含python notebook代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【文章学习系列之模型】Informer

    《Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting》是2021年发表于AAAI的一篇论文。常规自注意机制和Transformer模型已达性能瓶颈,作者尝试寻找新的方法来提高Transformer模型的性能,使其在具备更高效计算、内存和架构能力的同时,又能拥有更优异的预测能力。

    2023年04月26日
    浏览(46)
  • Informer时序模型(自定义项目)

    读完代码解析篇,我们针对开源项目中的模型预测方法做一下介绍。作者在Github上给出了模型预测方法以及Q、K图的做法,这里提供下载链接 首先,在不更改任何参数的情况下跑完代码,会在项目文件夹中生成两个子文件夹 checkpoints 文件夹中包含训练完成的模型,后缀名为

    2024年02月01日
    浏览(46)
  • 深入源码分析kubernetes informer机制(四)DeltaFIFO

    [阅读指南] 这是该系列第四篇 基于kubernetes 1.27 stage版本 为了方便阅读,后续所有代码均省略了错误处理及与关注逻辑无关的部分。 如下图,clinet-go中定义了存储类型接口store,用来提供存储对象的基本能力。 queue继承了store接口,并提供了队列的能力,队列中可以保存需要增

    2024年02月13日
    浏览(35)
  • 深入源码分析kubernetes informer机制(二)Reflector

    [阅读指南] 这是该系列第二篇 基于kubernetes 1.27 stage版本 为了方便阅读,后续所有代码均省略了错误处理及与关注逻辑无关的部分。 reflector在informer中就像是一个对外的窗口,它与api-server建立连接,监听和获取来自api-server的资源变化信息,并把这些信息放进deltaFIFO中,交给下

    2024年02月12日
    浏览(39)
  • 深入源码分析kubernetes informer机制(三)Resync

    [阅读指南] 这是该系列第三篇 基于kubernetes 1.27 stage版本 为了方便阅读,后续所有代码均省略了错误处理及与关注逻辑无关的部分。 如果看过上一篇,大概能了解,client数据主要通过reflector 的list/watch进行同步。 回顾一下informer整体的数据同步逻辑。 informer初始化时,调用l

    2024年02月12日
    浏览(34)
  • K8S Informer机制原理解读 | 架构设计

    在Kubernetes系统中,组件之间通过HTTP协议进行通信,在不依赖任何中间件的情况下需要保证消息的实时性、可靠性、顺序性等。那么Kubernetes是如何做到的呢?答案就是Informer机制。Kubernetes的其他组件都是通过client-go的Informer机制与Kubernetes API Server进行通信的。 在Informer架构设

    2024年01月22日
    浏览(45)
  • Informer:比Transformer更有效的长时间序列预测

    目录 AAAI 2021最佳论文:比Transformer更有效的长时间序列预测 Background Why attention ​编辑​编辑​编辑 Methods:the details of Informer Solve_Challenge_1:最基本的一个思路就是降低Attention的计算量,仅计算一些非常重要的或者说有代表性的Attention即可,一些相近的思路在近期不断的提出,

    2023年04月09日
    浏览(58)
  • 针对Informer中时序数据ETT油温数据分析

    电力变压器油温数据,由国家电网提供,该数据集是来自中国同一个省的两个不同县的变压器数据,时间跨度为2年,原始数据每分钟记录一次(用 m 标记),每个数据集包含2年 * 365天 * 24小时 * 60分钟 = 1,051,200数据点。由于数据量的庞大,将数据粒度改为每15分钟1个数据点,

    2024年02月14日
    浏览(39)
  • Pycharm里配置Pytorch-gpu(运行informer算法模型)

    1.下载Anaconda安装包 去官网 https://www.anaconda.com/download下载适合自己操作系统的Anaconda安装包。 (以Windows为例) 2.安装Anaconda 双击下载后的“Anaconda3-2023.09-0-Windows-x86_64.exe”,进行安装。点击“Next”。  选择安装路径,最好选择C盘以外的路径。 选择“安装选项”,根据自己的

    2024年02月03日
    浏览(44)
  • 时间序列预测算法梳理(Arima、Prophet、Nbeats、NbeatsX、Informer)

    自回归滑动平均(Autoregressive integrated moving average,ARIMA)模型由Box和Jenkins于1970年提出。他们认为 某些非平稳序列中,某一部分与其他部分相似,而这种同质性可经d阶差分后就可以成为平稳序列 ,成为混合自回归-滑动平均过程。那么该非平稳序列为ARIMA模型,用 表示。其中

    2024年02月06日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包