* add CuGraphGATConv model
* lintrunner
* update model to reflect changes in make_mfg_csr(), move max_in_degree to forward()
* simplify pytest markers
* fall back to FG option for large fanout
* update error msg
* add feat_drop and activation options
* add residual option
* Update python/dgl/nn/pytorch/conv/cugraph_gatconv.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update python/dgl/nn/pytorch/conv/cugraph_gatconv.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* reset res_fc
---------
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* subgraphx commit
* nits
* newline eof added
* lint fix
* test script updated to use default values
* lint fix
* graphs that are used for test cases are updated to a small graph
* lint formatted
* test paramter adj to complete the test under 20s
* lint fixes
---------
Co-authored-by: kxm180046 <kxm180046@utdallas.edu>
* update cugraph_relgraphconv
* update equality test
* update cugraph rgcn example
* update RelGraphConvAgg based on latest API changes
* enable fallback option to fg when fanout is large
---------
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
Some weird formatting occurred in the documentation for EGATConv, so this quick commit should fix that.
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* [BugFix] fix unexpected exception when agg_type is GCN and bias is disabled
* Update sageconv.py
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
* Add SpatialEncoder and SpatialEncoder3d
* Optimize the code execution efficiency
* Fixed certain problems according to Dongyu's suggestions.
* Fix an error about probability of division by zero in PathEcoder; Change certain designs in SpatialEncoder
* Fix a typo
* polish the docstring
* fix doc
* lint
Co-authored-by: Ubuntu <ubuntu@ip-172-31-14-146.ap-northeast-1.compute.internal>
Co-authored-by: rudongyu <ru_dongyu@outlook.com>
* Add GraphTransformerLayer (dense)
* beautify the python code with black
* refine according to mufei's comments
* fix AttributeError in unit test
* rename module as GraphormerLayer
* fix name issue
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* update agg function with new bindings
* handle optional import in __init__
* raise error in RelGraphConvAgg when pylibcugraphops not imported
* Update tests/cugraph/cugraph-ops/test_cugraph_relgraphconv.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Update tests/cugraph/cugraph-ops/test_cugraph_relgraphconv.py
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* use keyword args for readability
* add missing docstring to pass CI
* catch ImportError rather than ModuleNotFoundError
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* Add PathEncoder to transformer.py
* add blank line at the and
* rename variabl sp to shortest_path
* Fixed corresponding problems
* Fixed certain bugs when running on CUDA
* changed clamp min from 0 to 1
Co-authored-by: Ubuntu <ubuntu@ip-172-31-14-146.ap-northeast-1.compute.internal>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
* 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>