这个开源项目主要是对经典的时间序列预测算法论文进行复现,模型主要参考自GluonTS,框架主要参考自Informer

Overview

Time Series Research with Torch

这个开源项目主要是对经典的时间序列预测算法论文进行复现,模型主要参考自GluonTS,框架主要参考自Informer

建立原因 相较于mxnet和TF,Torch框架中的神经网络层需要提前指定输入维度:

# 建立线性层 TensorFlow vs PyTorch
tf.keras.Dense(units=output_size) # 不需要提前指定输入维度
torch.nn.Linear(in_features=input_size, out_features=output_size) # 需要提前指定输入维度

这对于单一模型来说不会存在问题,我们可以对每个模型作针对性的特征工程,然后将数据输入即可。但在一个API统一的框架中可能会导致模型复用及其困难,因为用户并不知道自己调用的模型中封装了什么特征工程,所以也无法预知网络最底层的输入维度。

PyTorchTS是一位大佬根据GluonTS框架实现的基于PyTorch的时间序列预测框架,其数据加载、转换和模型的测试都非常漂亮,但由于PyTorch的这个特性,导致用户在调用时需要指定input_size参数:

# PyTorchTS框架中DeepAR模型的调用
estimator = DeepAREstimator(
    distr_output=ImplicitQuantileOutput(output_domain="Positive"),
    cell_type='GRU',
    input_size=62, # 输入维度指定, 且只能指定为62, 但对没有深入了解框架的用户意义不明
    num_cells=64,
    num_layers=3,
    ...)

这个input_size=62并不是指用户输入的时间序列的维度,而是经过多个特征构造和转换后到达RNN单元的Tensor维度,这就需要用户提前在草稿纸上推导出变换后的数据维度,并当做评估器的输入,然而这不是一件容易的事情(复杂的多项式关系-_-||),并且也丢失了神经网络的端到端的黑箱特性。

因此,希望能够实现一种更黑箱的框架,并做一些model和trick上的研究,这就是这个项目建立的原因啦。

数据加载

项目中的Benchmark数据来源于multivariate-time-series-data,并额外添加了人工生成的较为简单的时间序列,用于检测模型的正确性

Dataset Dimension Frequency Start Date
Electricity 321 H 2012-01-01 00:00:00
Exchange Rate 8 B 1990-01-01 00:00:00
Solar Energy 137 10min 2006-01-01 00:00:00
Traffic 862 H 2015-01-01 00:00:00
Artificial 1 H 2013-11-28 18:00:00

time-series data show

Owner
Chi Zhang
keep learning!
Chi Zhang
Roger Labbe 13k Dec 29, 2022
MEND: Model Editing Networks using Gradient Decomposition

MEND: Model Editing Networks using Gradient Decomposition Setup Environment This codebase uses Python 3.7.9. Other versions may work as well. Create a

Eric Mitchell 141 Dec 02, 2022
SPCL: A New Framework for Domain Adaptive Semantic Segmentation via Semantic Prototype-based Contrastive Learning

SPCL SPCL: A New Framework for Domain Adaptive Semantic Segmentation via Semantic Prototype-based Contrastive Learning Update on 2021/11/25: ArXiv Ver

Binhui Xie (谢斌辉) 11 Oct 29, 2022
Mae segmentation - Reproduction of semantic segmentation using masked autoencoder (mae)

ADE20k Semantic segmentation with MAE Getting started Install the mmsegmentation

97 Dec 17, 2022
Voice Gender Recognition

In this project it was used some different Machine Learning models to identify the gender of a voice (Female or Male) based on some specific speech and voice attributes.

Anne Livia 1 Jan 27, 2022
DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective.

DeepSpeed+Megatron trained the world's most powerful language model: MT-530B DeepSpeed is hiring, come join us! DeepSpeed is a deep learning optimizat

Microsoft 8.4k Dec 28, 2022
Face-Recognition-based-Attendance-System - An implementation of Attendance System in python.

Face-Recognition-based-Attendance-System A real time implementation of Attendance System in python. Pre-requisites To understand the implentation of F

Muhammad Zain Ul Haque 1 Dec 31, 2021
TensorFlow ROCm port

Documentation TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries, a

ROCm Software Platform 622 Jan 09, 2023
A tool to prepare websites grabbed with wget for local viewing.

makelocal A tool to prepare websites grabbed with wget for local viewing. exapmples After fetching xkcd.com with: wget -r -no-remove-listing -r -N --p

5 Apr 23, 2022
A developer interface for creating Chat AIs for the Chai app.

ChaiPy A developer interface for creating Chat AIs for the Chai app. Usage Local development A quick start guide is available here, with a minimal exa

Chai 28 Dec 28, 2022
A PyTorch Implementation of SphereFace.

SphereFace A PyTorch Implementation of SphereFace. The code can be trained on CASIA-Webface and the best accuracy on LFW is 99.22%. SphereFace: Deep H

carwin 685 Dec 09, 2022
covid question answering datasets and fine tuned models

Covid-QA Fine tuned models for question answering on Covid-19 data. Hosted Inference This model has been contributed to huggingface.Click here to see

Abhijith Neil Abraham 19 Sep 09, 2021
Official Implementation of Swapping Autoencoder for Deep Image Manipulation (NeurIPS 2020)

Swapping Autoencoder for Deep Image Manipulation Taesung Park, Jun-Yan Zhu, Oliver Wang, Jingwan Lu, Eli Shechtman, Alexei A. Efros, Richard Zhang UC

449 Dec 27, 2022
A Python library for generating new text from existing samples.

ReMarkov is a Python library for generating text from existing samples using Markov chains. You can use it to customize all sorts of writing from birt

8 May 17, 2022
Segmentation and Identification of Vertebrae in CT Scans using CNN, k-means Clustering and k-NN

Segmentation and Identification of Vertebrae in CT Scans using CNN, k-means Clustering and k-NN If you use this code for your research, please cite ou

41 Dec 08, 2022
Sequence to Sequence (seq2seq) Recurrent Neural Network (RNN) for Time Series Forecasting

Sequence to Sequence (seq2seq) Recurrent Neural Network (RNN) for Time Series Forecasting Note: You can find here the accompanying seq2seq RNN forecas

Guillaume Chevalier 1k Dec 25, 2022
A library for using chemistry in your applications

Chemistry in python Resources Used The following items are not made by me! Click the words to go to the original source Periodic Tab Json - Used in -

Tech Penguin 28 Dec 17, 2021
Hybrid Neural Fusion for Full-frame Video Stabilization

FuSta: Hybrid Neural Fusion for Full-frame Video Stabilization Project Page | Video | Paper | Google Colab Setup Setup environment for [Yu and Ramamoo

Yu-Lun Liu 430 Jan 04, 2023
Official PyTorch implementation of StyleGAN3

Modified StyleGAN3 Repo Changes Made tied to python 3.7 syntax .jpgs instead of .pngs for training sample seeds to recreate the 1024 training grid wit

Derrick Schultz (he/him) 83 Dec 15, 2022