提交

提交图

3215 次代码提交

作者 SHA1 备注 提交日期
zexi yuan 188630698e [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-10-14 14:43:23 +08:00
Quan (Andy) Gan 5d4f6bca2a [Fix] Fix edge ID exclusion not working in EdgeDataLoader (#3412) 2021-10-14 14:37:54 +08:00
Rhett Ying 8798872f54 [Bug] Do not skip graphconv even no edge exists (#3416) 2021-10-14 14:34:42 +08:00
Rhett Ying 7c7b60be18 [BugFix] add count_nonzero() into SA_Client (#3417) 2021-10-12 06:17:30 -07:00
Rhett Ying 2d88db5a3c [Bug] check dtype before convert to gk (#3414) 2021-10-12 14:34:40 +08:00
Mufei Li d947287367 [README] Add GNNLens (#3411)
* Update README.md

* Update README.md
2021-10-11 16:27:47 +08:00
Israt Nisa 532eaa879b backward now stores DGLGraph index,not DGLGraph object witattached data (#3410)
Co-authored-by: Israt Nisa <nisisrat@amazon.com>
2021-10-11 14:08:01 +08:00
K aef96dfa34 [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-10-07 19:06:28 +08:00
Rhett Ying f9fd7fd7f7 [BugFix] extract gz into target dir (#3389) 2021-09-30 11:35:40 +08:00
Rhett Ying e234fcfa8f [Feature] enable create/set/free cuda stream for internal use (#3334)
* [Feature] enable create/set/free cuda stream for internal use

* add unit test

* fix unit test failure on mxnet and tf

* refactor stream wrapper

* fix lint error

* fix lint error
2021-09-29 15:35:02 +08:00
Jingcheng Yu 5cf48fc69c [Feature] Implement one thread multiple socket (#3200)
Co-authored-by: JingchengYu94 <jingchengyu94@gmail.com>
2021-09-27 21:45:52 -07:00
xiang song(charlie.song) 179d6aab1e [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-09-23 19:03:33 +08:00
Junwen Yao 367a3a34c4 Fix torch import in example (#3372) 2021-09-23 13:23:05 +08:00
Quan (Andy) Gan a04a8d066e [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-09-22 13:44:46 +08:00
mszarma bc14829fb3 [Feature] Exclude edges in sample_neighbors (#2971)
* [Feature] Exclude edges in sample_neighbors

Extending sample_neighbors and sample_frontier
API to support exclude_edges parameter.

exclude_edges support tensor and dict data
Feature enable excluding certain edges
during neighborhood sampling
Exclude_edges contains EID's of edges
which will be excluded
during neighbor picking for seed nodes.

Added test case for heterograph and homograph
RFC issue id: 2944

* compatibility

* fix

* fix

Co-authored-by: Quan Gan <coin2028@hotmail.com>
2021-09-22 02:15:56 +08:00
Vikram Sharma ac9261b2a0 [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-09-21 22:36:53 +08:00
Kay Liu fecd6f3c50 [BugFix] fix typo in fakenews dataset variable name (#3363) 2021-09-21 22:06:26 +08:00
nv-dlasalle 01a2214430 Enable faster validation for pytorch graphsage example (#3361) 2021-09-19 17:25:46 -07:00
jwyyy bc5cac4426 fix broadcast tensor dim (#3351)
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2021-09-19 21:49:56 +08:00
Rhett Ying bacc9047f2 [BugFix] initialize data if null when converting from row sorted coo to csr (#3360) 2021-09-17 17:07:05 +08:00
nv-dlasalle 2647afc9b3 [Performance][Feature] Add src_nodes paramter to to_block() to avoid cost running unique() when available. (#2973)
* Add lhs_nodes are paremeter to to_block

* Update unit test

* Switch to simplified node conversion

* Switch lhs_nodes to be in/out parameter

* Update docs

Co-authored-by: Da Zheng <zhengda1936@gmail.com>
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2021-09-16 09:05:16 +08:00
xiang song(charlie.song) ad61a9a550 [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-09-14 17:59:16 +08:00
Rhett Ying f4c79f7f6d [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-09-14 10:41:55 +08:00
xiang song(charlie.song) a609b4f023 [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-09-14 08:57:20 +08:00
sanchit-misra 983a4fdd19 Fixes bug #3312 (#3345)
* Fixes bug #3312

* Fixing lint errors

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-09-13 23:01:35 +08:00
esang 3fef5d27d3 [Model] PCT (#3339)
* publish pct

* add train_cls

* add readme

* update opt for point transformer

* update the example index

* update for comments

Co-authored-by: Tong He <hetong007@gmail.com>
2021-09-13 17:17:24 +08:00
Quan (Andy) Gan e7ea0f5364 Fix openmp header (#3325) 2021-09-13 15:41:28 +08:00
skepsun 26b631805f [Bugfix] Fix Correct&Smooth (#3329)
* Update model.py

fix typo

* Update main.py

fix autoscale

* Update README.md

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-09-13 11:46:14 +08:00
xiang song(charlie.song) 246df1a8f4 update contributors (#3347)
Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-66.ec2.internal>
2021-09-11 09:40:05 -07:00
Da Zheng 06f62b99a0 Update contributors (#3346)
* update.

* update.

* fix.

Co-authored-by: Zheng <dzzhen@88665a0acb11.ant.amazon.com>
2021-09-11 00:31:18 -07:00
esang 6454c791b8 [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-09-10 17:50:06 +08:00
Israt Nisa d17b299a13 [Feature] Update edge features (apply_edge) for heterogeneous graph (#3250)
* rgcn with new heterograph API

* apply_edge() forward for multi relation

* undoing changes from rgcn-hetero

* backward apply_edge(copy_u) added

* unittest for apply_edge(copy_e)

* Compatible with new PRs

* resolving conflict with master

* Bringing back change after resolving conflict

* minor

* minor

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
2021-09-09 22:39:08 +08:00
Rhett Ying 129f67cd91 [Jenkins] add Rhett-Ying into authorized trigger (#3331) 2021-09-08 14:53:58 +08:00
Israt Nisa 298e4fa627 [Feature] Support builtin binary message function for heterogenenous graph (#3273)
* Added binary builtinMsgFunc forward() for heterograph

* Added backward for u_op_v

* Supports all binary builtin forward

* Supports binary message funcs with reduce func sum

* lint check

* removed import torch from unittest

* enabled GPU test

* lint check

* Fixed docstrings

* rename func get_hs_id

* edited comment

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
2021-09-07 10:01:33 -07:00
Jinjing Zhou c81efdf215 Remove deprecated kernels (#3316)
* remove

* remove

* fix

* remove

* remove
2021-09-06 13:59:41 +08:00
Quan (Andy) Gan 75d793a1bc Update dataloader.py (#3322) 2021-09-06 12:16:03 +08:00
Tomasz Patejko f5183820d1 [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-09-02 16:39:48 +08:00
xiang song(charlie.song) 21a4027969 Fix distributed device mapping problem. (#3313)
Co-authored-by: Ubuntu <ubuntu@ip-172-31-2-66.ec2.internal>
2021-09-02 13:52:00 +08:00
Rhett Ying 5a2451047f [Feature] enable to specify stream in UnitGraph::CopyTo() which could lead to async copy (#3297)
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2021-09-01 17:57:20 +08:00
xiang song(charlie.song) f4fe518ff7 [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-09-01 15:36:01 +08:00
nv-dlasalle 8e525dad71 [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-08-31 13:37:49 -07:00
nv-dlasalle a53783c81d [Performance] Only copy and slice index's in subcolumn when data is used. (#2930)
* Make column double indices lazy

* Copy indices to proper contexts

* Fix initialization

* Add unit test

* Fix unit test for tensorflow

* Remove unused member

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-08-30 19:17:25 -07:00
Mufei Li 6476b829a8 [Doc] Add a Paper (#3301)
* Update README.md

* Update README.md
2021-08-30 16:11:55 +08:00
Da Zheng e5ed7adc12 [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-08-29 10:54:46 -07:00
NiklasBeierl 152760f66d [Doc] Note for HeteroGraphConv / Doc build problems (#3149)
* Doc: HetGConv note for `edge_type_subgraph`

For the rational behind this note see the discussion in #3003.

* WIP: Requirements for building the docs.

Had to install all these packages to get further with building the docs.

Didn't successfully build them yet, tho.

* Test

* Update

* Update hetero.py

* Update hetero.py

Co-authored-by: Ubuntu <ubuntu@ip-172-31-13-32.us-west-2.compute.internal>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-08-29 03:14:43 +08:00
esang 4fb50be4d9 [Model] Point transformer (#3284)
* some modifications for pointnet2

* temporarily save changes

* move files to new directory point_transformer

* implement point transformer for classification

* restore train_cls in pointnet

* implement point transformer for partseg

* fix point transformer for nan loss

* modify point transformer for cls

* modify training setting

* update transformer for cls

* update code

* update code for latest performance

* update the example index

* some minor changes

Co-authored-by: Tong He <hetong007@gmail.com>
2021-08-27 14:33:18 +08:00
Konstantinos Vandikas 79305862ec 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-27 01:29:49 +08:00
Rhett Ying 9cc85aed62 [Doc] fix formula in RelGraphConv (#3285)
* [Doc] fix formula in RelGraphConv

* refine descriptions
2021-08-25 17:59:17 +08:00
kalinin-sanja 4ef1c86b64 [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-25 15:56:29 +08:00
Quan (Andy) Gan 85b8fe5236 fix (#3286) 2021-08-24 14:22:49 +08:00