Minjie Wang
cd4f0a2bfc
[Release] update version ( #440 )
...
* update version
* update news
2019-03-08 11:12:16 -05:00
Da Zheng
8651be54c2
[Perf] Accelerate block_compute when all nodes are invoked. ( #434 )
...
* refactor.
* accelerate update_all in nodeflow.
* fix.
* refactor.
* fix lint.
* fix lint.
* reorganize.
* reorg.
* remove.
* add doc.
* impl block_incidence_matrix
* fix lint.
* fix.
* simple fix.
* fix test.
* fix interface.
* fix eid.
* fix comments.
2019-03-07 13:39:39 -08: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
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
Zihao Ye
724aa0caf0
[Feature] FindEdge/FindEdges for Immutable Graph ( #404 )
...
* fix rgcn tutorial
* small fix
* upd
* findedge/s
* upd
* upd
* upd
* upd
* add test
* remove redundancy
* upd
* upd
* upd
* upd
* add edge_subgraph
* explicit cast
* add test immutable subg
* reformat
* reformat
* fix bug
* upd
2019-02-27 15:32:32 +08:00
Minjie Wang
565f0c88fc
[WIP] [NN] Refactor NN package ( #406 )
...
* refactor graph conv
* docs & tests
* fix lint
* fix lint
* fix lint
* fix lint script
* fix lint
* Update
* Style fix
* Fix style
* Fix style
* Fix gpu case
* Fix for gpu case
* Hotfix edgesoftmax docs
* Handle repeated features
* Add docstring
* Set default arguments
* Remove dropout from nn.conv
* Fix
* add util fn for renaming
* revert gcn_spmv.py
* mx folder
* fix wierd bug
* fix mx
* fix lint
2019-02-25 18:41:21 -05: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
hbsun2113
1c63dd4f52
[Doc] fix the comment error of edge_id in graph.h ( #382 )
2019-02-11 13:14:47 -05:00
VoVAllen
5b9147c464
[Feature] Edge Group Apply API ( #358 )
...
* add rtfd
* rrr
* update
* change env
* temp fix
* update
* fix
* fix
* add
* conf
* Move file_pattern from Makefile to conf.py
* remove yml
* fix
* fix
* fix
* fix
* remove yml
* remove yml
* add doc docker
* add dgl install script
* change name
* change dockerfile
* fix
* name
* add
* fix
* fix
* fix
* fix
* fix docker
* delete sphinx.py for doc-build backend
* Add softmax to test backend
* Add group apply function and tests
* Delete unnecessary file
* Update comments and test
* Fix lint
* remove unused bucketing code
* group apply edge bucketing code
* gen degree bucket schedule for group apply edge
* schedule and graph code
* fix compiling
* fix
* fix lint
* naming
* harder test case
* fix comments
* more comments
* tweak function name
2019-02-03 11:14:52 -05:00
GaiYu0
fea5579a50
[GraphIndex][Fix] signed and unsigned integer conversion ( #359 )
...
* signed and unsigned integer conversion
* replace long with uint64_t
* replace uint64_t with int64_t
* including cmath; gcc 8 crashes otherwise
2019-01-21 10:56:55 +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
Minjie Wang
af23c45726
[Release] update version ( #297 )
...
* update version; add news.md; modify contributing.md
* change urls to dmlc
2018-12-11 15:40:51 -05:00
Gan Quan
37feb479fd
[Release] 0.1.2 updates ( #276 )
...
* 0.1.2 release
* oops
* more fixes on windows
* [Bugfix] fix download dir (#275 )
* fix download dir
* add doc for the env var
2018-12-07 01:54:13 -05:00
Minjie Wang
c620bfc2b7
[Doc] faq & env ( #263 )
...
* faq & env
* add update version script; 0.0.1 -> 0.1.0
2018-12-05 19:18:33 -05:00
Lingfan Yu
a1d50f0f53
[Refactor] Rename before release ( #261 )
...
* include/dgl/runtime
* include
* src/runtime
* src/graph
* src/scheduler
* src
* clean up CMakeLists
* further clean up in cmake
* install commands
* python/dgl/_ffi/_cython
* python/dgl/_ffi/_ctypes
* python/dgl/_ffi
* python/dgl
* some fix
* copy right
2018-12-05 16:45:36 -05:00
Lingfan Yu
deb653f8dc
[Runtime] Scheduler and Executor ( #140 )
...
* executor api
* draft executor interface
* WIP
* revert changes to avoid conflict with api change
* core scheduling logic
* WIP: build graph adj
* incidence matrix for in edges
* support incidence matrix for partial recv nodes
* improve
* build adjmat in scheduler
* graph store
* get degree bucketing schedule
* connect to c++ degree bucketing
* conceptual executor creation code
* executor comments
* fix
* more executor comments
* WIP: full send_and_recv schedule
* most schedulers
* simplify scheduler
* executors
* runtime
* builtin function base class
* adj indices and shape
* completely refactor scheduler
* rename and move bundled out to function.py
* use_edge_feature in msg func
* rewrite scheduler
* node edge executor
* connect with graph api
* handle zero degree
* misc
* fix test cases
* fix a good many bugs...
* remove old scheduler
* push and pull
* fix send recv
* c++ lint
* fix batched send recv
* hot fix for mxnet
* typo
* write back executor
* apply node edge
* clean up, doc string
* fix as requested
* refactor
* fix
* WIP
* WIP
* ir draft
* more on ir
* WIP: spmv schedule
* WIP
* recv schedule
* refactor
* WIP
* snr degree bucketing
* snr scheduler
* move prog to graph.py; rename
* unittest for send/recv
* remove some legacy codes
* WIP: update_all
* pass test_basics
* passed all current utests
* more utests; fix mx utest
* WIP: fixing zero deg initial value
* some tests
* fix 0deg problem
* fix mx
* fix mx
* some notes
* fix as requested
2018-11-22 12:15:50 -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
Gan Quan
d6c80e0cf7
[API] bfs with edges ( #132 )
...
* bfs with edges
* dfs toy test case
* clean up
* style fix
* bugfix
* updating docs for bfs_edges and readouts
2018-11-11 17:19:55 -05:00
GaiYu0
2319167444
[API] Graph traversal ( #103 )
...
* bfs, dfs and topological traversal
* dfs and test cases
* Conflicts:
python/dgl/graph.py
src/graph/graph.cc
src/graph/graph_op.cc
* documentation
* requested changes
* Conflicts:
Jenkinsfile
examples/pytorch/gcn/gcn.py
examples/pytorch/gcn/gcn_spmv.py
python/dgl/graph.py
python/dgl/graph_index.py
src/graph/graph.cc
src/graph/graph_op.cc
* Conflicts:
Jenkinsfile
python/dgl/graph_index.py
* fix lint errors
* fix lint errors
* fix lint errors
* fix test cases
* requested changes
* traversal interface
* [Bug] fixed a typo that caused syntax error (#120 )
* WIP
* bfs nodes generator works
* topological traversal
* WIP: dfs_edges
* dfs edges
* dfs labeled edges
* utest for traversal
* fix lint
* fix utest
* code clean
* changes as requested
2018-11-08 10:14:19 -05:00
Da Zheng
9e9a9488f1
[GraphIndex] Immutable graph index using MXNet CSRArray ( #86 )
...
* add immutable graph index.
* update ImmutableGraphIndex.
* add benchmarks of subgraph generation.
* fix node_subgraphs.
* use scipy synthetic data in immutable graph.
* create immutable_graph.
* use spmv in gcn.
* fix immutable graph index.
* update graph index.
* create ImmutableSubgraphIndex.
* return subgraph node and edge mapping.
* fix benchmark.
* add mapping to subgraph nid.
* test in_edges and out_edges.
* update benchmark.
* Fix immutable subgraph.
* complete in_edges and out_edges.
* fix benchmarks.
* add test on node_subgraphs
* add sse.
* construct subgraphs in parallel.
* add in/out degree(s).
* make immutable graph index backend-specific.
* implement has_edge(s) and edge_id(s).
* Revert "use spmv in gcn."
This reverts commit 9cfed5f5fb3dd2ed9b98745348b1c0e9731ed7f7.
* implement node_subgraphs in GraphIndex.
* fix sse.
* address comments.
* address comments.
* Update mxnet docker.
2018-10-26 11:28:25 -07:00
Minjie Wang
820c6b9ed6
Add lint script and fix cpplint errors
2018-10-18 22:44:29 -04:00
Gan Quan
bc3f852dab
[GRAPHINDEX] Multigraph support ( #79 )
...
* multigraph support on graph index
* more tests
* multigraph flag, bugfix on clear & copy
* networkx interfaces
* including graph index tests in Jenkins
* node subgraph test
* edge subgraphs
* removing duplicates in pred/succ
* more explicit test and doc
* query source and destination from edge id
* subgraphindex
* renaming has_edge to has_edge_between, apply_edges adding eid
* send_on and send_and_recv_on
* DGLGraph edge subgraph
* merged send_on and send_and_recv_on
* change request
* removing hashmap
* creating multigraph by flag; mingw support
* changes per request
* reverting networkx auto multigraph discovery
* notes on send/send_and_recv on multigraphs
* changing test reducer from sum to max
* added a fixme note in spmv scheduler
2018-10-17 21:46:10 -04:00
Lingfan Yu
750e50372a
Efficient send_and_recv ( #83 )
...
* python side send_and_recv shortcut
* common util function for c apis
* degree bucketing scheduler
* scheduler c apis
* cmake
* python side logics
* minor
* fix multiple msg/red func cases
* remove shell echo command in Jenkinsfile...
* fuse apply for send_and_recv
* fuse update func for update_all
* typo...
* handle anonymous
* add degree bucketing for entire graph
* degree bucketing executor
* minor
* style
* rename graph_mapping to recv_nodes
* fix some comments
2018-10-17 11:14:52 -04:00
Minjie Wang
7603b8c351
Fix dlpack bug; zero copy between dgl.ndarray and user tensor enabled
2018-10-09 11:37:59 -04:00
Minjie Wang
fde4f581d2
gcn runnable
2018-10-03 21:05:19 -04:00
Minjie Wang
2be55fb50a
graph batch and unbatch
2018-10-03 17:07:41 -04:00
Minjie Wang
a8a4fcbaff
quickly integrating with tree-lstm example
2018-09-24 23:42:56 -04:00
Minjie Wang
314a75f367
WIP: batched graph
2018-09-24 17:31:50 -04:00
Minjie Wang
4aebfd7bd8
add merge graph; fix bug in from_networkx
2018-09-21 12:25:54 -04:00
Minjie Wang
148cc048d1
remove vector view
2018-09-21 11:13:51 -04:00
Minjie Wang
7b5d4c5886
pass specialization test
2018-09-20 18:22:46 -04:00
Minjie Wang
dba79f1d45
also return edge id for many APIs
2018-09-18 23:40:13 -04:00
Minjie Wang
71e6e0cd5f
python shim + some simple tests
2018-09-17 14:40:29 -04:00
Minjie Wang
842d37682b
python api
2018-09-16 15:49:11 -04:00
Minjie Wang
14d88497ca
impl
2018-09-13 17:51:15 -04:00
Minjie Wang
2c626b90f4
c++ graph interface draft
2018-09-11 18:00:53 -04:00
Minjie Wang
deb8a5a592
WIP: graph interface
2018-09-07 20:40:07 -04:00
Minjie Wang
2694b12725
import ffi solution from TVM
2018-09-05 10:51:31 -04:00