提交

1954 次代码提交

作者 SHA1 备注 提交日期
Quan (Andy) Gan de0eb20968 fix link prediction (#3485) 2021-12-20 03:12:41 +00:00
Quan (Andy) Gan 582f71a173 Fix openmp header (#3325) 0.7.2 2021-11-05 05:13:11 +00:00
Quan Gan 0d1807ecf4 update version 2021-11-05 03:12:27 +00:00
nv-dlasalle 50dd8517c8 Enable faster validation for pytorch graphsage example (#3361) 2021-11-05 03:11:50 +00:00
nv-dlasalle 46557ee8a8 Update cub for cuda 11.5 compatibility (#3468) 2021-11-05 03:11:37 +00:00
Quan (Andy) Gan ef1b7175d5 fix compatibility with PyTorch 1.10 (#3454) 2021-11-04 08:20:44 +00:00
Jinjing Zhou 87a4cb363a Fix #3437 (#3440) 2021-11-04 08:20:22 +00:00
Cheng Wan ad19562a30 [Doc] remove duplicate papers (#3393)
* remove duplicate paper

* Update README.md
2021-11-04 08:19:56 +00:00
nv-dlasalle e3dd242072 [Fix] Split nccl sparse push into two groups (#3404) 2021-11-04 08:19:37 +00:00
Cheng Wan c7f94dbf5a [BugFix] Avoid Memory Leak Issue in PyTorch Backend (#3386)
* try to avoid memory leak

* try to avoid memory leak

* avoid memory leak with no hope

* Revert "avoid memory leak with no hope"

This reverts commit c77befe9479f46758e744642f66dd209b50eef7d.

* no message

* Update sparse.py

* Update tensor.py

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-11-04 08:18:40 +00:00
HaoWei-TomTom e87dec8599 [Bugfix][Pytorch] Fix model save and load bug of stgcn_wave (#3303)
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-11-04 08:16:26 +00:00
Christian Clauss 69eae6de49 [Fix] Use ==/!= to compare constant literals (str, bytes, int, float, tuple) (#3415)
* Use ==/!= to compare constant literals (str, bytes, int, float, tuple)

Avoid Syntax Warnings on Python >= 3.8

$ `python3`
```
>>> "" == ""
True
>>> "" is ""
<stdin>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
True
```

* Use ==/!= to compare constant literals (str, bytes, int, float, tuple)
2021-11-04 08:16:05 +00:00
nv-dlasalle a63ad14bda [PyTorch][Bugfix] Use uint8 instead of bool in pytorch to be compatible with nightly version (#3406)
* Use uint8 instead of bool in pytorch

* Handle type aliases

* Fix syntax error

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-11-04 08:15:46 +00:00
zexi yuan 71220a12db [Bugfix] three bugs related to using DGL as a subdirectory(third_party) of another project. (#3379)
* [Bugfix] fix a compile error for Debug-BuildType on Windows Platform

When using CMakeLists.txt to build the "Debug" BuildType on the Windows Platform, it has three compile errors (C4716) in the file "dgl\src\runtime\shared_mem.cc":

'dgl::runtime::SharedMemory::CreateNew': must return a value
'dgl::runtime::SharedMemory::Open': must return a value
'dgl::runtime::SharedMemory::Exist': must return a value

* [Bugfix] cmake error "cannot find load file" when DGL as a sub_directory on Linux

When using DGL as a subdirectory in a CMake Project, the "CMAKE_SOURCE_DIR" here will return the parent cmake scope dir, which is not a expected dir.
Maybe it is better to use "CMAKE_CURRENT_SOURCE_DIR" to set "GKLIB_PATH".

* [Bugfix] cmd cmake error when DGL as a subdirectory

When DGL as a subdirectory of another project, the WORKING_DIRECTORY of "add_custom_command" will be incorrect at the line 255 of "CMakeLists.txt", such that making a cmake "setlocal" error.
2021-11-04 08:15:25 +00:00
Quan (Andy) Gan bf11b19e76 Update dataloader.py (#3322) 2021-11-04 08:14:21 +00:00
Rhett Ying 23d575ba81 [Bug] Do not skip graphconv even no edge exists (#3416) 2021-11-04 06:14:10 +00:00
Rhett Ying ee183f69a1 [BugFix] add count_nonzero() into SA_Client (#3417) 2021-11-04 06:13:40 +00:00
Rhett Ying cc83b49e01 [Bug] check dtype before convert to gk (#3414) 2021-11-04 06:13:19 +00:00
K 67e3902711 [Model] Refine GraphSAINT (#3328)
* The start of experiments of Jiahang Li on GraphSAINT.

* a nightly build

* a nightly build

Check the basic pipeline of codes. Next to check the details of samplers , GCN layer (forward propagation) and loss (backward propagation)

* a night build

* Implement GraphSAINT with torch.dataloader

There're still some bugs with sampling in training procedure

* Test validity

Succeed in testing validity on ppi_node experiments without testing other setup.
1. Online sampling on ppi_node experiments performs perfectly.
2. Sampling speed is a bit slow because the operations on [dgl.subgraphs], next step is to improve this part by putting the conversion into parallelism
3. Figuring out why offline+online sampling method performs bad, which does not make sense
4. Doing experiments on other setup

* Implement saint with torch.dataloader

Use torch.dataloader to speed up saint sampling with experiments. Except experiments on too large dataset Amazon, we've done some experiments on other four datasets including ppi, flickr, reddit and yelp. Preliminary experimental results show consumed time and metrics reach not bad level. Next step is to employ more accurate profiler which is the line_profiler to test consumed period, and adjust num_workers to speed up sampling procedures on same certain datasets faster.

* a nightly build

* Update .gitignore

* reorganize codes

Reorganize some codes and comments.

* a nightly build

* Update .gitignore

* fix bugs

Fix bugs about why fully offline sampling and author's version don't work

* reorganize files and codes

Reorganize files and codes then do some experiments to test the performance of offline sampling and online sampling

* do some experiments and update README

* a nightly build

* a nightly build

* Update README.md

* delete unnecessary files

* Update README.md

* a nightly update

1. handle directory named 'graphsaintdata'
2. control graph shift between gpu and cpu related to large dataset ('amazon')
3. remove parameter 'train'
4. refine annotations of the sampler
5. update README.md including updating dataset info, dependencies info, etc

* a nightly update

explain config differences in TEST part
remove a sampling time variant
make 'online' an argument
change 'norm' to 'sampler'
explain parameters in README.md

* Update README.md

* a nightly build

* make online an argument
* refine README.md
* refine codes of `collate_fn` in sampler.py, in training phase only return one subgraph, no need to check if the number of subgraphs larger than 1

* Update sampler.py

check the problem on flickr is about overfitting.

* a nightly update

Fix the overfitting problem of `flickr` dataset. We need to restrict the number of subgraphs (also the number of iterations) used in each epoch of training phase. Or it might overfit when validating at the end of each epoch. The method to limit the number is a formula specified by the author.

* Set up a new flag `full` specifying if the number of subgraphs used in training phase equals to that of pre-sampled subgraphs

* Modify codes and annotations related the new flag

* Add a new parameter called `node_budget` in the base class `SAINTSampler` to compute the specific formula

* set `gpu` as a command line argument

* Update README.md

* Finish the experiments on Flickr, which is done after adding new flag `full`

* a nightly update

* use half of edges in the original graph to do sampling
* test dgl.random.choice with or without replacement with half of edges
~ next is to test what if put the calculating probability part out of __getitem__ can speed up sampling and try to implement sampling method of author

* employ cython to implement edge sampling for per edge

* employ cython to implement edge sampling for per edge
* doing experiments to test consumed time and performance
** the consumed time decreased to approximately 480s, the performance decrease about 5 points.
* deprecate cython implementation

* Revert "employ cython to implement edge sampling for per edge"

* This reverts commit 4ba4f092
* Deprecate cython implementation
* Reserve half-edges mechanism

* a nightly update

* delete unnecessary annotations

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-11-04 06:12:21 +00:00
Rhett Ying 56b04b2125 [BugFix] extract gz into target dir (#3389) 2021-11-04 06:11:41 +00:00
xiang song(charlie.song) ebd2c08f99 [Distributed] Allow user to pass-in extra env parameters when launching a distributed training task. (#3375)
* Allow user to pass-in extra env parameters when launching a distributed training task.

* Update

* upd

Co-authored-by: xiangsx <xiangsx@ip-10-3-59-214.eu-west-1.compute.internal>
2021-11-04 06:11:11 +00:00
Junwen Yao 3d90edda3e Fix torch import in example (#3372) 2021-11-04 06:10:53 +00:00
Quan (Andy) Gan 84169b1954 [Feature] Graceful handling of exceptions thrown within OpenMP blocks (#3353)
* graceful c++ exception in OpenMP

* credits

* add test

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-11-04 06:10:35 +00:00
Vikram Sharma 039856f8a9 [Doc] Added md5sum info for OGB-LSC dataset (#3332)
* Added md5sum for the large dataset files

md5sum helps in validating the correctness of large dataset files once downloaded. 

Refer: https://github.com/snap-stanford/ogb/issues/253
2021-11-04 06:10:06 +00:00
Kay Liu 6df6a0881e [BugFix] fix typo in fakenews dataset variable name (#3363) 2021-11-04 06:09:43 +00:00
jwyyy 9b597b8e74 fix broadcast tensor dim (#3351)
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2021-11-04 06:09:09 +00:00
Rhett Ying 1c9274f168 [BugFix] initialize data if null when converting from row sorted coo to csr (#3360) 2021-11-04 06:08:45 +00:00
Rhett Ying 2b45b8c72d [Performance] improve coo2csr space complexity when row is not sorted (#3326)
* [Performance] improve coo2csr space complexity when row is not sorted

* [Perf] replace std::vector<> by NDArray

* keep both impl of unsorted coo to csr and choose according to graph density dynamically

* refine criteria to choose btw Unsorted algos

Co-authored-by: Ubuntu <ubuntu@ip-172-31-34-27.us-west-2.compute.internal>
2021-11-04 06:08:04 +00:00
Tomasz Patejko 50082a571f [Performance, CPU] Rewriting OpenMP pragmas into parallel_for (#3171)
* [CPU, Parallel] Rewriting omp pragmas with parallel_for

* [CPU, Parallel] Decrease number of calls to task function

* c[CPU, Parallel] Modify calls to new interface of parallel_for
2021-11-04 06:06:53 +00:00
xiang song(charlie.song) f9d51fdf0b [Feature] Add a HINT for the per edge type sampler of heterogeneous DistGraph that highlighting the etypes are sorted already. (#3260)
* pass cpp test

* distgraph use sorted edge flag.

* lint

* triger

* update test

Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-66.ec2.internal>
2021-11-04 06:02:42 +00:00
nv-dlasalle b0346bbd4f [CPU][Sampling][Performance] Improve sampling on the CPU. (#3274)
* Optimize sampling

* Stop initialization of array

* Fix includes for linting

* Move comment

* Fix replace

Co-authored-by: Da Zheng <zhengda1936@gmail.com>
2021-11-04 06:02:06 +00:00
xiang song(charlie.song) ba67fa0fc2 [Bugfix] And PYTHONPATH in server launch. (#3352)
* put PYTHONPATH in server launch

* remove prints

Co-authored-by: xiangsx <xiangsx@ip-10-3-59-214.eu-west-1.compute.internal>
2021-11-04 05:50:00 +00:00
xiang song(charlie.song) 269f90428c [Bugfix] Fix #3291 (#3333)
* Fix #3291

* update

* fix

* Unit key

* Fix

Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-66.ec2.internal>
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-11-04 05:49:24 +00:00
sanchit-misra a171f41270 Fixes bug #3312 (#3345)
* Fixes bug #3312

* Fixing lint errors

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-11-04 05:49:02 +00:00
esang f77bee328a [Bugfix] Fix bugs of farthest_point_sampler (#3327)
* fix start_idx

* fix the bug when cuda > 0

Co-authored-by: Tong He <hetong007@gmail.com>
2021-11-04 05:48:21 +00:00
xiang song(charlie.song) e3eb3ee511 Fix distributed device mapping problem. (#3313)
Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-66.ec2.internal>
2021-11-04 05:47:56 +00:00
Da Zheng 95b1eb734f [Distributed] Fix a bug in sampling an empty frontier (#3298)
* handle empty frontiers.

* fix lint.

* fix

Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-202.us-west-1.compute.internal>
Co-authored-by: xiang song(charlie.song) <classicxsong@gmail.com>
2021-11-02 09:51:03 +00:00
xiang song(charlie.song) 6b6174a5c4 Cleanup some code in graph_services.py (#3238)
* Fix bug

* Fix

* Fix

* upd

* Merge some code

* lint
2021-11-02 09:50:37 +00:00
xiang song(charlie.song) 4010e20cd9 [Bugfix] Distributed training can not work with dgl.dataloading.negative_sampler (#3215)
* Fix dist negative data loader bug

* upd

* Fix

Co-authored-by: Da Zheng <zhengda1936@gmail.com>
2021-11-02 09:23:21 +00:00
xiang song(charlie.song) 0246bf5567 [Bugfix] Fix bug introduced by https://github.com/dmlc/dgl/pull/3131 (#3234)
* Fix bug

* Fix

* Fix

* upd

* trigger
2021-11-02 09:22:52 +00:00
Da Zheng f0903275e8 [Distributed] Enable distributed EdgeDataLoader (#3192)
* make heterogeneous find_edges

* add distributed EdgeDataLoader.

* fix.

* fix a bug.

* fix bugs.

* add tests on distributed heterogeneous graph sampling.

* fix.

Co-authored-by: Zheng <dzzhen@3c22fba32af5.ant.amazon.com>
2021-11-02 09:22:10 +00:00
xiang song(charlie.song) 508197e807 [New Feature] Per edge type sampler for to_homogeneous graphs. (#3131)
* fix.

* fix.

* fix.

* fix.

* Fix test

* Deprecate old DistEmbedding impl, use synchronized embedding impl

* Basic imple of heterogeneous on homogenenous sampling

* make pass

* Pass C++ test

* Add python test code

* lint

* lint

* Add MultiLayerEtypeNeighborSampler

* Add unitest for single machine dataloader

* Add dist dataloader test for edge type sampler

* Fix lint

* fix

* support for per etype sample

* Fix some bug and enable distributed training with per edge sample

* fix

* Now distributed training works

* turn off some mxnet

* turn off mxnet for some dist test

* fix

* upd

* upd according to the comments

* Fix

* Fix test and now distributed works.

* upd

* upd

* Fix

* Fix bug

* remove dead code.

* upd

* Fix

* upd

* Fix

Co-authored-by: Ubuntu <ubuntu@ip-172-31-71-112.ec2.internal>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-66.ec2.internal>
Co-authored-by: Da Zheng <zhengda1936@gmail.com>
2021-11-02 09:21:20 +00:00
Da Zheng 223795eb82 [Distributed] Distributed heterograph training (#3069)
* support hetero RGCN.

* fix.

* simplify code.

* sample_neighbors return heterograph directly.

* avoid using to_heterogeneous.

* compute canonical etypes in advance.

* fix tests.

* fix.

* fix distributed data loader for heterograph.

* use NodeDataLoader.

* fix bugs in partitioning on heterogeneous graphs.

* fix lint.

* fix tests.

* fix.

* fix.

* fix bugs.

* fix tests.

* fix.

* enable coo for distributed.

* fix.

* fix.

* fix.

* fix.

* fix.

Co-authored-by: Ubuntu <ubuntu@ip-172-31-71-112.ec2.internal>
Co-authored-by: Zheng <dzzhen@3c22fba32af5.ant.amazon.com>
2021-11-02 09:18:15 +00:00
Quan (Andy) Gan ce52a5378e fix (#3286) 0.7.1 2021-08-27 01:32:20 +00:00
Quan Gan 2b80161865 update version 2021-08-26 17:33:50 +00:00
Konstantinos Vandikas eca9b8ef08 allow for configuring default_dir (#3277)
* allow for configuring default_dir

* allow for using DGLDEFAULTDIR environment variable

* Update env_var.rst

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-08-26 17:32:16 +00:00
Rhett Ying d9e2618b20 [Doc] fix formula in RelGraphConv (#3285)
* [Doc] fix formula in RelGraphConv

* refine descriptions
2021-08-26 17:32:10 +00:00
kalinin-sanja 7d2eed64f1 [Doc] Update 4_rgcn.py (#3261)
There is some misleading text.

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2021-08-26 17:31:56 +00:00
Quan (Andy) Gan 1fa3202bbd fix relgraphconv bug (#3256) 2021-08-26 17:31:41 +00:00
Rhett Ying 50b87596b8 [Doc] fix formula display issue in EdgeWeightNorm (#3275)
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-08-26 17:31:35 +00:00