Giter Site home page Giter Site logo

graph-machine-learning-group / grin Goto Github PK

View Code? Open in Web Editor NEW
133.0 3.0 26.0 288 KB

Official repository for the paper "Filling the G_ap_s: Multivariate Time Series Imputation by Graph Neural Networks" (ICLR 2022)

Home Page: https://arxiv.org/abs/2108.00298

Python 100.00%
graph-machine-learning multivariate-timeseries-analysis imputation spatiotemporal-data-analysis machine-learning

grin's People

Contributors

andreacini avatar marshka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

grin's Issues

dataset

I met some problems when I click the link to download the datasets. I cannot open the download page by clicking the link.

Hope to get some help!

installing dependencies is not working with current requirements.txt

I tried installing depedencies with the current requirements.txt.
I ran this on windows 10 and python 3.8.

But pip couldn't find appopriate versions of needed modules.

My error is like the followings


ERROR: Cannot install -r requirements.txt (line 4), scikit-learn~=0.24.2, torchmetrics~=0.5.1 and torch~=1.8.1 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested torchmetrics~=0.5.1
    pytorch-lightning 1.2.10 depends on torchmetrics==0.2.0
    The user requested torchmetrics~=0.5.1
    pytorch-lightning 1.2.9 depends on torchmetrics==0.2.0
    The user requested torch~=1.8.1
    pytorch-lightning 1.0.5 depends on torch<1.8 and >=1.3
    pytorch-lightning 0.6.0 depends on torchvision<0.5 and >=0.4.0
    pytorch-lightning 0.5.3.3 depends on torchvision<0.5 and >=0.4.0
    The user requested scikit-learn~=0.24.2
    pytorch-lightning 0.5.3.2 depends on scikit-learn==0.20.2
    The user requested scikit-learn~=0.24.2
    pytorch-lightning 0.5.3.1 depends on scikit-learn==0.20.2
    The user requested scikit-learn~=0.24.2
    pytorch-lightning 0.5.3 depends on scikit-learn==0.20.2
    The user requested torch~=1.8.1
    pytorch-lightning 0.5.0 depends on torch==1.2.0
    The user requested torch~=1.8.1
    pytorch-lightning 0.4.9 depends on torch==1.2.0
    The user requested torch~=1.8.1
    pytorch-lightning 0.4.8 depends on torch==1.2.0
    The user requested torch~=1.8.1
    pytorch-lightning 0.4.7 depends on torch==1.2.0
    The user requested torch~=1.8.1
    pytorch-lightning 0.4.6 depends on torch==1.2.0
    The user requested torch~=1.8.1
    pytorch-lightning 0.4.5 depends on torch==1.2.0
    The user requested torch~=1.8.1
    pytorch-lightning 0.4.4 depends on torch==1.2.0
    The user requested torch~=1.8.1
    pytorch-lightning 0.4.3 depends on torch==1.2.0
    The user requested torch~=1.8.1
    pytorch-lightning 0.4.2 depends on torch==1.2.0
    The user requested torch~=1.8.1
    pytorch-lightning 0.4.1 depends on torch==1.1.0
    pytorch-lightning 0.2.2 depends on test-tube>=0.653
    pytorch-lightning 0.2 depends on test-tube>=0.653

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
(grin) C:\Users\verys\PycharmProjects\grin>pip install pytorch_lightning
Collecting pytorch_lightning
  Using cached pytorch_lightning-1.5.10-py3-none-any.whl (527 kB)
Collecting setuptools==59.5.0
  Using cached setuptools-59.5.0-py3-none-any.whl (952 kB)
Collecting future>=0.17.1
  Using cached future-0.18.2.tar.gz (829 kB)
Collecting packaging>=17.0
  Using cached packaging-21.3-py3-none-any.whl (40 kB)
Collecting pyDeprecate==0.3.1
  Using cached pyDeprecate-0.3.1-py3-none-any.whl (10 kB)
Requirement already satisfied: typing-extensions in c:\users\verys\anaconda3\envs\grin\lib\site-packages (from pytorch_lightning) (3.10.0.2)
Collecting fsspec[http]!=2021.06.0,>=2021.05.0
  Using cached fsspec-2022.2.0-py3-none-any.whl (134 kB)
Collecting torchmetrics>=0.4.1
  Using cached torchmetrics-0.7.2-py3-none-any.whl (397 kB)
Requirement already satisfied: tensorboard>=2.2.0 in c:\users\verys\anaconda3\envs\grin\lib\site-packages (from pytorch_light

Question about the updated version

Hi authors, thank you for releasing the open-source code of GRIN, which is a great work. However, when I adjust two operations in the code, the performance of the model get extremely worse. Would you mind helping me figure out the reason of this phenomenon? The details of revised operations are summarized as follows:

  1. replace the code " out = self.graph_conv(x_in, adj)" in lines 43 of file "https://github.com/Graph-Machine-Learning-Group/grin/blob/main/lib/nn/layers/gril.py" with "out = x_in"
  2. replace the code " x_s = torch.where(m_s, x_s, xs_hat_1) " in lines 152 of file " https://github.com/Graph-Machine-Learning-Group/grin/blob/main/lib/nn/layers/gril.py" with "x_s = x_s". That is, comment out this line of code.

If the above two operations are adopted, the performance will get extremely worse; If only the one operation is adopted, the performance will get slightly worse. Then, can you explain the reason of these phenomenon?

By the way, the experiment is tested with setting: "python ./scripts/run_imputation.py --config config/grin/la_point.yaml"

Code for baseline

Dear authors,

Could you please release the code for Mean, KNN, MF, MICE? Because I want to apply all methods to a new dataset.

Thank you in advance.

No module named 'lib'

Hi,

I was trying to run python ./scripts/run_imputation.py --config config/grin/air36.yaml --in-sample False but I received the following error.
Traceback (most recent call last): File "./scripts/run_imputation.py", line 16, in <module> from lib import fillers, datasets, config ModuleNotFoundError: No module named 'lib'

Is there an easy way to fix this?

Thank you very much!

speed of training

Hi,

First of all, nice work! I am trying to figure out more what you did, so I want to run the experiments myself.
However, I am not that familiar with Pytorch.
I got it running, but my time per epoch is around 1:10 minutes.
Is this comparable to yours? Because otherwise there is something wrong with my GPU (or something else).
It would be great to know because if 300 epochs have to be performed (as is done in your code), it would take around 6 hours to run:

python -m scripts.run_imputation --config config/grin/air36.yaml --in-sample False

Thanks in advance!

6500 sensors

Hello,
Thanks for providing this code.
Can this model scale to a system with 6500 time series?

Testing GRIN on a new dataset

Hello,
Thanks for sharing the code for the paper. I would like to test GRIN for imputation on my own dataset. The dataset is presented in a csv file and I create the mask that simulates the missing data using a random function. Can you indicate to me how to proceed to include my own dataset? Thanks in advance.

Version of pytorch_lightning

Hi,

Could you please tell me the version of pytorch_lightning you used? Because I meet some conflicts when running the code.

Thanks in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.