
TF-GNN provides building blocks for implementing GNN models in TensorFlow.

Finally, we can use GNNs at the edge level to discover connections between entities, perhaps using GNNs to “prune” edges to identify the state of objects in a scene. GNNs can be used on node-level tasks, to classify the nodes of a graph, and predict partitions and affinity in a graph similar to image classification or segmentation. We can identify the presence of certain “shapes,” like circles in a graph that might represent sub-molecules or perhaps close social relationships. By working at the graph level, we try to predict characteristics of the entire graph. GNNs can be used to answer questions about multiple characteristics of these graphs. Additionally, we can ascribe directionality to edges to describe information or traffic flow, for example. We can characterize each node, edge, or the entire graph, and thereby store information in each of these pieces of the graph. Graphs can model the relationships between many different types of data, including web pages (left), social connections (center), or molecules (right).Ī graph represents the relations (edges) between a collection of entities (nodes or vertices). And while fundamental research on GNNs is perhaps decades old, recent advances in the capabilities of modern GNNs have led to advances in domains as varied as traffic prediction, rumor and fake news detection, modeling disease spread, physics simulations, and understanding why molecules smell. More often than not, the data we see in machine learning problems is structured or relational, and thus can also be described with a graph. A set of objects, places, or people and the connections between them is generally describable as a graph.

Graphs are all around us, in the real world and in our engineered systems.
