The Dynamic Neural Network Toolkit
Dynamic Computational Graph
DyNet builds its computational graph on the fly. This makes variable-input and variable-output models simple to implement with high performance.
Dynamic Operation Batching
DyNet automatically reorganizes operations into batches for maximum performance, without requiring the developer to do so.
Ideal for Complex Structures
DyNet is well-suited for natural language processing, graph structures, reinforcement learning, and other complex state spaces.
DyNet is a neural network library developed by Carnegie Mellon University and many others. It is written in C++ (with bindings in Python) and is designed to be efficient when run on either CPU or GPU, and to work well with networks that have dynamic structures that change for every training instance. For example, these kinds of networks are particularly important in natural language processing tasks, and DyNet has been used to build state-of-the-art systems for syntactic parsing, machine translation, morphological inflection, and many other application areas.Check out the tech report
September 2, 2017
Version 2.0.1: Multi-device and Memory Savings
DyNet’s version 2.0.1 has been released, including some nice new features: