Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No module named 'scatter_cuda' #50

Closed
alekseic opened this issue Dec 5, 2018 · 4 comments
Closed

No module named 'scatter_cuda' #50

alekseic opened this issue Dec 5, 2018 · 4 comments

Comments

@alekseic
Copy link

alekseic commented Dec 5, 2018

I proceeded with the installation instructions. And I have Cuda available on my machine.
However, when I run python cora.py, I get the message

File "/home/anaconda/envs/pytorch/lib/python3.6/site-packages/torch_scatter/utils/ext.py", line 5, in
import scatter_cuda
ModuleNotFoundError: No module named 'scatter_cuda'

I tried to clone the scatter module from Github separately, and then run python setup.py install on it, with same results.

I can find the scatter_cuda.py and scatter_cpu.py files inside the "egg" named torch_scatter-1.0.4-py3.6-linux-x86_64.egg, and I also see the corresponding .so files inside that egg. But no such files inside the torch_scatter folder.

@rusty1s
Copy link
Member

rusty1s commented Dec 5, 2018

Can you post the log of the install command:
rm -rf build && python setup.py install

@alekseic
Copy link
Author

alekseic commented Dec 6, 2018

ok, here is goes:

(pytorch) alekseic@DL4:~/pytorch_scatter$ nvcc --version
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61

(pytorch) alekseic@DL4:~/pytorch_scatter$ rm -rf build && python setup.py install
running install
running bdist_egg
running egg_info
writing torch_scatter.egg-info/PKG-INFO
writing dependency_links to torch_scatter.egg-info/dependency_links.txt
writing top-level names to torch_scatter.egg-info/top_level.txt
reading manifest file 'torch_scatter.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'torch_scatter.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/test
copying test/utils.py -> build/lib.linux-x86_64-3.6/test
copying test/init.py -> build/lib.linux-x86_64-3.6/test
copying test/test_forward.py -> build/lib.linux-x86_64-3.6/test
copying test/test_backward.py -> build/lib.linux-x86_64-3.6/test
creating build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/min.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/mul.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/mean.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/init.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/sub.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/div.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/max.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/add.py -> build/lib.linux-x86_64-3.6/torch_scatter
copying torch_scatter/std.py -> build/lib.linux-x86_64-3.6/torch_scatter
creating build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/init.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/ext.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
copying torch_scatter/utils/gen.py -> build/lib.linux-x86_64-3.6/torch_scatter/utils
running build_ext
building 'torch_scatter.scatter_cpu' extension
creating build/temp.linux-x86_64-3.6
creating build/temp.linux-x86_64-3.6/cpu
gcc -pthread -B /home/DML/anaconda/envs/pytorch/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/lib/include -I/home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/lib/include/TH -I/home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/lib/include/THC -I/home/DML/anaconda/envs/pytorch/include/python3.6m -c cpu/scatter.cpp -o build/temp.linux-x86_64-3.6/cpu/scatter.o -Wno-unused-variable -DTORCH_EXTENSION_NAME=scatter_cpu -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
g++ -pthread -shared -B /home/DML/anaconda/envs/pytorch/compiler_compat -L/home/DML/anaconda/envs/pytorch/lib -Wl,-rpath=/home/DML/anaconda/envs/pytorch/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.6/cpu/scatter.o -o build/lib.linux-x86_64-3.6/torch_scatter/scatter_cpu.cpython-36m-x86_64-linux-gnu.so
building 'torch_scatter.scatter_cuda' extension
creating build/temp.linux-x86_64-3.6/cuda
gcc -pthread -B /home/DML/anaconda/envs/pytorch/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/lib/include -I/home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/lib/include/TH -I/home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/home/DML/anaconda/envs/pytorch/include/python3.6m -c cuda/scatter.cpp -o build/temp.linux-x86_64-3.6/cuda/scatter.o -DTORCH_EXTENSION_NAME=scatter_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
/usr/local/cuda/bin/nvcc -I/home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/lib/include -I/home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/lib/include/TH -I/home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/home/DML/anaconda/envs/pytorch/include/python3.6m -c cuda/scatter_kernel.cu -o build/temp.linux-x86_64-3.6/cuda/scatter_kernel.o -DTORCH_EXTENSION_NAME=scatter_cuda -D_GLIBCXX_USE_CXX11_ABI=0 --compiler-options '-fPIC' -std=c++11
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
g++ -pthread -shared -B /home/DML/anaconda/envs/pytorch/compiler_compat -L/home/DML/anaconda/envs/pytorch/lib -Wl,-rpath=/home/DML/anaconda/envs/pytorch/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.6/cuda/scatter.o build/temp.linux-x86_64-3.6/cuda/scatter_kernel.o -L/usr/local/cuda/lib64 -lcudart -o build/lib.linux-x86_64-3.6/torch_scatter/scatter_cuda.cpython-36m-x86_64-linux-gnu.so
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/test
copying build/lib.linux-x86_64-3.6/test/utils.py -> build/bdist.linux-x86_64/egg/test
copying build/lib.linux-x86_64-3.6/test/init.py -> build/bdist.linux-x86_64/egg/test
copying build/lib.linux-x86_64-3.6/test/test_forward.py -> build/bdist.linux-x86_64/egg/test
copying build/lib.linux-x86_64-3.6/test/test_backward.py -> build/bdist.linux-x86_64/egg/test
creating build/bdist.linux-x86_64/egg/torch_scatter
copying build/lib.linux-x86_64-3.6/torch_scatter/min.py -> build/bdist.linux-x86_64/egg/torch_scatter
copying build/lib.linux-x86_64-3.6/torch_scatter/scatter_cpu.cpython-36m-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg/torch_scatter
copying build/lib.linux-x86_64-3.6/torch_scatter/mul.py -> build/bdist.linux-x86_64/egg/torch_scatter
copying build/lib.linux-x86_64-3.6/torch_scatter/mean.py -> build/bdist.linux-x86_64/egg/torch_scatter
copying build/lib.linux-x86_64-3.6/torch_scatter/init.py -> build/bdist.linux-x86_64/egg/torch_scatter
creating build/bdist.linux-x86_64/egg/torch_scatter/utils
copying build/lib.linux-x86_64-3.6/torch_scatter/utils/init.py -> build/bdist.linux-x86_64/egg/torch_scatter/utils
copying build/lib.linux-x86_64-3.6/torch_scatter/utils/ext.py -> build/bdist.linux-x86_64/egg/torch_scatter/utils
copying build/lib.linux-x86_64-3.6/torch_scatter/utils/gen.py -> build/bdist.linux-x86_64/egg/torch_scatter/utils
copying build/lib.linux-x86_64-3.6/torch_scatter/sub.py -> build/bdist.linux-x86_64/egg/torch_scatter
copying build/lib.linux-x86_64-3.6/torch_scatter/scatter_cuda.cpython-36m-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg/torch_scatter
copying build/lib.linux-x86_64-3.6/torch_scatter/div.py -> build/bdist.linux-x86_64/egg/torch_scatter
copying build/lib.linux-x86_64-3.6/torch_scatter/max.py -> build/bdist.linux-x86_64/egg/torch_scatter
copying build/lib.linux-x86_64-3.6/torch_scatter/add.py -> build/bdist.linux-x86_64/egg/torch_scatter
copying build/lib.linux-x86_64-3.6/torch_scatter/std.py -> build/bdist.linux-x86_64/egg/torch_scatter
byte-compiling build/bdist.linux-x86_64/egg/test/utils.py to utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/test/init.py to init.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/test/test_forward.py to test_forward.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/test/test_backward.py to test_backward.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/min.py to min.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/mul.py to mul.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/mean.py to mean.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/init.py to init.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/utils/init.py to init.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/utils/ext.py to ext.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/utils/gen.py to gen.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/sub.py to sub.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/div.py to div.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/max.py to max.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/add.py to add.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/std.py to std.cpython-36.pyc
creating stub loader for torch_scatter/scatter_cpu.cpython-36m-x86_64-linux-gnu.so
creating stub loader for torch_scatter/scatter_cuda.cpython-36m-x86_64-linux-gnu.so
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/scatter_cpu.py to scatter_cpu.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_scatter/scatter_cuda.py to scatter_cuda.cpython-36.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying torch_scatter.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying torch_scatter.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying torch_scatter.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying torch_scatter.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
torch_scatter.pycache.scatter_cpu.cpython-36: module references file
torch_scatter.pycache.scatter_cuda.cpython-36: module references file
creating 'dist/torch_scatter-1.0.4-py3.6-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing torch_scatter-1.0.4-py3.6-linux-x86_64.egg
removing '/home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages/torch_scatter-1.0.4-py3.6-linux-x86_64.egg' (and everything under it)
creating /home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages/torch_scatter-1.0.4-py3.6-linux-x86_64.egg
Extracting torch_scatter-1.0.4-py3.6-linux-x86_64.egg to /home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages
torch-scatter 1.0.4 is already the active version in easy-install.pth

Installed /home/DML/anaconda/envs/pytorch/lib/python3.6/site-packages/torch_scatter-1.0.4-py3.6-linux-x86_64.egg
Processing dependencies for torch-scatter==1.0.4
Finished processing dependencies for torch-scatter==1.0.4

@alekseic
Copy link
Author

alekseic commented Dec 6, 2018

Matthias, I managed to install everything.

It seems that pip install did not work correctly (without any suspicious messages, at least to my newbie eye), and I had to clean all traces of your helper packages in my anaconda site-packages folder - 3 folders by package (the egg, the folder itself and the dist-info), and go over all the necessary packages, clone them from github, and run python setup.py install separately for them.
And now everything works.

I think that the problem was because when I first installed pytorch_geometric, I was also installing CUDA drivers, and there was some mismatch, and so the 'cuda' versions were not created. Afterwards, when I rebooted the system, CUDA became available, but running pip install anew did not result in the creation of _cuda files (namely, scatter_cuda, unique_cuda, basis_cuda and graclus_cuda). Maybe because pip install thought there was nothing new to install. And only after thorough folder cleaning it did realize that the _cuda files need to be generated.

You may disregard all this rationalization, I'm a total newbie in python packages installations.

@rusty1s
Copy link
Member

rusty1s commented Dec 6, 2018

Glad that it‘s now working. It is kinda hard for me to resolve those issues, so thank you for fixing them by yourself.

@rusty1s rusty1s closed this as completed Dec 6, 2018
rusty1s added a commit that referenced this issue Sep 2, 2021
rusty1s added a commit that referenced this issue Sep 3, 2021
* added HGT DBLP example

* typo

* Merge PyG master (#52)

* Adding the Facebok Page-Page dataset

* type hints

* documentation CI

* py 3.8

* fix links

* fix links

* fail on warning

* fail on warning

* fix doc

Co-authored-by: benedekrozemberczki <benedek.rozemberczki@gmail.com>

* revert

* Fix Documentation Rendering (#51)

* fix doc rendering

* fix linting

* retrigger checks

* remove pytorch 1.7.0 legacy code (#50)

* Fix `copy.deepcopy` within lazy `nn.dense.Linear` (#44)

* fix deepcopy within lazy Linear

* fix merge

* assert exception

* example to doc

* resolve conflict

* resolve conflict

* Add Figure and Equation to `to_hetero` docstring (#60)

* add tex

* add svg + docstring

* typo

* added equation

* Message Passing Hooks (#53)

* add hooks

* docstring

* add docstring

* allow modification of inputs/output

* add test for modifying output

* add additional asserts for modifying output test

* Rename `HeteroData.get_edges` and `HeteroData.get_nodes` (#58)

* rename to_edges and to_nodes

* typo

* `HeteroConv` (#64)

* clean heteroconv

* init

* init

* clean up

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* fix documentation

* bipartite function

* fix test CI

* remove pillow version

* clean up for merge

* Merge PyG master (#69)

* renaming: PointConv to PointNetConv

* Fix a broken link in datasets/gdelt.py (#2800)

* fix test

* re-add batching of strings

* add quick start table

* gnn cheatsheet

* remove pillow version

Co-authored-by: Dongkwan Kim <todoaskit@gmail.com>

* re-merge

* add lazy column to GNN cheatsheet (#70)

* `to_hetero_with_bases(model)` (#63)

* update

* fix linting

* basisconv

* add ValueError

* to_hetero_with_bases impl done

* add test

* add comments

* add comments

* docstring

* typo

* update figure

* svg

* typo

* add test

* update

* add rgcn equality test

* typos

* update

* typos

* update figures

* generate new svgs

* fix assignment

* rename

* delete sorted edge types

* rename

* add legend

* fix typo

* Test: Check equal outputs of `to_hetero` and `RGCNConv` (#59)

* check equal output

* add sparsetensor test

* check equal output

* add sparsetensor test

* rename

* linting

* add missing import

* `HeteroData` support for `T.NormalizeFeatures` (#56)

* normalize features

* allow normalization of any feature

* in-place div

* normalize features

* allow normalization of any feature

* in-place div

* fix test

* no need to re-assign

* `HeteroData` support for `T.AddSelfLoops` (#54)

* hetero support for AddSelfLoops

* check for edge_index attribute

* f-string

* retrigger checks

* revert bipartite changes

* hetero support for AddSelfLoops

* check for edge_index attribute

* f-string

* retrigger checks

* revert bipartite changes

* merge master

* merge master

* `HeteroData` support for `T.ToSparseTensor` (#55)

* hetero support for ToSparseTensor

* add test

* customize the attribute of SparseTensor.value

* rework sort_edge_index

* hetero support for ToSparseTensor

* add test

* customize the attribute of SparseTensor.value

* rework sort_edge_index

* linting

* `HeteroData` support for `T.ToUndirected` (#57)

* to_undirected

* revert bipartite changes

* coalesce + undirected enhancement

* merge master

* revert bipartite changes

* coalesce + undirected enhancement

* merge master

* clean up

* new default relation type

* fix tests

* resolve merge conflicts

* resolve merge conflicts 2

* resolve merge conflicts 3

* Merge PyG master (#74)

* renaming: PointConv to PointNetConv

* Fix a broken link in datasets/gdelt.py (#2800)

* fix test

* re-add batching of strings

* add quick start table

* gnn cheatsheet

* remove pillow version

* clean up doc for to_dense_batch

* clean up

* add legend to cheatsheet

* Improve terminology (#2837)

I think the previous version of the document uses the term 'symmetric' incorrectly. A symmetric matrix is a square matrix that is is equal to its transpose (https://en.wikipedia.org/wiki/Symmetric_matrix). However, the text is only talking about the shape of the matrix, not its content. Hence, 'square (matrix)' would be the correct term to use.

* Add batch_size input to to_dense_batch (#2838)

* Add batch_size input to to_dense_batch

* to_dense_batch fix typo in batch_size param use

* add typehints

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* typo

* Added return_attention_weights to TransformerConv. (#2807)

* added return_weights functionality to tranformer

* added return attn weights tests

* flake8

* added typehints

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* MD17 (#2843)

* Added MD17 dataset

* Updated Documentation

* Added link to sGDML website in doc

* fixed typos in doc and made train variable description clearer

* clean up

* fix linting

* fix doc warning

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* update doc

* remove forward doc

* add static graph support info to cheatsheet

* fix num_nodes in case edge_index is empty

* fix math formula

* faster GDC import

* lazy import

* lazy import for datasets

* lazy import for nn

* Sequential jittable + traceable

* typo

* typo

* update doc

Co-authored-by: Dongkwan Kim <todoaskit@gmail.com>
Co-authored-by: Markus <markus.zopf@outlook.com>
Co-authored-by: Jimmie <jimmiebtlr@gmail.com>
Co-authored-by: Jinu Sunil <jinu.sunil@gmail.com>
Co-authored-by: Moritz R Schäfer <moritz.schaefer@protonmail.com>

* re-add

* GraphGym cleaned version (#82)

* GraphGym cleaned version

* remove deepsnap dependency

* fix lint errors, part 1

* fix all lint errors

* fix all lint errors

* fix all lint errors

* apply yapf

* Update .gitignore

* Integrate GraphGym into PyG (#85)

* GraphGym cleaned version

* remove deepsnap dependency

* fix lint errors, part 1

* fix all lint errors

* fix all lint errors

* fix all lint errors

* apply yapf

* Integrate graphgym into pyg, keep user API in project root

* fix merge conflict

* fix lint errors

* Make optional dependencies

* merge LICENSE from GraphGym

* add import

* clean up LICENSE

* fix import

* resolve merge conflicts

* resolve merge conflicts 2

* Merge PyG master (#87)

* renaming: PointConv to PointNetConv

* Fix a broken link in datasets/gdelt.py (#2800)

* fix test

* re-add batching of strings

* add quick start table

* gnn cheatsheet

* remove pillow version

* clean up doc for to_dense_batch

* clean up

* add legend to cheatsheet

* Improve terminology (#2837)

I think the previous version of the document uses the term 'symmetric' incorrectly. A symmetric matrix is a square matrix that is is equal to its transpose (https://en.wikipedia.org/wiki/Symmetric_matrix). However, the text is only talking about the shape of the matrix, not its content. Hence, 'square (matrix)' would be the correct term to use.

* Add batch_size input to to_dense_batch (#2838)

* Add batch_size input to to_dense_batch

* to_dense_batch fix typo in batch_size param use

* add typehints

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* typo

* Added return_attention_weights to TransformerConv. (#2807)

* added return_weights functionality to tranformer

* added return attn weights tests

* flake8

* added typehints

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* MD17 (#2843)

* Added MD17 dataset

* Updated Documentation

* Added link to sGDML website in doc

* fixed typos in doc and made train variable description clearer

* clean up

* fix linting

* fix doc warning

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* update doc

* remove forward doc

* add static graph support info to cheatsheet

* fix num_nodes in case edge_index is empty

* fix math formula

* faster GDC import

* lazy import

* lazy import for datasets

* lazy import for nn

* Sequential jittable + traceable

* typo

* typo

* update doc

* Simple models (#2869)

* Inclusion of new backbone models

* Eliminating head from asap.py

* small correction

* Create test_gcn.py

* Update __init__.py

* Update test_gcn.py

* Left only the convolutional simple models

* Tests included

* update

* clean up

* clean up v2

* fix activation

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* Example for MemPooling. (#2729)

* example for mem pooling

* backprop on kl loss is done at the end of an epoch. Keys in memory layers are trained only on kl loss.

* added learning rate decay. Using PROTIENS_full

* flake8

* reduced lr. increased weight decay

* changed download location

* added comments

* clean up

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* typos

* fix removeisolatednodes transform in case 'data.num_nodes' is present

* fix XConv with dilation > 1

* fix XConv with dilation > 1

* rgcn link prediction  (#2734)

* implemented LinkPrediction dataset for loading FB15k237

* implemented evaluation for relational link prediction

* implemented R-GCNConf link prediction example

* fixed bug: wrong initial objects in negative_sampling

* changed file downloader urllib.request.urlretrieve  to pytorch.data.download_url; renamed LinkPrediction class to RelationalLinkPredictionDataset

* update dataset

* update example script

* rename

Co-authored-by: Moritz <moritzblum>
Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* fix gnnexplainer draw kwargs

* remove python-louvain dependency

* allow customization of output in MP jit mode

* fix test for py3.6

* changed normalisation to same norm from instance norm to be robust to small var (#2917)

* add CITATION.cff

* format

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* add basetransform ABC (#2924)

* clean up BaseTransform

* clean up GATConv and add comments

* add max_num_neighbors as an additional argument

* fix jit GATConv on PyTorch 1.8.0

* fix doc

* fix gnn explainer with existing self-loops

* Rgcn link pred fix (#2946)

* added regularization, removed typo in test

* clean up

Co-authored-by: Moritz <moritzblum>
Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* typo

* Correct gini coefficient mathcal formula (#2932)

* typo

* typo

* Update from_networkx (#2923)

* Update from_networkx

* Update test

* Update convert.py

* Minor corrections

* Update test_convert.py

* Corrections

* Update test_convert.py

* Case where there are no edges

* Correcting how edge_attr are concatenated

* clean up + new test

* remove unused code

* add union type

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* fix deterministic ordering in from_networkx

* recursive-include *.jinja files

Co-authored-by: Dongkwan Kim <todoaskit@gmail.com>
Co-authored-by: Markus <markus.zopf@outlook.com>
Co-authored-by: Jimmie <jimmiebtlr@gmail.com>
Co-authored-by: Jinu Sunil <jinu.sunil@gmail.com>
Co-authored-by: Moritz R Schäfer <moritz.schaefer@protonmail.com>
Co-authored-by: PabloAMC <pmorenocf@alumnos.unex.es>
Co-authored-by: Moritz Blum <31183934+moritzblum@users.noreply.github.com>
Co-authored-by: fbragman <fbragman@users.noreply.github.com>
Co-authored-by: Christopher Lee <2824685+CCInc@users.noreply.github.com>
Co-authored-by: Tim Daubenschütz <tim@daubenschuetz.de>

* resolve merge conflicts 3

* resolve merge conflicts 4

* Implementation of the `HGTLoader` + `ogbn-mag` example (#73)

* first try

* update

* HGT Loader

* typo

* first try

* update

* HGT Loader

* typo

* bugfixes

* lazy GATConv

* bugfix

* bugfix

* full working pipeline

* update

* rename

* docstring

* typos

* update

* typo

* typo

* typo

* added comments

* add test

* add tests

* fix example

* rename

* linting

* Random split functionalities (#72)

* link split

* create split

* example tests

* link split tests

* fix linting

* update docstring

* undirected option, refactor and docs

* add num nodes as argument to neg sampling

* clean up + remove single object

* update example

* typo

* fix compose

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* add basetransform

* typo

* typo

* fix test

* Improve `torch_geometric.data` Documentation (#98)

* update data doc

* typo

* typo

* note

* typo

* add docstring

* only show inherited members for data and hetero_data

* documentation update for batch and dataset

* update doc

* update

* fix

* record_stream

* update

* typo

* add/fix data functionality

* linting

* typo

* `_parent` memory leak fix (#103)

* memory leak fix

* Clean up

* clean up

* bugfix tests

* typos

* fix test

* fix test

* rename reverse

* (Heterogeneous) `NeighborLoader` (#92)

* initial commit

* typo

* neighbor loader functionality + tests

* docstring

* fix docstring

* skip tests

* fix share_memory_

* typo

* typo

* update example

* typo

* share_strategy

* fix cuda calls

* better print

* fix size

* fix print

* final commit

* fix

* some todos

* preprocessed features

* fix to_undirected

* more documentation

* update doc

* fix doc

* fix doc

* Add benchmark code and the example with existing graph classification examples (#93)

* add benchmarking utilities

* update graph classification benchmark

* improve code style

* add pytorch-memlab for benchmark code

* skip some tests when cuda is not available

* add type hint when appropriate

* add seed_everything to improve code

* code refactoring

* code refactoring

* code refactoring

* code improvement

* remove unnecessary dataloader import

* change benchmark interface with decorator

* documentation improvement

* linting

* linting part 2

* linting part 3

* seed_everything

* create utils file

* update

* use utils functions

* fix test

* update the profiler to the latest torch (1.8.1+)

* refactor profiler and add more documentation

* refactor profiler and add more documentation

* resolve lint errors

* resolve lint errors

* update

* clean up test and profile

* fix linting

* add to doc

* fix doc

* typo

* update benchmark

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* Move `HGTLoader` to `torch_geometric.loader` + clean up (#104)

* move files

* use utils functions

* fix example

* update

* fix tests

* fix seed

* fix linear test

* rename

* Support GraphGym custom modules outside PyG package (#102)

* GraphGym cleaned version

* remove deepsnap dependency

* fix lint errors, part 1

* fix all lint errors

* fix all lint errors

* fix all lint errors

* apply yapf

* Integrate graphgym into pyg, keep user API in project root

* fix merge conflict

* fix lint errors

* Make optional dependencies

* merge LICENSE from GraphGym

* Enable adding GraphGym customized modules outside PyG package

* lint

* Rename `AddTrainValTestMask` to `RandomNodeSplit` (#108)

* initial commit

* rename example

* remove AddTrainValTestMask

* fix linting

* create optimizer config and scheduler config separately (#113)

* create optimizer config and scheduler config separately

* fix format

* import explicitly

Co-authored-by: Dong Wang <dongwang@yannis-air.lan>

* Heterogeneous Graph Tutorial (#83)

* add HG tutorial roadmap

* started working on hg tutorial

* hg_tutorial, some text and .tex figure

* added svg

* hg tutorial content

* fix CI

* text and structure

* finished first draft

* fixed one code example

* fixing conventions

* fixing links

* update svg

* some smaller improvements of tutorial

* improvements on tutorial

* hg-tutorial: fixed compiling issue, added detailed content

* added absolute links

* fixed warnings

* streamlined dataset section

* update svg

* update tutorial

* update 2

Co-authored-by: Jan Eric Lenssen <janeric.lenssen@tu-dortmund.de>

* typo

* Move data loaders to `torch_geometric.loader` (#110)

* move graphsaint

* deprecations

* move clusterloader

* deprecations

* type hints

* move shadow

* typo

* typo

* move datalistloader

* dense data loader

* random node sampler

* fix doc

* Lazy GNN operators (#89)

* lazy cheb conv

* lazy GraphConv

* lazy GATv2Conv

* lazy TAGConv

* lazy FAConv

* lazy FeaStConv

* lazy NNConv

* typo

* fix tests

* lazy SuperGATConv

* lazy SuperGATConv fix

* lazy SplineConv

* fix lazy check

* lazy GravNetConv

* arma conv lazy

* dense linear in gmmconv

* typo

* add test

* lazy GMMConv

* doc

* rename (#116)

* Revisit `MetaPath2Vec` (#114)

* revisit metapath2vec

* update

* typo

* update

* fix doc

* update

* check for attributes rather than key

* Clean up `torch_geometric.profile` further (#111)

* remove print_layer_stats

* typos

* update

* readme highlights and quick tour (#99)

* readme highlights and quick tour

* arch

* arch image

* arch overview

* list categories

* categorization

* category description

* Update README.md

from Matthias

Co-authored-by: Matthias Fey <matthias.fey@tu-dortmund.de>

* improved highlights

* Update README.md

Co-authored-by: Matthias Fey <matthias.fey@tu-dortmund.de>

* Update README.md

Co-authored-by: Matthias Fey <matthias.fey@tu-dortmund.de>

* Update README.md

Co-authored-by: Matthias Fey <matthias.fey@tu-dortmund.de>

* Update README.md

Co-authored-by: Matthias Fey <matthias.fey@tu-dortmund.de>

* minor

* update readme

* update

* update

* update

* update

* fix url

* update

* update

* update

* update

* update

* update

* move ops

* toc

* typo

* typo

* add svgs

* update figure

* fix links

* fix size

* fix size

* typo

Co-authored-by: Matthias Fey <matthias.fey@tu-dortmund.de>

* fix broken links

* fix links

* Heterogeneous Graph Sampler Tutorial (#117)

* initial commit

* address comments

* remove todo

* typo

* Conversion between heterogenous and homogeneous graph objects (#115)

* temp checkpoint (wip, will remove)

* (wip) typed graph conversion

* (wip) typed graph conversion

* (wip) typed graph conversion

* update

* typo

* delete examples

Co-authored-by: rusty1s <matthias.fey@tu-dortmund.de>

* fix test

* update doc

* deprecate NeighborSampler (#119)

* Move `torch_geometric.data.DataLoader` to `torch_geometric.loader.DataLoader` (#120)

* move dataloader

* rename

* typos

* typos

* fix __cat_dim__

* updategp

* Deprecate `train_test_split_edges` + Modifications to `RandomLinkSplit` (#121)

* deprecate train_test_split_edges

* to device transform

* fix example

* add split_labels argument

* fix autoencoder example

* typos

* add docstring

* ARGVA

* seal

* adress comments

* Create example to load `*.csv` and transfer to `HeteroData` (#76)

* create example to load csv file and transfer to heter-data

* add ipython notebook version load csv with documentation

* address comment

* first version of csv loading doc

* first version of csv loading doc

* suggestion docs/source/notes/loading_csv.rst

Co-authored-by: Matthias Fey <matthias.fey@tu-dortmund.de>

* suggestion docs/source/notes/loading_csv.rst

Co-authored-by: Matthias Fey <matthias.fey@tu-dortmund.de>

* suggestion docs/source/notes/loading_csv.rst

Co-authored-by: Matthias Fey <matthias.fey@tu-dortmund.de>

* suggestion docs/source/notes/loading_csv.rst

Co-authored-by: Matthias Fey <matthias.fey@tu-dortmund.de>

* suggestions csv tutorial

* example script load csv + extract fix

* fixed edge index stacking dimension in example and jupyter nb

* linting

* linting2

* rename

* update

* update

* update

* typo

* typo

* update

* rename

* update tutorial

* typo

* address comments

Co-authored-by: Dong Wang <dongwang@yannis-air.lan>
Co-authored-by: Jan Eric Lenssen <janeric.lenssen@tu-dortmund.de>
Co-authored-by: Matthias Fey <matthias.fey@tu-dortmund.de>

* typo

* fix

* typo

* update

* fix

* fix

Co-authored-by: benedekrozemberczki <benedek.rozemberczki@gmail.com>
Co-authored-by: Rex Ying <rexying@stanford.edu>
Co-authored-by: Dongkwan Kim <todoaskit@gmail.com>
Co-authored-by: Markus <markus.zopf@outlook.com>
Co-authored-by: Jimmie <jimmiebtlr@gmail.com>
Co-authored-by: Jinu Sunil <jinu.sunil@gmail.com>
Co-authored-by: Moritz R Schäfer <moritz.schaefer@protonmail.com>
Co-authored-by: Jiaxuan <youjiaxuan@gmail.com>
Co-authored-by: PabloAMC <pmorenocf@alumnos.unex.es>
Co-authored-by: Moritz Blum <31183934+moritzblum@users.noreply.github.com>
Co-authored-by: fbragman <fbragman@users.noreply.github.com>
Co-authored-by: Christopher Lee <2824685+CCInc@users.noreply.github.com>
Co-authored-by: Tim Daubenschütz <tim@daubenschuetz.de>
Co-authored-by: Yue Zhao <yzhao062@gmail.com>
Co-authored-by: Dong Wang <dongw89@gmail.com>
Co-authored-by: Dong Wang <dongwang@yannis-air.lan>
Co-authored-by: Jan Eric Lenssen <janeric.lenssen@tu-dortmund.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants