From ffaf0922d0d1cdb85a89084d759e61ae5735250e Mon Sep 17 00:00:00 2001 From: Jiaxuan Date: Wed, 15 Sep 2021 09:49:50 -0700 Subject: [PATCH] Add GraphGym description (#3138) * Full GraphGym + PyG integration * fix torch.allclose * Add GraphGym description * Add GraphGym description * update * typo Co-authored-by: rusty1s --- README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4e96792bb564..e619ca8c9771 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ **PyG** *(PyTorch Geometric)* is a library built upon [PyTorch](https://pytorch.org/) to easily write and train Graph Neural Networks (GNNs) for a wide range of applications related to structured data. It consists of various methods for deep learning on graphs and other irregular structures, also known as *[geometric deep learning](http://geometricdeeplearning.com/)*, from a variety of published papers. -In addition, it consists of easy-to-use mini-batch loaders for operating on many small and single giant graphs, [multi GPU-support](https://github.com/pyg-team/pytorch_geometric/tree/master/examples/multi_gpu), a large number of common benchmark datasets (based on simple interfaces to create your own), and helpful transforms, both for learning on arbitrary graphs as well as on 3D meshes or point clouds. +In addition, it consists of easy-to-use mini-batch loaders for operating on many small and single giant graphs, [multi GPU-support](https://github.com/pyg-team/pytorch_geometric/tree/master/examples/multi_gpu), a large number of common benchmark datasets (based on simple interfaces to create your own), the [GraphGym](https://pytorch-geometric.readthedocs.io/en/latest/notes/graphgym.html) experiment manager, and helpful transforms, both for learning on arbitrary graphs as well as on 3D meshes or point clouds. [Click here to join our Slack community!][slack-url] -------------------------------------------------------------------------------- @@ -57,6 +57,7 @@ Whether you are a machine learning researcher or first-time user of machine lear Making modifications to existing models or creating new architectures is simple, thanks to its easy-to-use message passing API, and a variety of operators and utility functions. * **Large-scale real-world GNN models**: We focus on the need of GNN applications in challenging real-world scenarios, and support learning on diverse types of graphs, including but not limited to: scalable GNNs for graphs with millions of nodes; dynamic GNNs for node predictions over time; heterogeneous GNNs with multiple node types and edge types. +* **GraphGym integration**: GraphGym lets users easily reproduce GNN experiments, is able to launch and analyze thousands of different GNN configurations, and is customizable by registering new modules to a GNN learning pipeline. ## Quick Tour for New Users @@ -146,6 +147,17 @@ class EdgeConv(MessagePassing): return self.mlp(edge_features) # shape [num_edges, out_channels] ``` +### Manage experiments with GraphGym + +GraphGym allows you to manage and launch GNN experiments, using a highly modularized pipeline (see [here](https://pytorch-geometric.readthedocs.io/en/latest/notes/graphgym.html) for the accompanying tutorial). + +``` +git clone https://github.com/pyg-team/pytorch_geometric.git +cd pytorch_geometric/graphgym +bash run_single.sh # run a single GNN experiment (node/edge/graph-level) +bash run_batch.sh # run a batch of GNN experiments, using differnt GNN designs/datasets/tasks +``` + Users are highly encouraged to check out the [documentation](https://pytorch-geometric.readthedocs.io/en/latest), which contains additional tutorials on the essential functionalities of PyG, including data handling, creation of datasets and a full list of implemented methods, transforms, and datasets. For a quick start, check out our [examples](https://github.com/pyg-team/pytorch_geometric/tree/master/examples) in `examples/`.