TensorFlow-based neural network library
Python Jupyter Notebook Shell
Latest commit 52edfd0 Nov 20, 2017 @diegolascasas diegolascasas Sonnet version update produced on Monday, 20. November 2017
PiperOrigin-RevId: 176357249



Sonnet is a library built on top of TensorFlow for building complex neural networks.


Sonnet can be installed from pip, with or without GPU support.

This installation is compatible with Linux/Mac OS X and Python 2.7 and 3.{4,5,6}. The version of TensorFlow installed must be at least 1.2. Installing Sonnet supports the virtualenv installation mode of TensorFlow, as well as the native pip install.

To install sonnet, run:

$ pip install dm-sonnet

Sonnet will work with both the CPU and GPU version of tensorflow, but to allow for that it does not list Tensorflow as a requirement, so you need to install Tensorflow separately if you haven't already done so.

Usage Example

The following code constructs a Linear module and connects it to multiple inputs. The variables (i.e., the weights and biases of the linear transformation) are automatically shared.

import sonnet as snt

# Provide your own functions to generate data Tensors.
train_data = get_training_data()
test_data = get_test_data()

# Construct the module, providing any configuration necessary.
linear_regression_module = snt.Linear(output_size=FLAGS.output_size)

# Connect the module to some inputs, any number of times.
train_predictions = linear_regression_module(train_data)
test_predictions = linear_regression_module(test_data)


Check out the full documentation page here.