* add a learned laplacian positional encoder
* leverage black to beautify the python code
* refine according to dongyu's comments
Co-authored-by: rudongyu <ru_dongyu@outlook.com>
* [Model] Heterogeneous graph support for GNNExplainer (#1)
* add HeteroGNNExplainer
* GNNExplainer for heterogeenous graph
* fix typo
* variable name cleanup
* added HeteroGNNExplainer test
* added doc indexing for HeteroGNNExplainer
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/explain/gnnexplainer.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update gnnexplainer.py
Change DGLHeteroGraph to DGLGraph, and specified parameter inputs
* Added ntype parameter to the explainer_node call
* responding to @mufeili's comment regarding restoring empty lines at appriopiate places to be consistent with existing practices
* responding to @mufeili's comment regarding restoring empty lines at appriopiate places that were missed in the last commit
* docstring comments added based on @mufeili suggestions
* indorporated @mufeili requested changes related to docstring model declaration.
* example model and test_nn.py added for explain_graphs
* explain_nodes fixed and fixed the way hetero num nodes and edges are handled
* white spaces removed
* lint issues fixed
* explain_graph model updated
* explain nodes model updated
* minor fixes related to gpu compatability
* cuda support added
* simplify WIP
* _init_masks for ennexplainer updated to match heterographs
* Update
* model simplified and docstring comments updated
* nits: docstring udpated
* lint check issues updated
* lint check updated
* soem formatting updated
* disabling int32 testing for GNNExplainer
* Update
Co-authored-by: Kangkook Jee <kangkook.jee@gmail.com>
Co-authored-by: ahadjawaid <94938815+ahadjawaid@users.noreply.github.com>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
Co-authored-by: kxm180046 <kxm180046@utdallas.edu>
Co-authored-by: Kunal Mukherjee <kunmukh@gmail.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-9-26.ap-northeast-1.compute.internal>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
* * Added "exclude_self" and "output_batch" options to knn_graph and segmented_knn_graph
* Updated out-of-date comments on remove_edges and remove_self_loop, since they now preserve batch information
* * Changed defaults on new knn_graph and segmented_knn_graph function parameters, for compatibility; pytorch/test_geometry.py was failing
* * Added test to ensure dgl.remove_self_loop function correctly updates batch information
* * Added new knn_graph and segmented_knn_graph parameters to dgl.nn.KNNGraph and dgl.nn.SegmentedKNNGraph
* * Formatting
* * Oops, I missed the one in segmented_knn_graph when I fixed the similar thing in knn_graph
* * Fixed edge case handling when invalid k specified, since it still needs to be handled consistently for tests to pass
* Fixed context of batch info, since it must match the context of the input position data for remove_self_loop to succeed
* * Fixed batch info resulting from knn_graph when output_batch is true, for case of 3D input tensor, representing multiple segments
* * Added testing of new exclude_self and output_batch parameters on knn_graph and segmented_knn_graph, and their wrappers, KNNGraph and SegmentedKNNGraph, into the test_knn_cuda test
* * Added doc comments for new parameters
* * Added correct handling for uncommon case of k or more coincident points when excluding self edges in knn_graph and segmented_knn_graph
* Added test cases for more than k coincident points
* * Updated doc comments for output_batch parameters for clarity
* * Linter formatting fixes
* * Extracted out common function for test_knn_cpu and test_knn_cuda, to add the new test cases to test_knn_cpu
* * Rewording in doc comments
* * Removed output_batch parameter from knn_graph and segmented_knn_graph, in favour of always setting the batch information, except in knn_graph if x is a 2D tensor
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
* rgcn-ogbn-mag
* Add link in README.md
* correct code-format,add the reset_parameters function to the HeteroEmbedding module
* add the annotation in hetero.py
* add a unit test
* modify format
* Update
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-50-143.us-west-2.compute.internal>
* WIP: TypedLinear and new RelGraphConv
* wip
* further simplify RGCN
* a bunch of tweak for performance; add basic cpu support
* update on segmm
* wip: segment.cu
* new backward kernel works
* fix a bunch of bugs in kernel; leave idx_a for future
* add nn test for typed_linear
* rgcn nn test
* bugfix in corner case; update RGCN README
* doc
* fix cpp lint
* fix lint
* fix ut
* wip: hgtconv; presorted flag for rgcn
* hgt code and ut; WIP: some fix on reorder graph
* better typed linear init
* fix ut
* fix lint; add docstring
* Fix ref to message-passing guide
* Fix pygments and spacing
* Update build documentation steps in README.md
* Use links
* Adjust parameters in SAGEConv docstring in same order as init
* Fix spelling error
* Change doc link
* Added activation function as an optional parameter
* lint fixes
* Modified the input parameters in tandem with other classes
* lint corrections
* corrected tests
* Reverting back to the old interface
* lint corrections
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>