GithubHelp home page GithubHelp logo

doytsujin / gnn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tensorflow/gnn

0.0 2.0 0.0 1.56 MB

TensorFlow GNN is a library to build Graph Neural Networks on the TensorFlow platform.

License: Apache License 2.0

Shell 0.24% Python 96.43% Dockerfile 0.18% Starlark 3.15%

gnn's Introduction

TensorFlow GNN

This is an early (alpha) release to get community feedback. It's under active development and we may break API compatibility in the future.

TensorFlow GNN is a library to build Graph Neural Networks on the TensorFlow platform. It contains the following components:

  • A high-level Keras-style API to create GNN models that can easily be composed with other types of models. GNNs are often used in combination with ranking, deep-retrieval (dual-encoders) or mixed with other types of models (image, text, etc.)

  • GNN API for heterogeneous graphs. Many of the graph problems we approach at Google and in the real world contain different types of nodes and edges. Hence the emphasis in heterogeneous models.

  • A well-defined schema to declare the topology of a graph, and tools to validate it. It describes the shape of its training data and serves to guide other tools.

  • A GraphTensor composite tensor type which holds graph data, can be batched, and has efficient graph manipulation functionality available.

  • A library of operations on the GraphTensor structure:

    • Various efficient broadcast and pooling operations on nodes and edges, and related tools.

    • A library of standard baked convolutions, that can be easily extended by ML engineers/researchers.

    • A high-level API for product engineers to quickly build GNN models without necessarily worrying about its details.

  • A set of tools used to convert graph datasets and sample from large graphs.

  • An encoding of graph-shaped training data on file, as well as a library used to parse this data into a data structure your model can extract the various features.

This library is an OSS port of a Google internal library used in a broad variety of contexts, on homogeneous and heterogeneous graphs, and in conjunction with other scalable graph mining tools.

For more details, please see our documentation.

Installation Instructions

Latest available pip wheel.

pip install tensorflow_gnn --pre

Installation from source.

A virtual environment is highly recommended.

  1. Clone tensorflow_gnn

    $> git clone https://github.com/tensorflow/gnn.git tensorflow_gnn

  2. Install TensorFlow

    TF-GNN currently uses tf.ExtensionTypes, which is a feature of TensorFlow 2.7. As such, you will need to install TensorFlow build, following the instructions here: https://www.tensorflow.org/install/pip.

    $> pip install tensorflow

  3. Install Bazel

    Bazel is required to build the source of this package. Follow the instructions here to install Bazel for your OS: https://docs.bazel.build/versions/main/install.html

  4. Install tensorflow_gnn

    $> cd tensorflow_gnn && python3 -m pip install .

gnn's People

Contributors

arnoegw avatar aferludin avatar mihirparadkar avatar brandonmayer avatar dzelle avatar phanein avatar neslihans avatar sibonli avatar janpfeifer avatar rchen152 avatar tensorflower-gardener avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.