文件历史

30 次代码提交

作者 SHA1 备注 提交日期
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
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
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
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
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
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
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
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
Minjie Wang 048f6d7a30 [GraphIndex] refactor graph caching (#150)
* refactor graph caching

* fix mx test

* fix typo
2018-11-13 22:12:38 -05:00
Gan Quan 72efb42718 [Bugfix] fixes NLTK dependency (#125) and #126 (#131) 2018-11-09 14:16:52 -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
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
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 b2e4bdc03f passed basic test batching 2018-09-20 14:44:06 -04:00
Minjie Wang a1038eb1ee graph index 2018-09-19 21:02:15 -04:00
Minjie Wang b24daa6607 change to rel import within dgl 2018-09-16 16:14:37 -04:00
Minjie Wang 61fa3c6cf5 Builtin function and API changes (#53)
* WIP: API renaming

* API rewrite and node function refactor

* builtin functions

* builtin functions tested

* fix test

* send and recv spmv test

* WIP: fix examples

* Fix examples using new APIs
2018-09-01 13:38:01 -04:00
Gan Quan b7eb16595f Fix 0deg update_to and Tree-LSTM model (#51)
* WIP

* WIP

* treelstm dataloader

* Main training loop.

* trainable treelstm script

* fix dependency

* cuda training

* Add tensorized topological traversal

* allowing update_to() with no incoming messages

* fixing partial cases
2018-08-28 11:57:08 -04:00
Gan Quan 5e75f5dbfc Fix reducing with 0 incoming messages (#48)
* fixing 0 degree reduces

* adopting accum=None semantics

* minor fix as per reviews

* TODO in test

* fix test
2018-08-24 11:51:05 -04:00
Minjie Wang 6105e44142 Many fix and updates (#47)
* subgraph copy from

* WIP

* cached members

* Change all usage of id tensor to the new Index object; remove set device in DGLGraph;

* subgraph merge API tested

* add dict type reduced msg test
2018-08-22 12:25:05 -04:00
Minjie Wang 3721822e9e Subgraph API (#39)
* subgraph

* more test cases

* WIP

* new FrameRef and test

* separate nx init code

* WIP

* subgraph code and test

* line graph code and test

* adding new test for adding new features on line graphs

* no backtracking line graph

* fix inplace relabel
2018-08-18 14:14:43 -04:00
Minjie Wang e3bac70b4f Spmv partial (#43)
* partial spmv impl and test

* some fix for update edge
2018-08-12 21:02:55 -04:00
Minjie Wang 2c489fadec SPMV specialization (#32)
* fix edge list order problem in cached graph.

* minor fix

* fix bug in edge iter

* SPMV works

* gcn spmv on CPU

* change gcn style

* fix cached graph performance; fixed gcn dataset bug

* reorg dir

* non-batch spmv; partial update problem with shape change

* fix reorder problem; finish gcn-batch impl

* pop API

* GPU context
2018-08-06 14:00:06 -04:00
Minjie Wang 11e42d1094 Batching semantics and naive frame storage (#31)
* batch message_func, reduce_func and update_func

Conflicts:
	python/dgl/backend/pytorch.py

* test cases for batching

Conflicts:
	python/dgl/graph.py

* resolve conflicts

* setter/getter

Conflicts:
	python/dgl/graph.py

* test setter/getter

Conflicts:
	python/dgl/graph.py

* merge DGLGraph and DGLBGraph

Conflicts:
	python/dgl/graph.py

Conflicts:
	python/dgl/graph.py

* batchability test

Conflicts:
	python/dgl/graph.py

Conflicts:
	python/dgl/graph.py

* New interface (draft)

Conflicts:
	_reference/gat_mx.py
	_reference/molecular-gcn.py
	_reference/molecular-gcn_mx.py
	_reference/multi-gcn.py
	_reference/multi-gcn_mx.py
	_reference/mx.py
	python/dgl/graph.py

* Batch operations on graph

Conflicts:
	.gitignore
	python/dgl/backend/__init__.py
	python/dgl/backend/numpy.py
	python/dgl/graph.py

* sendto

* storage

* NodeDict

* DGLFrame/DGLArray

* scaffold code for graph.py

* clean up files; initial frame code

* basic frame tests using pytorch

* frame autograd test passed

* fix non-batched tests

* initial code for cached graph; tested

* batch sendto

* batch recv

* update routines

* update all

* anonymous repr batching

* specialize test

* igraph dep

* fix

* fix

* fix

* fix

* fix

* clean some files

* batch setter and getter

* fix utests
2018-07-30 14:10:37 -04:00
Minjie Wang aa5bd89f09 minor change on the supported container type 2018-06-15 05:08:38 -04:00
Minjie Wang 15a2c22c98 Reorg folders; basic impl of the APIs 2018-06-14 21:37:43 -04:00