# deepmind/sonnet

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/deepmind-sonnet).**

9,920 stars · 1,306 forks · Python · Apache-2.0

## Links

- GitHub: https://github.com/deepmind/sonnet
- Homepage: https://sonnet.dev/
- awesome-repositories: https://awesome-repositories.com/repository/deepmind-sonnet.md

## Description

Sonnet is a modular machine learning framework and TensorFlow library used for building, training, and managing deep learning models. It functions as a system for composing neural networks from reusable modules and layers that encapsulate their own parameters and internal states.

The project provides specialized tools for distributed model training, enabling the synchronization of gradients across multiple hardware devices. It also serves as a model state management system, allowing for the persistence of neural network weights and the export of portable models that separate the computation graph from the learned weights.

The framework covers a broad range of development capabilities, including parameter management for optimization processes and the construction of computation graphs for hardware acceleration.

## Tags

### Artificial Intelligence & ML

- [Module Composition](https://awesome-repositories.com/f/artificial-intelligence-ml/module-composition.md) — Implements a system for building complex neural networks by composing reusable modules that encapsulate state and parameters.
- [Distributed Training](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-training-frameworks/distributed-training.md) — Implements data and model parallelism to train large neural networks across multiple devices. ([source](https://github.com/deepmind/sonnet#readme))
- [Distributed Training Utilities](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-training-utilities.md) — Provides libraries for partitioning model states and gradients across multiple hardware devices.
- [Distributed Gradient Synchronization](https://awesome-repositories.com/f/artificial-intelligence-ml/gradient-computation/distributed-gradient-synchronization.md) — Provides mechanisms for synchronizing gradients across multiple hardware devices during distributed training.
- [Machine Learning Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning-frameworks.md) — Functions as a library for building and training machine learning models through modular composition.
- [Neural Network Building Blocks](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-network-building-blocks.md) — Provides modular building blocks and layers used to construct complex neural network architectures. ([source](https://github.com/deepmind/sonnet#readme))
- [Neural Network Modules](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-network-modules.md) — Provides encapsulated model components for managing parameters and forward propagation logic.
- [TensorFlow Model Development](https://awesome-repositories.com/f/artificial-intelligence-ml/tensorflow-model-development.md) — Provides a framework for designing and building deep learning models specifically using the TensorFlow ecosystem.
- [Model Exporting](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training/model-exporting.md) — Includes utilities for serializing and exporting trained models for deployment in external environments.
- [Parameter Management Utilities](https://awesome-repositories.com/f/artificial-intelligence-ml/parameter-management-utilities.md) — Offers tools for querying and managing the state and trainability of model parameters. ([source](https://github.com/deepmind/sonnet#readme))
- [Trainable Parameter Retrieval](https://awesome-repositories.com/f/artificial-intelligence-ml/trainable-parameter-retrieval.md) — Allows explicit collection of all trainable variables from a hierarchy of modules to be passed into an external optimizer.

### Scientific & Mathematical Computing

- [Tensor Computation Graphs](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/computational-frameworks/tensor-computation-graphs.md) — Constructs neural networks as tensor computation graphs optimized for hardware acceleration via TensorFlow.

### Data & Databases

- [Portable Model Formats](https://awesome-repositories.com/f/data-databases/data-serialization-formats/model-serialization/portable-model-formats.md) — Exports computation graphs and weights into framework-agnostic formats for deployment without original source code.
- [Model State Persistence](https://awesome-repositories.com/f/data-databases/model-state-persistence.md) — Implements tools for saving and versioning the state of optimized AI modules to preserve progress.

### Software Engineering & Architecture

- [Model State Serialization](https://awesome-repositories.com/f/software-engineering-architecture/configuration-serializers/execution-state-serializers/model-state-serialization.md) — Provides serialization of neural network weights and optimizer states for checkpointing and restoration. ([source](https://github.com/deepmind/sonnet#readme))
- [Model State Management](https://awesome-repositories.com/f/software-engineering-architecture/object-oriented-models/model-state-management.md) — Uses modular hierarchies to encapsulate and manage the internal training weights and parameters of ML models.
- [State Persistence](https://awesome-repositories.com/f/software-engineering-architecture/workflow-persistence/state-persistence.md) — Provides serialization and checkpointing of internal network layer values to maintain progress between sessions.

### Part of an Awesome List

- [Deep Learning](https://awesome-repositories.com/f/awesome-lists/ai/deep-learning.md) — Neural network library built on top of computation graphs.
- [Deep Learning Ecosystems](https://awesome-repositories.com/f/awesome-lists/ai/deep-learning-ecosystems.md) — Neural network library built on TensorFlow.
- [Deep Learning Frameworks](https://awesome-repositories.com/f/awesome-lists/ai/deep-learning-frameworks.md) — Neural network library built on top of TensorFlow.
- [Machine Learning Frameworks](https://awesome-repositories.com/f/awesome-lists/ai/machine-learning-frameworks.md) — Neural network library built on top of TensorFlow.
- [Frameworks and Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/frameworks-and-libraries.md) — Library for building complex neural networks.
