Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon

Graph Nets – DeepMind's library for graph networks in Tensorflow and Sonnet

Save for later
  • 3 min read
  • 19 Oct 2018

article-image

Graph Nets is a new DeepMind’s library used for building graph networks in TensorFlow and Sonnet. Last week a paper Relational inductive biases, deep learning, and graph networks was published on arXiv by researchers from DeepMind, Google Brain, MIT and University of Edinburgh. The paper introduces a new machine learning framework called Graph networks which is expected to bring new innovations in artificial general intelligence realm.

What are graph networks?


Graph networks can generalize and extend various types of neural networks to perform calculations on the graph. It can implement relational inductive bias, a technique used for reasoning about inter-object relations.

The graph networks framework is based on graph-to-graph modules. Each graph’s features are represented in three characteristics:

  • Nodes
  • Edges: Relations between the nodes
  • Global attributes: System-level properties


The graph network takes a graph as an input, performs the required operations and calculations from the edge, to the node, and to the global attributes, and then returns a new graph as an output.

The research paper argues that graph networks can support two critical human-like capabilities:

  • Relational reasoning: Drawing logical conclusions of how different objects and things relate to one another
  • Combinatorial Generalization: Constructing new inferences, behaviors, and predictions from known building blocks


To understand and learn more about graph networks you can refer the official research paper.

Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $19.99/month. Cancel anytime

Graph Nets


Graph Nets library can be installed from pip. To install the library, run the following command:

$ pip install graph_nets


The installation is compatible with Linux/Mac OSX, and Python versions 2.7 and 3.4+

The library includes Jupyter notebook demos which allow you to create, manipulate, and train graph networks to perform operations such as shortest path-finding task, a sorting task, and prediction task.

Each demo uses the same graph network architecture, thus showing the flexibility of the approach. You can try out various demos in your browser using Colaboratory. In other words, you don’t need to install anything locally when running the demos in the browser (or phone) via cloud Colaboratory backend.

You can also run the demos on your local machine by installing the necessary dependencies.

What’s ahead?


The concept was released with ideas not only based in artificial intelligence research but also from the computer and cognitive sciences. Graph networks are still an early-stage research theory which does not yet offer any convincing experimental results. But it will be very interesting to see how well graph networks live up to the hype as they mature.

To try out the open source library, you can visit the official Github page. In order to provide any comments or suggestions, you can contact graph-nets@google.com.

Read more