文件历史

260 次代码提交

作者 SHA1 备注 提交日期
Quan (Andy) Gan 3b0c0cec46 enable sparse on windows and mac (#5277)
* enable sparse on windows and mac

* that was stupid

* let's see what's going on..

* [Sparse] Fix the import error on Mac OS.

When using template functions that are defined in source files from DGL,
the loader of MacOS somehow cannot find their definitions. This fix simply
avoids depending on template functions from DGL headers.

With this fix, the sparse tests all pass on the MAC environment.

* ok this is the problem

* make errors clearer

* uh

* test

* Update __init__.py

* disabling ddp on windows

---------

Co-authored-by: czkkkkkk <zekucai@gmail.com>
2023-02-15 16:08:20 +08:00
Quan (Andy) Gan 27010dbc55 [Sparse] Sparse matrix subtraction (#5164)
* use NotImplemented

* format

* sparse sub

* address comments

* lint

* Update elementwise_op_diag.py

* ugh

Co-authored-by: Rhett Ying <85214957+Rhett-Ying@users.noreply.github.com>
2023-01-16 11:37:42 +08:00
Quan (Andy) Gan acc567aa08 [Sparse] Support sparse matrix dividing scalar (#5173)
* use NotImplemented

* format

* extend to pytorch scalar

* sparse div scalar

* oops

* Apply suggestions from code review

Co-authored-by: Mufei Li <mufeili1996@gmail.com>

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2023-01-13 22:54:58 +08:00
czkkkkkk b5c5c860f6 [Sparse] Refactor matmul interface. (#5162)
* [Sparse] Refactor matmul interface.

* Update
2023-01-13 20:08:40 +08:00
Hongzhi (Steve), Chen 9334421d2b [Sparse] Rename as_sparse to to_sparse, dense to to_dense. (#5170)
* as_sp_to_sp

* dense

* revert_mock

* test

* revert

Co-authored-by: Steve <ubuntu@ip-172-31-34-29.ap-northeast-1.compute.internal>
2023-01-13 17:03:20 +08:00
Quan (Andy) Gan 5f5db2dfc7 [Sparse] Make functions compatible with PyTorch scalar tensors (#5163)
* use NotImplemented

* format

* extend to pytorch scalar

* reformat

* reformat

* lint
2023-01-13 14:00:52 +08:00
Quan (Andy) Gan 8abf9d54e3 [Sparse] Use NotImplemented to let Python dispatch types (#5160)
* use NotImplemented

* add TypeError tests

* format

* lint

* fix type

* fix docstring

* lint

* remove redundant condition
2023-01-12 21:12:29 +08:00
czkkkkkk bff32a0986 [Sparse] Use efficient implementation for Diag @ Sparse and Sparse @ Diag. (#5147) 2023-01-12 11:53:46 +08:00
Quan (Andy) Gan 580c702417 [DataLoader] Allow batch_size=None for GraphDataLoader (#4483)
* overwrite default_collate_fn

* Update dataloader.py

* Update dataloader.py

* Update dataloader.py

* Update dataloader.py

* Update test_dataloader.py

* revert the test code being reverted in #4956
2023-01-09 00:44:46 +08:00
peizhou001 56ffb650fe [API Deprecation]Deprecate contrib module (#5114) 2023-01-06 20:16:01 +08:00
Mufei Li c8bc558880 [Sparse] Remove SparseMatrix.indices and add device/dtype conversions (#5108)
* Update

* Update

* Update

* lint

* lint

* Update

* CI

* Update diag_matrix.py

* Update sparse_matrix.py

* Update sparse_matrix.py

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
Co-authored-by: Hongzhi (Steve), Chen <chenhongzhi.nkcs@gmail.com>
2023-01-06 17:37:13 +08:00
peizhou001 c55ab2d147 deprecate candidates in dataloader (#5117) 2023-01-06 16:18:32 +08:00
peizhou001 3a2a5031e9 [API Deprecation]Deprecate candidates in dgl.distributed (#5116) 2023-01-06 16:17:44 +08:00
Mufei Li 9169fc3541 [Sparse] Polish sparse matrix creation functions (#5093)
* update

* Update

* Update

* Update

* Update

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2023-01-03 22:59:57 +08:00
czkkkkkk 0698e91a0e [Sparse] Use Pytorch dense computation in SpMM tests (#5096) 2023-01-03 22:26:06 +08:00
ZhenyuLU_Heliodore cd817a1a00 [NN] Add SpatialEncoder and SpatialEncoder3d (#4991)
* 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>
2023-01-03 14:02:14 +08:00
Mufei Li 37bd092587 [Sparse] Namespace migration and doc update (#5088)
* update

* lint

* lint

* comments

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-29 20:34:29 +08:00
Minjie Wang 255ad1b35b [Sparse] New print for SparseMatrix and DiagMatrix (#5085)
* new print func

* lintrunner
2022-12-29 15:38:10 +08:00
Minjie Wang 025e43210f [Sparse] Add tests for sparse examples; Migrate from mock_sparse to mock_sparse2 (#5073)
* pass gcn

* example tests

* pass gcnii, hgnn, sgc, sign

* black

* test file

* add torchmetrics

* migrate appnp, c_and_s, twirls

* fix style

* minor fix

* fix hypergraphatt and twirls

* pass gat

* fix torchmetric

* lintrunner

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-12-29 08:55:25 +08:00
czkkkkkk 14429df661 [Sparse] Support BSpMM and BSDDMM (#5079)
* [Sparse] Support BSpMM and BSDDMM

* Update SpMM and SDDMM error messages

* Use TORCH_CHECK

* Update error string
2022-12-28 17:14:12 +08:00
Minjie Wang fa5ff2fceb [Sparse] Add coalesce and has_duplicate to SparseMatrix (#5071)
* add coalesce() and has_duplicate()

* Add duplicate check in spspmm

* black

* fix

* clang-format

* lintrunner

* minor fix

* fix
2022-12-28 13:10:10 +08:00
Mufei Li 8c3e7830dc [Sparse] Elementwise multiplication of a SparseMatrix object by a scalar (#5076)
Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-28 09:37:44 +08:00
Mufei Li 0f1bcd9927 [Sparse] Softmax based on Reduction and BroadcastOp (#5067)
* Update

* update

* Update

* Update

* Update

* format

* Update

* lint

* Update

* lint

* CI

* CI

* Update

* address comments

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-27 14:50:15 +08:00
czkkkkkk 0159c3c11d [Sparse] Add SpSpMM for sparse-sparse and sparse-diag matrix multiplication. (#5050)
* [Sparse] Add SpSpMM

* Update matmul interface

* address comments

* fix test utils to generate only coalesced matrices

* fix linter

* fix ut

* fix

* rm print

Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2022-12-24 15:31:09 +08:00
Quan (Andy) Gan f0ce2bea22 [Sparse] Sparse matrix reduction Python part (#5013)
* initial commit

* lint

* rename

* address comments

* add doctests

* address comments

* remove additional test

* add description

* lint

* lint

* lint

* Update test_reduction.py

Co-authored-by: Hongzhi (Steve), Chen <chenhongzhi.nkcs@gmail.com>
2022-12-22 16:49:29 +08:00
czkkkkkk 56ce60b061 [Sparse] Fix SpMM and SDDMM test precision problem (#5060) 2022-12-21 18:02:29 +08:00
czkkkkkk 1f2fcae3e2 [Sparse] Support SpMM and SDDMM (#5032)
* [Sparse] Support SpMM and SDDMM

* Add SDDMMAutoGrad

* Rename SpMMImpl and SDDMMImpl and move them to dgl_sparse/src/matmul.h

* Update comments

* Update

* Minor fix
2022-12-21 10:29:23 +08:00
Mufei Li 11e6190579 [Sparse] Add Two Sparse Matrices with Different Sparsity, DiagMatrix.dense, Add SparseMatrix and DiagMatrix (#5044)
* Update

* undo wrong edit

* lint

* fix import

* Update

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-20 20:15:37 +08:00
Mufei Li 354a211038 [Sparse] Elementwise ops for DiagMatrix and Elementwise Power for SparseMatrix (#5024)
* Update

* Update

* lint

* CI

* Update

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-15 08:33:51 +08:00
czkkkkkk d02e560e07 Revert "[Sparse] Add SpMM and SDDMM." (#5014)
* Revert "[Sparse] Add SpMM and SDDMM. (#4999)"

This reverts commit 15365d7855.

* lint
2022-12-12 19:37:08 +08:00
czkkkkkk 15365d7855 [Sparse] Add SpMM and SDDMM. (#4999)
* [Sparse] Add SpMM and SDDMM

* Update

* Add CSR and CSC SpMM tests
2022-12-12 15:37:09 +08:00
Mufei Li e01580d3b9 [Sparse] Misc fix for existing elementwise ops (#5003)
* Update

* Update

* Update

* Update

* update

* lint

* CI

* CI

* CI

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-09 17:16:59 +08:00
Zhiteng Li 279e2e8fba Add Graph Transformer Layer (Dense Computation) (#4959)
* 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>
2022-12-07 16:23:14 +08:00
Mufei Li a80bd9e039 Update (#4997)
Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-07 15:07:50 +08:00
Mufei Li 97fbd94dfc [Sparse] neg and inv (#4980)
* Update

* update

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-05 21:19:27 +08:00
ZhenyuLU_Heliodore 93ecfa313a [NN] Add PathEncoder (#4956)
* 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>
2022-12-05 13:47:51 +08:00
Mufei Li e088acac00 [Sparse] Add val_like and Disable Setting Nonzero Values (#4972)
* Update

* Update

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-12-01 14:09:36 +08:00
czkkkkkk 60b02f2fc8 [Sparse] Add SparseMatrix transposition (#4940) 2022-11-29 16:54:36 +08:00
Quan (Andy) Gan e0fc038db1 [Test] Fix duplicate seed generation in unit test (#4961)
* fix unit test

* oops
2022-11-28 16:20:31 +08:00
czkkkkkk 0a65559276 [Sparse] Support sparse format conversion (#4929)
* [Sparse] Support sparse format conversion

* Update

* Update
2022-11-27 17:01:18 +08:00
Zhiteng Li 16eba6e88c [NN] Add biased multi-head attention module (dense) (#4916)
* Add biased multi-head attention module (dense)

* fix lint issues

* refine according to dongyu's comments

Co-authored-by: rudongyu <ru_dongyu@outlook.com>
2022-11-20 14:55:25 +08:00
czkkkkkk 06438d7033 [Sparse] Link to DGL (#4877) 2022-11-17 10:14:08 +08:00
Mufei Li ff090f698e [Sparse] Set Value and Dense (#4897)
* Update

* dense

* Update

* Update

* Update

* Update

* Update

Co-authored-by: Ubuntu <ubuntu@ip-172-31-36-188.ap-northeast-1.compute.internal>
2022-11-16 19:05:56 +08:00
dddg617 ee9887d66a [Fix]Support HGT mini-batch (#4664)
* [Fix]Support HGT mini-batch

* [Test] Update HGT test

* [Conv] nightly update conv

* [Conv] nightly update
2022-11-14 16:18:39 +08:00
czkkkkkk 7c059e86c7 [Sparse] Add sparse matrix C++ implementation (#4773)
* [Sparse] Add sparse matrix C++ implementation

* Add documentation

* Update

* Minor fix

* Move Python code to dgl/mock_sparse2

* Move headers to include

* lint

* Update

* Add dgl_sparse directory

* Move src code to dgl_sparse

* Add __init__.py in tests to avoid naming conflict

* Add dgl sparse so in Jenkinsfile

* Complete docstring & SparseMatrix basic op

* lint

* Disable win tests
2022-11-07 18:01:19 +08:00
Minjie Wang 49a4436ac9 [MPOps] Add edge-wise message passing operators u_op_v (#4801)
* edgewise mpops

* formatting

* black formatting

* isort

* fix lint

* remove typing module; address comments

* fix gpu ut; rename test file
2022-11-04 09:23:09 +08:00
ZhenyuLU_Heliodore 9d9280cb0e [NN] Add DegreeEncoder for graph transformer (#4742)
* Add files via upload

This file will contain several utility modules for Graph Transformer. DegreeEncoder has been implemented in this file now.

* Update graph_transformer.py

* Update nn-pytorch.rst

Add graph_transformer.DegreeEncoder in Utility Modules

* Update test_nn.py

* Update __init__.py

* Update graph_transformer.py

* Update test_nn.py

* Update graph_transformer.py

fix unused import

* Update graph_transformer.py

add module doc-string

* Update graph_transformer.py

* Update graph_transformer.py

Co-authored-by: rudongyu <ru_dongyu@outlook.com>
2022-11-02 13:29:41 +08:00
Zhiteng Li ed66a20970 [NN] Add a learned laplacian positional encoder (#4750)
* 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>
2022-10-31 11:11:37 +08:00
Quan (Andy) Gan 2bca4759c1 [Sampling] Enable sampling with edge masks in sample_etype_neighbors (#4749)
* sample neighbors with masks

* oops

* refactor again

* remove

* remove debug code

* rename macro

* address comments

* more stuff

* remove

* fix

* try fix unit test

* oops

* fix test

* oops

* change name

* rename a lot of stuff

* oops

* ugh

* misc fixes

* lint

* address a lot of comments

* lint

* lint

* fix

* that was silly

* fix

* fix

* fix

* oops
2022-10-29 15:49:44 +08:00
Infinity_X 4b1fb6816a [Model] Heterogeneous graph support for GNNExplainer (#4401)
* [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>
2022-10-27 21:01:36 +08:00