DeepMind's memory-augmented neural net, rebuilt in TensorFlow
A readable, extensible re-implementation of the Differentiable Neural Computer for researchers who want to poke at the memory gates, not just cite the paper.

What it does
This repo implements DeepMind’s Differential Neural Computer (DNC)—a neural network with addressable external memory—in TensorFlow. It reproduces the core architecture from the 2016 Nature paper, trains it on copy tasks and bAbI question-answering, and exposes the memory access mechanisms for inspection. The author built it for exploration, not a full task-for-task replication.
The interesting bit
The implementation is deliberately task-agnostic: you get the DNC cell, then plug in your own problem. The author also ran everything from a 2011 laptop CPU up to an AWS GPU instance, so the code isn’t hiding behind hardware you don’t have. The visualization notebooks let you watch the allocation and free gates activate in real time—useful for debugging whether your model actually learned to use memory or just memorized the training set.
Key highlights
- Reproduces the paper’s dynamic memory mechanisms (in-order retrieval, allocation/deallocation) on a tiny 10-slot memory
- Generalization test: model trained on sequences of length 1–10 copies correctly when scaled to larger memory without retraining
- bAbI 20QA results mostly land within one standard deviation of paper means; mean error 15.78% vs. paper’s 16.7±7.6%
- Extensible task framework; docs include data-flow diagrams and implementation notes for hacking the core
- TensorFlow r0.11, Python 2.7—frozen in 2016 amber
Caveats
- Sparse link matrix and variable batch sequence lengths are listed as unimplemented core features
- Some gate activation patterns differ from the paper, which the author attributes to small model size and short training
- “Okay-documented” is the author’s own assessment of the source code
Verdict
Worth a look if you’re teaching or researching memory-augmented networks and need something you can actually step through. Skip it if you want production-ready sequence modeling or a complete reproduction of every paper task.