文件历史

提交图

1382 次代码提交

作者 SHA1 备注 提交日期
Zihao Ye c80dc5e012 [model] Tree-LSTM update & hotfix(dropbox link) (#202)
* change the signature of node/edge filter

* upd filter

* Support multi-dimension node feature in SPMV

* stable version

* hotfix

* upd tutorial

* upd README
2018-11-30 19:39:49 -05:00
Mufei Li 3a0f86a663 [Doc] data (#198)
* Fix dataset

* Track data APIs
2018-11-30 11:40:22 -05:00
Mufei Li 485f6d3abd [Doc] udf (#195)
* Docstring for udf

* Track udf docs

* Improve

* Improved

* Delete udf.py

* Improve
2018-11-30 00:38:58 -05:00
Haibin Lin 9e8261735f [Doc] Minor doc update for mxnet/immutable_graph_index (#194) 2018-11-29 20:59:13 -05:00
Mufei Li 41c9c3b94b [Doc] Fix batched_graph doc (#193) 2018-11-29 12:23:10 -05:00
Mufei Li 8dc6784b12 [Doc] docstring for BatchedDGLGraph + some fix (#184)
* Update doc

* Update batched_graph.py

* Fix

* Fix

* Fix

* Fix
2018-11-29 09:53:16 -05:00
Gan Quan a8fa85c7d5 Conda builds (#187)
* conda recipe

* switching to source build

* trying windows build

* wip

* windows build works
2018-11-29 02:21:53 -05:00
Mufei Li a0d0b1ea00 [Model] Fix + batched DGMG (#175)
* DGMG with batch size 1

* Fix

* Adjustment

* Fix

* Fix

* Fix

* Fix

* Fix has_node and __contains__

* Batched implementation for DGMG

* Remove redundant dependency

* Adjustment

* Fix

* Add comments
2018-11-29 00:13:30 +08:00
HQ 5cda368d79 [Model] SBM hotfix (#137)
* [Model]SBM hotfix

* [Model] remove backend in data
2018-11-27 11:58:03 -05:00
Minjie Wang 2c2b747808 [Install] pip install (#180)
* add bdist_wheel build

* fix wheel build

* fix setup

* fix ci

* fix setup

* fix

* fix setup

* poke ci

* fix

* poke ci

* clean build

* fix ci

* addback the env
2018-11-27 00:47:01 -05:00
Minjie Wang b82b8e2d2a [Schedule] get rid of unnecessary graph.edges() call for v2v-spmv update_all (#179) 2018-11-27 00:37:03 -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 5f89cd662e Fix the convergence problem in SSE. (#162)
* add a test.

* move file.

* debug

* add degree normalization.

* it can converge now.

* remove hidden_data.

* use readonly graph index.

* use subgraph loader.

* refactor code and remove intermediate data.

* split inference.

* mix cpu and gpu training.

* fix mxnet sparse_matrix constructor.

* convert tensor context.

* set up the prediction model.

* load mxnet csr directly.

* add timing.

* move test_sse.py to sse_batch.py

* fix the tensor version of SSE.

* update README.
2018-11-20 15:57:52 +08: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
Gan Quan ed1854e800 [Bugfix] fix a potential context mismatch (#154) 2018-11-15 09:47:20 -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
Minjie Wang 048f6d7a30 [GraphIndex] refactor graph caching (#150)
* refactor graph caching

* fix mx test

* fix typo
2018-11-13 22:12:38 -05:00
Zihao Ye a9ffb59e66 [DOC][Model] Tree-LSTM example and tutorial (#146)
[DOC][Model] Tree-LSTM example and tutorial
2018-11-13 18:09:14 -05:00
Gan Quan 0452cc3c0c [Bug] Transpose adj is not correctly cached (#148) 2018-11-12 22:15:45 -05: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
Gan Quan a36d0841b5 removing 3.6 f-string (#139) 2018-11-11 14:43:15 -05:00
Minjie Wang 6d96a97f17 [Doc] docstring for SST dataset (#133) 2018-11-10 11:59:55 -05:00
Gan Quan 40ca5de450 [API] Readout interfaces (#124)
* fixing builtin src*edge shape mismatch

* bundled function refactor (?)

* fixing names

* readout prototype

* oops

* more fixes

* removing readout prototype

* sum_on() with SPMV, fixing batching with 0 edges

* readouts with segmented sum

* typo (??????)

* fixes NLTK dependency (#125)

* misc fixes including #126 (pushing again)

* sanity check for mxnet

* fixes NLTK dependency (#125) and #126

* reverting to sum_nodes/edges
2018-11-10 11:35:34 -05:00
Minjie Wang 8ea359d125 [API] Message propagation APIs (#127)
* add examples in traversal.py

* message propagate methods

* use the new message propagation for tree-lstm

* update to the new name

* update propagate API doc

* update doc

* add propagate utest
2018-11-09 15:04:57 -05:00
Gan Quan 72efb42718 [Bugfix] fixes NLTK dependency (#125) and #126 (#131) 2018-11-09 14:16:52 -05:00
Minjie Wang 7fe6d0c857 [Doc] Refactor API doc (#128)
* refactor API doc; add markup link in tutorials

* fix readme
2018-11-08 22:57:16 -05:00
Da Zheng bd0e4fa0b3 [MXNet][API] move to the new API (#123)
* move gat to the new api.

* fix gcn.

* update sse.

* fix dgl core.

* update sse.

* fix small bugs in dgl core.

* fix mxnet tests.

* retrigger

* address comments and fix more bugs.

* fix

* fix tests.
2018-11-08 10:00:47 -08: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
Minjie Wang 7241a9c008 [Backend] backend interface (#109)
* backend interface

* small fix

* more comments to the data type dict

* WIP

* convert_to and narrow

* WIP

* pytorch and numpy backend; WIP on mxnet backend

* mxnet backend

* narrow

* Fix all usages

* fix for mx

* fix for mx

* fix mx

* fix mx

* fix mx

* fix mx

* fix mx

* fix mx

* fix mx

* revert jenkins

* add sparse_matrix api

* sparse matrix api

* some fixme

* Fix as requested
2018-11-04 21:42:39 -05:00
GaiYu0 b420a5b5b3 [Model] Fix broken CDGNN example (#111)
* pretty printer

* Conflicts:
	python/dgl/data/sbm.py

* refined line_graph implementation

* fix broken api calls

* small fix to trigger CI

* requested change
2018-11-05 07:14:01 +08:00
Minjie Wang b355d1eddf [API] Apply nodes & apply edges (#117) 2018-11-04 01:22:53 -04:00
Minjie Wang 1a2b306f55 [Bug] fix bug in nodes() that does not return int64 tensor (#116) 2018-11-03 00:00:29 -04:00
Minjie Wang 68ec624782 [API][Doc] API change & basic tutorials (#113)
* Add SH tutorials

* setup sphinx-gallery; work on graph tutorial

* draft dglgraph tutorial

* update readme to include document url

* rm obsolete file

* Draft the message passing tutorial

* Capsule code (#102)

* add capsule example

* clean code

* better naming

* better naming

* [GCN]tutorial scaffold

* fix capsule example code

* remove previous capsule example code

* graph struc edit

* modified:   2_graph.py

* update doc of capsule

* update capsule docs

* update capsule docs

* add msg passing prime

* GCN-GAT tutorial Section 1 and 2

* comment for API improvement

* section 3

* Tutorial API change (#115)

* change the API as discusses; toy example

* enable the new set/get syntax

* fixed pytorch utest

* fixed gcn example

* fixed gat example

* fixed mx utests

* fix mx utest

* delete apply edges; add utest for update_edges

* small change on toy example

* fix utest

* fix out in degrees bug

* update pagerank example and add it to CI

* add delitem for dataview

* make edges() return form that is compatible with send/update_edges etc

* fix index bug when the given data is one-int-tensor

* fix doc
2018-11-02 17:19:14 -04:00
Gan Quan 2ecd2b23ec [Frame] Support slice type indexing; optimize dgl.batch (#110)
* cherry picking optimization from jtnn

* unbatch by slicing frames

* reduce pack

* oops

* support frame read/write with slices

* reverting to unbatch by splitting; slicing is unfriendly to backward

* replacing lru cache with static object factory

* replacing Scheme object with namedtuple

* remove comment

* forgot the find edges interface

* subclassing namedtuple
2018-11-01 00:03:06 -04:00
Mufei Li 9827e48176 Support for adding nodes/edges after setting representations (#114)
* Fix

1. Fix two typos in gcn.py and gcn_spmv.py
2. Update README

* Fix GCN module

1. Update the outdated graph convolution layer class
2. Fix a bug in the code where dropout never works. Modules like dropout/batch norm depend on whether we are in the training stage or inference stage.

* Fix a bug in dropout

1. dropout depends on nn.Module.training

* Update GCN module

* Fix README

* Fix dropout & remove self.msg_field

* Fix

* Align with TF implementation

* Make g an argument for forward

* Remove features from the argument of GraphConv layer

* Support for create nodes/edges after setting representations

* Remove redundant commit

* Delete test_init_repr.py

* Test case for dynamic addition

* Base 'add_rows' upon 'append'

* Move test function

* Fix

* test by assertion

* changed add_rows to adding blank rows only; adding convert_to to backend

* moving test to basics

* oops mxnet
2018-10-29 23:33:54 -04:00
Mufei Li 2758c24955 [NN] Fix GCN module (#99)
1. Update `examples/pytorch/gcn` and `python/dgl/nn/pytorch` based on the latest APIs
2. Add full support for dropout in `examples/pytorch/gcn` and `python/dgl/nn/pytorch`
3. Rename `GCN` class in `python/dgl/nn/pytorch` to be `GraphConvolutionLayer` class
4. Make node field an argument that can be configured by users in GraphConvolutionLayer

Note that adjacency normalization has not been supported yet in the examples.
2018-10-28 04:35:33 +08: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
GaiYu0 ff92812609 remove pytorch dependency in sbm.py (#107) 2018-10-25 20:22:41 -04:00
Minjie Wang 2046980231 [DOC] API tutorials (#96)
* setup sphinx-gallery; work on graph tutorial

* draft dglgraph tutorial

* update readme to include document url

* rm obsolete file

* Draft the message passing tutorial
2018-10-23 16:27:15 -04:00
Gan Quan 70d475813c [BUG] Fixing networkx conversion with 0 edges (#94)
* fixing networkx conversion with 0 edges

* fixes as required

* remove obsolete comment
2018-10-21 23:15:45 -04:00
Lingfan Yu dce1f44d46 CI lint check (#93)
* CI for lint check

* init submodule before run lint

* install ubuntu core for lint docker

* remove generator import in dgl
2018-10-18 23:50:24 -04:00
Gan Quan 3683a774d5 Merge branch 'cpp' of github.com:jermainewang/dgl into cpp 2018-10-18 22:49:22 -04:00
Gan Quan f1ede61ffa removing obsolete line_graph() 2018-10-18 22:49:05 -04:00