Da Zheng
30c4625171
fix. ( #794 )
2019-08-27 09:56:38 -07:00
Da Zheng
66971c1aa4
[Feature] Add edge sampling for link prediction ( #780 )
...
* add edge sampler.
* add test and run.
* add negative sampling.
* remap the edge subgraph vid.
* negative graph excludes edges of positive edgs.
* remove print.
* avoid sampling NodeFlow when expand_factor or num_hops is 0.
* fix a bug when excluding nodes in negative graph.
* support multigraph.
* exclude positive edges.
* fix memory leak.
* return subgraph object directly.
* fix many problems.
* add comments.
* address comments
2019-08-21 23:05:24 -07:00
Quan (Andy) Gan
16061925d5
[NodeFlow] Non-uniform neighbor sampling ( #711 )
...
* nonuniform sampler
* unit test
* test on out neighbors
* error checks
* lint
* fix
* clarification
* use macro switcher
* use empty array for uniform sampling
* oops
* Revert "oops"
This reverts commit a11f9ae707aaeb67fb5921c887a17d3711d5b04a.
* Revert "use empty array for uniform sampling"
This reverts commit 8526ce4cade89f2c1b09a08aca8830375ebafb31.
* re-reverting
* use a method
2019-08-07 09:42:08 +08:00
Chao Ma
c3516f1a8e
[Network] Refactoring Communicator ( #679 )
...
* Refactoring Communicator
* fix lint
* change non-const reference
* add header file
* use MemoryBuffer
* update PR
* fix bug on csr shape
* zero-copy msg_queue
* fix lint
* fix lint
* fix lint
* add header file
* fix windows build error
* fix windows build error
* update
* fix lint
* update
* fix lint
* fix lint
* add more test
* fix windows test
* update windows test
* update windows test
* update windows test
* update
* fix lint
* fix lint
* update
* update
* update
* update
* use STATUS code
* update test
* remove mem_cpy
* fix lint
* update
* finish
* ConstructNFTensor
* add test for deallocator
* update
* fix lint
2019-08-05 10:49:25 +08:00
Quan (Andy) Gan
e9e587b6cb
[Refactor] C random number generator ( #729 )
...
* rng refactor
* fix bugs
* unit test
* remove setsize
* lint
* fix test
* use explicit instantiation instead of inlining
* stricter test
* use tvm solution
* moved python interface to dgl.random
* lint
* address comments
* make getthreadid an inline function
2019-07-31 17:54:30 +08:00
Minjie Wang
67dc11971f
[Refactor] Use object system for all CAPIs ( #716 )
...
* WIP: using object system for graph
* c++ side refactoring done; compiled
* remove stale apis
* fix bug in DGLGraphCreate; passed test_graph.py
* fix bug in python modify; passed utest for pytorch/cpu
* fix lint
* address comments
2019-07-23 12:47:05 -04:00
Da Zheng
8059fa6f8b
print errors if users sample from mutable graph. ( #649 )
...
* give warning.
* fix.
* update error msg.
2019-06-12 17:54:02 +08:00
Da Zheng
5da57663cc
[BUGFIX] fix sampler. ( #616 )
...
* fix sampler.
* update doc.
* fix.
2019-06-06 20:47:59 -07:00
Minjie Wang
21e172d076
[Bugfix] fix numpy integer bug ( #580 )
2019-05-29 21:48:36 -04:00
Da Zheng
3a1392e641
[Model] add multiprocessing training with sampling. ( #484 )
...
* reorganize sampling code.
* add multi-process training.
* speed up gcn_cv
* fix graphsage_cv.
* add new API in graph store.
* update barrier impl.
* support both local and distributed training.
* fix multiprocess train.
* fix.
* fix barrier.
* add script for loading data.
* multiprocessing sampling.
* accel training.
* replace pull with spmv for speedup.
* nodeflow copy from parent with context.
* enable GPU.
* fix a bug in graph store.
* enable multi-GPU training.
* fix lint.
* add comments.
* rename to run_store_server.py
* fix gcn_cv.
* fix a minor bug in sampler.
* handle error better in graph store.
* improve graphsage_cv for distributed mode.
* update README.
* fix.
* update.
2019-05-06 23:51:56 -07:00
Chao Ma
fe7d5e9b8b
[Sampler] Change Distributed Sampler API ( #499 )
...
* Change Distributed Sampler API
* fix lint
* fix lint
* update demo
* update
* update
* update
* update demo
* update demo
2019-04-22 09:41:47 +08:00
Chao Ma
b89dcce16c
[RPC] Refactoring networking APIs ( #496 )
...
* Refactoring network API
* update demo
* update
* update demo
* update demo
* add num_sender
* update
* fix lint
* fix lint
* fix lint
* update
2019-04-16 16:33:29 +08:00
Chao Ma
8058f1c579
[Fix] Update inner API of distributed sampler ( #478 )
...
* update inner API of distributed sampler
* update
2019-04-05 10:00:36 +08:00
Chao Ma
da3ab84c3c
Add demo for distributed sampler ( #474 )
...
* add C++ rpc infrastructure and distributed sampler
* update
* update lint
* update lint
* update lint
* update
* update
* update
* updare
* update
* update
* update
* update serialize and unittest
* update serialize
* lint
* update
* update
* update
* update
* update
* update
* update unittest
* put Finalize() to __del__
* update unittest
* update
* delete buffer in Finalize
* update unittest
* update unittest
* update unittest
* update unittest
* update
* update
* fix small bug
* windows socket impl
* update API
* fix bug in serialize
* fix bug in serialzie
* set parent graph
* update
* update
* update
* update
* update
* update
* fix lint
* fix lint
* fix
* fix windows compilation error
* fix windows error
* change API to lower-case
* update test
* fix typo
* update
* add SamplerPool
* add SamplerPool
* update
* update test
* update
* update
* update
* update
* add example
* update
* update
* add distributed sampler demo
* add index
* update demo of distributed sampler
* fix lower-case
* print subg index
* update README.md
* update
* remove --gpu args
2019-04-03 16:09:59 -07:00
Chao Ma
5d494c6207
[RPC] add C++ RPC infrastructure and distributed sampler ( #465 )
...
* add C++ rpc infrastructure and distributed sampler
* update
* update lint
* update lint
* update lint
* update
* update
* update
* updare
* update
* update
* update
* update serialize and unittest
* update serialize
* lint
* update
* update
* update
* update
* update
* update
* update unittest
* put Finalize() to __del__
* update unittest
* update
* delete buffer in Finalize
* update unittest
* update unittest
* update unittest
* update unittest
* update
* update
* fix small bug
* windows socket impl
* update API
* fix bug in serialize
* fix bug in serialzie
* set parent graph
* update
* update
* update
* update
* update
* update
* fix lint
* fix lint
* fix
* fix windows compilation error
* fix windows error
* change API to lower-case
* update test
* fix typo
* update
* add SamplerPool
* add SamplerPool
* update
* update test
* update
* update
* update
* update
* add example
* update
* update
2019-03-29 16:48:45 +08:00
Quan (Andy) Gan
6066fee935
[Model][Feature] PinSage & Random Walk with Restart ( #453 )
...
* random walk traces generation
* remove outdated comments
* oops put in the wrong place
* explicit inline
* moving rand_r to util
* pinsage-like model on movielens
* the code runs now
* support cuda
* using readonly graph
* moving random walk to public function
* per-thread seed and openmp support
* pinsage-like model on movielens
* the code runs now
* support cuda
* using readonly graph
* using C random walk
* removing profile decorators
* param initialization
* no grad
* leaky relu fixes everything
* train and save
* WIP
* WIP
* WIP
* seems to work
* evaluation output
* swapping order of val/test and train
* debug
* hyperparam tuning
* prior/training dataset split changes
* random walk reorg
* random walk with restart
* signed comparison fix
* migrating random walk to nodeflow
* Revert "migrating random walk to nodeflow"
This reverts commit f2565347cced7c912a58a529b257c033d9f375b7.
* add README and remove dataset
* new endpoint
* lint
* lint x2
* oops forgot test
* including bpr - better for baseline
* addressing fixes
* throwing random walks out from SamplerOp class
* forgot to move RandomWalk; why did this even work?
* removing legacy garbage
* add todo
* address comments
* stupid bug fix
* call ndarrayvector converter to handle traces
2019-03-29 13:01:18 +08:00
Quan (Andy) Gan
341dbea0a1
[Bug] Fix unused prefetch switch for NeighborSampler and LayerSampler ( #457 )
...
* forgot prefetch switch
* yet another stupid bug
2019-03-19 14:57:10 +08:00
Quan (Andy) Gan
681e5217dd
[Refactor] Sampler code refactor ( #454 )
...
* refactored sampler code
* docstring
* fix tutorial
2019-03-18 10:41:35 -04:00
Minjie Wang
ca2a7e1ca1
[Refactor] Nodeflow, sampling, CAPI ( #430 )
...
* enable cython
* add helper function and data structure for void_p vector return
* move sampler from graph index to contrib.sampling
* WIP
* WIP
* refactor layer sampling
* pass tests
* fix lint
* fix graphsage
* remove comments
* pickle test
* fix comments
* update dev guide for cython build
2019-03-05 14:07:22 -05:00
GaiYu0
fb4246e564
[Feature]Uniform layer-wise sampler ( #416 )
...
* migrate to node-flow
* uniform layer sampler test cases
* more test cases
* documentations
* fix lint errors
* fix lint errors
* fix lint errors
* iota
* add asnumpy
* requested changes
* fix indptr error
* fix lint errors
* requested changes & fix lint errors
* fix lint errors
* fix LayerSampler unit test
2019-03-02 16:37:18 -08:00
Minjie Wang
a88f351174
[Doc] update doc string ( #426 )
2019-03-02 14:00:52 -05:00
Da Zheng
bea07b41b3
[Sampler] fix the API of neighbor sampler. ( #407 )
...
* don't return aux_info.
* fix sampler test.
* fix sse.
* fix.
* add comment.
2019-02-28 13:45:21 -08:00
Ziyue Huang
7e30382e4f
[Model][MXNet] neighbor sampling & skip connection & control variate & graphsage ( #322 )
...
* neighbor sampling draft
* val/test acc
* control variate draft
* control variate
* update
* fix new_history
* maintain aggregated history while updating new history
* preprocess the first layer, change push to pull
* update
* fix subg_degree
* nodeflow
* clear
* readme
* doc and unittest for self loop
* address comments
* rename
* update
* fix
* Update node_flow.py
* Update node_flow.py
2019-02-28 13:29:51 -08:00
Quan (Andy) Gan
2e1cbd5d68
[Feature] Random walk traces generation ( #392 )
...
* random walk traces generation
* remove outdated comments
* oops put in the wrong place
* explicit inline
* moving rand_r to util
* moving random walk to public function
* per-thread seed and openmp support
* type cast styles
2019-02-20 10:41:59 -05:00
Da Zheng
f370e628cd
[Feature] add NodeFlow API ( #361 )
...
* sample layer subgraphs.
* fix.
* fix.
* add layered subgraph.
* fix lint.
* fix.
* fix tutorial.
* fix.
* remove copy_to_parent.
* add num_layers
* move sampling code to sampler.cc
* fix.
* move subgraph construction out.
* Revert "move subgraph construction out."
This reverts commit 24b3d13b0d8ed5f91847ea75a7674ee8f7d45cff.
* change to NodeFlow.
* use NodeFlow in Python.
* use NodeFlowIndex.
* add node_mapping and edge_mapping.
* remove unnecessary code in SSE tutorial.
* Revert "remove unnecessary code in SSE tutorial."
This reverts commit 093f0413d5fa2e63ca5f80c46c80a126a9fb720c.
* fix tutorial.
* move to node_flow.
* update gcn cv updater.
* import NodeFlow.
* update.
* add demo code for vanilla control variate sampler.
* update.
* update.
* add neighbor sampling.
* return flow offsets.
* update node_flow.
* add test.
* fix sampler.
* fix graph index.
* fix a bug in sampler.
* fix map_to_layer_nid and map_to_flow_eid.
* fix apply_flow.
* remove model code.
* implement flow_compute.
* fix a bug.
* reverse the csr physically.
* add mini-batch test.
* add mini batch test.
* update flow_compute.
* add prop_flows
* run on specific nodes.
* test copy
* fix a bug in creating frame in NodeFlow.
* add init gcn_cv_updater.
* fix a minor bug.
* fix gcn_cv_updater.
* fix a bug.
* fix a bug in NodeFlow.
* use new h in gcn_cv_updater.
* add layer_in_degree and layer_out_degree.
* fix gcn_cv_updater for gpu.
* temp fix in NodeFlow for diff context.
* allow enabling/disabling copy back.
* add with-updater option.
* fix a bug in computing degree.
* add with-cv option.
* rename and add comments.
* fix lint complain.
* fix lint.
* avoid assert.
* remove assert.
* fix.
* fix.
* fix.
* fix.
* fix the methods in NodeFlow.
* fix lint.
* update SSE.
* remove gcn_cv_updater.
* correct comments for the schedulers.
* update comment.
* add map_to_nodeflow_nid
* address comment.
* remove duplicated test.
* fix int.
* fix comments.
* fix lint
* fix.
* replace subgraph with NodeFlow.
* move view.
* address comments.
* fix lint.
* fix lint.
* remove static_cast.
* fix docstring.
* fix comments.
* break SampleSubgraph.
* move neighbor sampling to sampler.cc
* fix comments.
* rename.
* split neighbor_list.
* address comments.
* fix.
* remove TODO.
2019-02-19 15:49:28 -08:00
Da Zheng
929742b588
[Feature] Reimplement Immutable graph index in DGL ( #342 )
...
* init.
* it's compiled.
* add immutable graph constructor.
* add immutable graph API.
* fix.
* impl get adjacency matrix.
* fix.
* fix graph_index from scipy matrix.
* add neighbor sampling.
* remap vertex ids.
* fix.
* move sampler test.
* fix tests.
* add comments
* remove mxnet-specific immutable graph.
* fix.
* fix lint.
* fix.
* try to fix windows compile error.
* fix.
* fix.
* add test.
* unify Graph and ImmutableGraph.
* fix bugs.
* fix compile.
* move immutable graph.
* fix.
* remove print.
* fix lint.
* fix
* fix lint.
* fix lint.
* fix test.
* fix comments.
* merge GraphIndex and ImmutableGraphIndex.
* temp fix.
* impl GetAdj.
* fix lint
* fix.
* fix.
* fix.
* fix.
* fix.
* use csr only for readonly graph.
* Revert "use csr only for readonly graph."
This reverts commit 8e24bb033af8504531b22849de5b7567b168e0d5.
* remove code.
* fix.
* fix.
* fix.
* fix.
* fix.
* fix.
* address comments.
* fix for comments.
* fix comments.
* revert.
* move test_graph_index to compute.
* fix.
* fix.
* impl GetAdj for coo.
* fix.
* fix tests.
* address comments.
* address comments.
* fix comment.
* address comments.
* use lambda.
* other comments.
* address comments.
* modify the semantics of edges.
* fix order.
* use DGLIdIter
* fix.
* remove NotImplemented.
* revert some code.
2019-01-17 09:59:53 +08:00
brett koonce
707334ce85
minor spelling tweaks ( #349 )
...
* minor spelling tweaks
* Update CONTRIBUTORS.md
2019-01-10 12:02:31 -05:00
Haibin Lin
30107407fd
add prefetcher for neighbor sampler ( #298 )
2018-12-15 19:14:17 -08:00
Lingfan Yu
0cbe521b99
[Doc] Fix document building for multiple tensor backends ( #301 )
...
* remove loading backend in sse
* build mxnet in a second run
* a third run to fix everything
* fix docstring in sampler
* fix docstring in transformer
* README for doc build
* some reordering and printing
* use filename_pattern instead of ignore_pattern to reduce warning at the cost of redundant work...
* add env var to use mxnet in Jenkinsfile
* remove step 3, it's already fixed by previous commit
2018-12-12 11:07:46 -05:00
Da Zheng
18ed7868fe
[Doc] update neighbor sampler doc. ( #287 )
2018-12-11 12:48:22 -05:00
VoVAllen
cd907cddfa
[Tutorial] Add sse tutorial & MXNet Tutorial CI ( #252 )
...
* add sse tutorial
* add mxnet tutorial ci
* fix ci
* fix ci
* fix ci
* fix ci
* fix ci
* fix ci
* Fix ci
* Fix ci
* Fix ci
* fix ci
* fix ci
* fix ci
* fix ci
* fix ci
* fix ci
* Fix CI
Fix CI image
* permission fix
* fix a bug in the code.
* small fix
* fix doc
* fix ci
* shorten the iters
* fix
* remove extra file
* add load_backend api to dynamically switch to another backend
* try fix
* fix tutorial
* fix tutorial
* fix bug in tutorial
2018-12-05 16:21:44 -05:00
Da Zheng
7c7cc7e0c2
[sampler] Adjust the sampler API for the future extension. ( #243 )
...
* return seed ids.
* fix tests.
* implement.
2018-12-05 10:05:10 -08:00
Da Zheng
a5a35d1f7a
[Sampler] improve random shuffle performance in sampler ( #228 )
...
* fix.
* make it generic.
* add the API.
* fix.
* remove mxnet.
2018-12-04 09:24:32 -08:00
Gan Quan
5680f8dc13
[DOC] Documentation strings for graph mutation, queries, and subgraphing ( #207 )
...
* docstrings for graph mutation & queries
* [Doc] contrib.sampler. (#200 )
* subgraph docs
* updates
2018-12-02 14:41:25 -05:00
Da Zheng
57b07fce92
[Model] Accelerate SSE ( #172 )
...
* lazy eval edge ids.
* parallelize node id lookup.
* fix a bug.
* use mxnet for index.
* use update_all in the subgraph training.
* sample neighbors.
* Revert "parallelize node id lookup."
This reverts commit e661f69bb06cb5a7c246f0e106f245e27800e220.
* update README.
* cache subgraphs.
* support all degrees.
* cache adj in CPU.
* fix a bug in sse.
* print.
* raise error on mutable graphs.
* measure train time per epoch.
* fix a bug in graph_index.
* remove readonly in DGLSubGraph.
* cache subgraph properly.
* accelerate getting adjacency.
* split infer.
* lazy eval edges.
* specify inference mode.
* update for new sampler.
* use new mxnet sampling api.
* fix indent.
* remove profiling code.
* remove mxnet from sampler.
* return a lambda function for graph edges.
* add docs for immutable subgraph.
* Revert "return a lambda function for graph edges."
This reverts commit 0de5d7f100e230c518a3fb8976a6227f474d09ee.
* get parent_eid.
2018-12-02 12:43:25 -05:00
Da Zheng
2389df8155
[API] Subgraph sampling API. ( #138 )
...
* add neighbor sampler.
* fix sampler.
* handle non-existing nodes differently in MapParentIdToSubgraphId.
* fix sampling tests.
* parallelize sampling.
* add more tests.
* fix a bug in subgraph loader.
* get number of sampled nodes directly.
* load mxnet CSR to DGLGraph directly.
* create graph from mxnet csr array directly.
* use subgraph loader in SSE.
* fix a bug in sampling.
* output framework tensor.
* fix.
* remove unnecessary code.
* fix tests.
* add SSE README.
* move to contrib.
* address comments.
* add tests.
2018-11-14 13:51:27 -08:00