Modify the GCN model to support diverse dropout probabilities in different GCN layers.
Improve the sampling speed for BasicTargetDependentSampler base class.
Apply GC before training for every instance of trainer.
Speed up the prediction procedure by caching the immutable edges conducted by deterministic neighbors for specific batch of target nodes in the layer-wise prediction procedure.
1. Implement the Layer-wise prediction in Node Classification Node-wise Sampling Trainer, inspired by the example of reddit provided by PyTorch-Geometric. Particularly, for large graphs, e.g. the Reddit data, it's usually infeasible to conduct inferences with all the neighbor nodes in 2-hop neighborhood/proximity of a specific node. Therefore a practical way to conduct inferences to validate or test the Graph Neural Network is to predict with layer-wise approach, see the source code of NodeClassificationNodeWiseSamplingTrainer and the example on Reddit dataset (example/reddit.py) provided by PyTorch-Geometric for the idea and details.
2. Fix a bug caused by an ambiguous behaviour of torch_geometric.data.sampler.NeighborSampler. More specifically, for only one sampling layer, the conducted item of "adjs" is a 3-item tuple, instead of a sequence of 3-item tuples. This ambiguous behaviour will easily cause bugs in downstream library.
3. Re-add default hyper-parameter in GCN and GraphSAGE to fix initialization issue caused by incorrectly removing default hyper-parametrer space and default hyper-parametrer by Zixin Sun. Sorry.
Attempt to design an experimental abstract TargetDependantSampler interface for Node-wise Sampling and Layer-wise Sampling.
Refactor the Neighbor Sampler and Layer Dependant Importance Sampling (LADIES) to be the implementations of the TargetDependantSampler interface, meanwhile fix a sampling issue, i.e. Samplers and the corresponding Trainers only sample edge_index without sampling the involved sub-graph and remapping the node indexes for the sampled sub-graph previously. Now Both the Neibor sampler and the LADIES Sampler will sample a sub-graph composed of all the nodes involved in the sampled edges for all layers, according to the sampled set of edge_index.
TODO: The LADIES Sampler MUST be fixed recently, Zixin plans to do it.
TODO: The unified abstraction of autogl.data.Data and autogl.data.Dataset is urgently necessary for the long-term development of the AutoGL library. Schedule to do the abstraction for next upcoming major version.
Reproduce LADIES, a layer-wise sampling approach
assign default hyper parameter space for model
fix bug for configs
Planning major refactorings for upcomming minor unstable version.
Reproduce partial implementation of GraphSAINT, a representative Subgraph-wise sampling method.
Add experimental BaseModel for future major version.
TODO: Migrate the base class for all the concrete models to ClassificationModel (ClassificationApproach)