文件历史

121 次代码提交

作者 SHA1 备注 提交日期
Minjie Wang 2ade0ef96d [Hotfix] fix cython bug (#442)
* fix cython bug

* fix

* fix
2019-03-08 17:07:17 -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
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
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
Zihao Ye bfe3e9d64a [Feature] Add switch readonly state interface (#389)
* fix rgcn tutorial

* small fix

* add switch readonly state interface

* remove trailing ws

* fix

* fix

* change signature

* change signature

* remove trailing ws

* upd

* upd interface

* upd

* rm trailing ws

* reformat

* trailing space

* upd
2019-02-20 18:51:56 -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
Quan (Andy) Gan 220a1e68fb [BUG] Fixing bug in pickling readonly graphs (#397)
* fixing bug in pickling readonly graphs

* multigraph test coverage

* fixing lint (??????)

* another lint

* is_readonly interface
2019-02-19 00:14:11 -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
Minjie Wang abf12fc757 [Data] Synthetic dataset for graph classificaiton (#364)
* minigc dataset

* more comments

* sphinx
2019-01-25 10:47:47 -05: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
Mufei Li 3a868eb04b [Feature] Max readout and consecutive labeling for networkx (#341)
* Max readout and consecutive labeling

* Delete test_readout.py

* Delete test_basics.py

* Test case and fix

* Recover accidentally removed file

* Fix import order

* Fix test case

* Fix

* Fix

* Fix

* Fix

* Fix

* revert

* Fix

* Fix

* Fix
2019-01-10 12:58:05 -05:00
Quan (Andy) Gan e19cd62ecd [Test] Unify tests for different backends (#333)
* test basics

* batched graph & filter, mxnet filter fix

* frame and function; bugfix

* test graph adj and inc matrices

* fixing start = 0 for mxnet

* test index

* inplace update & line graph

* multi send recv

* more tests

* oops

* more tests

* removing old test files; readonly graphs for mxnet still kept

* modifying test scripts

* adding a placeholder for pytorch to reserve directory

* torch 0.4.1 compat fixes

* moving backend out of compute to avoid nose detection

* tests guide

* mx sparse-to-dense/sparse-to-numpy is buggy

* oops

* contribution guide for unit tests

* printing incmat

* printing dlpack

* small push

* typo

* fixing duplicate entries that causes undefined behavior

* move equal comparison to backend
2019-01-05 23:32:33 -05:00
Mufei Li 24bbdb745e [Feature] Reversed Graph and Transform Module (#331)
* reverse a graph

* Reverse a graph

* Fix

* Revert "Fix"

This reverts commit 1728826b4f3a083b76dfc0fdecd2bbf943a971b2.

* Fix

* Fix

* Delete vcs.xml

* Delete Project_Default.xml

* Fix

* Fix

* Fix

* Remove outdated test

* Reorg transform and update reverse (#2)

* Reorg transform and update reverse

* Fix doc and test

* Update test

* Resolve conflict

* CI oriented fix

* Remove outdated import

* Fix import

* Fix import

* define __all__ for wildcard imports

* Fix import

* Address circular imports

* Fix

* Fix test case

* Fix

* Fix

* Remove unused import

* Fix

* Fix

* Fix
2019-01-04 13:51:19 -05:00
Minjie Wang 4bd4d6e348 [Lint] Pylint (#330)
* fix lint for graph_index.py

* pylint for base.py

* pylint for batched_graph.py

* pylint for frame.py; simplify and fix bugs in frame when index is slice type

* pylint for graph.py

* pylint for immutable_graph_index.py

* pylint for init.py

* pylint for rest files in root package

* pylint for _ffi package

* pylint for function package

* pylint for runtime package

* pylint for runtime.ir package

* add pylint to ci

* fix mx tests

* fix lint errors

* fix ci

* fix as requested

* fix lint
2019-01-01 15:15:41 -05:00
Lingfan Yu 2664ed2dff [Bugfix] Fix multiple send recv (#320)
* fix bug: frame append should check itself

* more test case

* fix multi-send-recv bug

* remv msg graph and clean up

* test cases

* more test case

* fix for batchedgraph

* fix bugs: converting from a graph with edges

* fix

* add more operators to utils.Index

* clear frame executor

* change message indicator to a graph level index

* fix test cases

* guard the case that mxnet does not support concat zero shape tensor

* fix bug: avoid convert full slice to numpy

* test multi-send-recv after conversion

* fix as request (partially)

* add dtype, ctx to full_1d

* add slice data to utils.Index

* fix

* more doc string

* fix as requested
2018-12-23 21:35:49 -05:00
Quan (Andy) Gan 75e2af7993 [CI] Jenkins on Windows builds (#324)
* Jenkins build & test on Windows

* oops

* still running nohup on Windows slaves

* ooops again

* squishing vcvars and cmake

* another try

* reverting back

* --user

* switching to msbuild

* made the graph size in cache testing bigger

* put commands into script files

* oooops
2018-12-22 00:39:29 -05:00
Minjie Wang 0d0f44363c [Bugfix] MX utest traversal memory corruption (#312)
* WIP

* temp fix mx traversal memory crash bug
2018-12-16 21:07:59 -08:00
Minjie Wang f35ac5443e [Graph][Model] Cache adj & inc; MX GCN (#307)
* add cache to adj and incmat

* Fix bug in cached adj/inc

* mx gcn spmv runnable; acc debugging...

* fix bug in mx gcn that loss is not correctly calculated

* fix mx utest

* fix as requested

* use raw parameter tensors rather than dense layer

* fix dropout

* Add numbers in readme
2018-12-16 22:51:01 -05:00
Haibin Lin e2926544b6 [Graph] Better string repr (#311) 2018-12-16 12:23:49 -05:00
Haibin Lin 30107407fd add prefetcher for neighbor sampler (#298) 2018-12-15 19:14:17 -08:00
Minjie Wang 597ac7f8b5 [Release] v0.1.3 (#288)
* 0.1.2 release

* oops

* more fixes on windows

* [Bugfix] fix download dir (#275)

* fix download dir

* add doc for the env var

* windows 7 -> 10

* doc update

* [Bugfix] Fix conversion from networkx (#286)

* fix from_nx when no edge id available

* add test cases

* more detailed tests

* more comments

* [Bugfix] Switch to sparse_coo_matrix for torch 1.0+ (#282)

* switch to sparse_coo_matrix for torch 1.0+

* fix bug when the version is 0.4.1.post2

* change to distutils
2018-12-11 01:30:47 -05:00
Minjie Wang 3564fdc5f1 [Bugfix][Model] fix treelstm model (#274)
* fix bug after moving batcher out of dgl.data

* disable mx utest
2018-12-06 23:52:50 -05:00
Da Zheng 7aa494b3bc [Bugfix][Doc] explain the batch dimension in the doc and many fix (#266)
* add more unit tests for mxnet.

* fix.

* explain the batch dimension.

* update doc.

* disable unit tests on DFS.

* fix graph traversal.
2018-12-06 00:48:57 -05:00
Da Zheng 063ed69cdf [BUGFIX] fix a bug in creating immutable graph index. (#251)
* fix a bug in creating immutable graph index.

* fix for new changes in the backend API.

* fix for creating immutable graph index from coo matrix.

* retrigger
2018-12-05 17:51:50 -05:00
Minjie Wang 2194b7dfa6 [Bugfix] edge order is not preserved when converting from edge list (#262) 2018-12-05 17:41:26 -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 899d125bb1 Add tests for MXNet and throw NotImplementedError if not implemented (#258)
* add more unit tests for mxnet.

* fix.
2018-12-05 10:41:33 -08: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
Minjie Wang 21255b6528 [Bugfix] tolist and dependencies in dgl.data (#239)
* change Index.tolist -> Index.tonumpy; fix bug in traversal; remove dependencies in data

* fix import

* fix __all__ and some docstring
2018-12-05 12:20:59 -05:00
Minjie Wang eafcb7e7f5 [Bugfix][MXNet] Fix edge order and builtin max bug in mx (#247)
* Fix edge order and builtin max bug in mx

* fix as requested
2018-12-05 01:32:54 -08:00
Lingfan Yu 455ea48570 [Bugfix] Conversion between networkx and DGLGraph (#244)
* copy feature to networkx

* fix to_network for multi-graph

* test case for nx conversion

* iterate over Index returns plain int instead of numpy.int64

* fix from_network multi-edge bug
2018-12-04 16:19:11 -05:00
Da Zheng 2c170a8c17 [Graph][Bugfix] Fix the API of map_to_subgraph_nid (#226)
* correct vid mapping API.

* fix sse.
2018-12-03 17:16:35 -05:00
Da Zheng 8918cce0b5 [MXNet] add unit tests for mxnet (#227)
[MXNet] add unit tests for mxnet
2018-12-03 11:04:11 -05:00
Lingfan Yu 52ed09a392 [Bug] Fix inplace update (#221)
* inplace write row op and executor

* update scheduler and graph to use inplace write

* fix

* fix bug

* test case for inplace

* fix bugs for inplace apply node/edge

* fix comments

* th.allclose -> U.allclose
2018-12-02 19:14:39 -05:00
Minjie Wang 524e656dd6 [Bugfix] enable SPMV for multi-dimension node feature (#178)
* Support multi-dimension node feature in SPMV

* fix as requested
2018-11-26 11:12:28 -05:00
Minjie Wang b1eeb93449 [Bugfix][Runtime] Zero degree behaviors (#177)
* fix recv nodes are all 0deg; fix hybriddict does not through keyerror properly

* fallback to apply_nodes when all nodes are 0deg; WIP on pull spmv 0deg

* new 0deg behavior

* new 0deg behavior

* update mx utest for pull-0deg

* fix mx

* fix mx

* get rid of unnecessary sort-n-unique
2018-11-25 22:33:08 -05:00
Minjie Wang 4dfe7547e8 Fix num_rows bug in batched_graph (#169) 2018-11-23 02:49:59 +08:00
Zihao Ye 23e2e83b5e [API] change the signature of node/edge filter (#166)
* change the signature of node/edge filter

* upd filter
2018-11-22 13:00: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
Minjie Wang 0ec1a492b3 [Frame] change num rows behavior (#163)
* move initializer to column scheme; change num rows behavior

* poke mx ci

* fix mx utest in append

* fix bug in add edges

* utest for updating partial rows

* fix bug in from_networkx and from_scipy_matrix

* revert per-col initializer change

* fix pickle utest
2018-11-21 11:50:46 -05:00
Da Zheng 440aecee8f [Test] add tests for built-in functions (#159)
* add spmv tests on mxnet.

* test backward.

* add tests for pull.

* use mxnet backend.

* address comment.

* add comments.
2018-11-20 23:39:54 -05:00
Gan Quan e515f5311b [Frame] supporting partial row on first column and individual column initializers (#160)
addresses issue #156
2018-11-19 18:18:36 -05:00
Gan Quan 79a510252b Pickling support (#155)
* pickling support

* resorting to suggested way of pickling

* custom attribute pickling check

* working around a weird pytorch pickling bug

* including partial frame case

* pickling everything now

* fix as requested
2018-11-16 17:19:20 -05:00
Gan Quan 05f464f824 [Bugfix] fix args with incontiguous node and edge tensor (#153) 2018-11-15 10:55:15 -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