* data preprocessing for rgcn
* edge subgraph
* WIP: RGCN
* use edge feature in spmv
* fix bugs
* match AIFB accuracy
* match mutag accuracy
* avoid materializing in featureless case
* remove untouched nodes and relabel nodes
* fix python list concatenate overhead
* sparsely store edge types
* refactor entity classify code for clean link prediction implementation
* further refactor code
* refactoring
* rgcn block decompose layers
* link predict dataset
* link predict model and eval code
* dropout, self-loop, regularization, etc, plus bug fixes
* update to new api
* dataset update
* bugs, WIP, need to impl early stopping and filtered metrics
* instruction to run, and minor
* group conv and early stop
* clean slow code
* some code comments
* use new api in model code
* change data preprocessing
* entity classify model
* WIP
* move dgl graph out of model
* hot fix for extract zip
* fix link predict model
* use latest dgl apis
* still have memory issue...
* bug fix and move inference to cpu
* move rgcn data processing to contrib
* th.allclose -> U.allclose
* minor change in readme
* fix memory issue in entity classify
* fix and testing code for link predict
* fix entity classify
* clean up
* fix comments
* revert erroneous git merge changes
* code clean up and more comments
* minor
* dependent package version
* 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.
* cherry picking optimization from jtnn
* adding official code. TODO: fix DGLMolTree
* updating to current api. vae test still failing
* reverting to list stacking
* reverting to list stacking
* cleaning x flags (stupid windows)
* cleaning x flags (stupid windows)
* adding stats
* optimization
* updating dgl stats
* update again
* more optimization
* looks like computation is faster
* removing profiling code
* cleaning obsolete code
* remove comparison warning
* readme update
* official implementation got a lot faster
* minor fixes
* unbatch by slicing frames
* working around unbatch
* reduce pack
* oops
* support frame read/write with slices
* reverting back to readout as unbatch-by-slicing slows down backward
* reverting to unbatch by splitting; slicing is unfriendly to backward
* replacing lru cache with static object factory
* 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
* forgot the find edges interface
* subclassing namedtuple
* updating to the latest api spec
* bugfix
* bfs with edges
* dfs toy test case
* clean up
* style fix
* bugfix
* update to latest api; include traversal
* replacing with readout
* simplify decoder
* oops
* cleanup
* reducing number of sets
* more speed up
* profile results
* random fixes
* fixing tvmarray handling incontiguous dlpack input
* fancier dataloader
* fix a potential context mismatch
* todo: support pickling or using scipy in multiprocessing load
* pickling support
* resorting to suggested way of pickling
* custom attribute pickling check
* working around a weird pytorch pickling bug
* including partial frame case
* enabling multiprocessing dataloader
* pickling everything now
* really works
* oops
* updated profiling results
* cleanup
* fix as requested
* cleaning random blank lines
* removing profiler outputs
* starting decoding
* testing, WIP
* tree decoding
* graph decoding, WIP
* graph decoding works
* oops
* fixing legacy apis
* trimming number of candidate structures
* sampling cleanups
* removing comparison test
* updated description
* update tree lstm
* tree_lstm (new interface)
* simplify pop
* merge qipeng(root)
* upd tree-lstm & tutorial
* upd model
* new capsule tutorial
* capsule for new API
* fix deprecated API
* New tutorial and example
* investigate gc problem
* add viz code
* new capsule tutorial
* remove ipynb
* move u_hat
* add link
* add requirements.txt
* remove ani.save
* update ci to install requirements
* utf-8
* change seed
* graphviz requirement
* accelerate
* little format
* update some markup
* new capsule tutorial
* capsule for new API
* fix deprecated API
* New tutorial and example
* investigate gc problem
* add viz code
* new capsule tutorial
* remove ipynb
* move u_hat
* add link
* add requirements.txt
* remove ani.save
* update ci to install requirements
* add graphviz
* 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
* 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
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.
* support mxnet.
* add mxnet version of GCN.
* rename mxnet.nd as F.
* add mxnet GAT.
* enable GPU for GCN.
* fix MXNet GCN train.
* Use adam to optimize GAT
* support more operators.
* support sparse arrays.
* update mxnet backend.
* support index_copy.
* remove NN.
* update mxnet backend.
* temp check in.
* fix data conversion.
* add test.
* clean up mxnet backend.
* update mxnet examples.
* Revert "remove NN."
This reverts commit d815d9a0ec619f9ce9099c48cd35db9d8e947483.
* temp disable MXNet version of NN.