Practical overview
When it fits
Use it to reproduce or extend research experiments on bAbI-style QA, or to explore the repository’s documented task-prediction server workflow.
Who it is for
- Researchers and developers experimenting with dynamic memory network architectures on bAbI-style question answering.
- Practitioners exploring a documented Flask-based prediction workflow for bAbI tasks.
Documented uses
- Train and test dynamic memory network variants on bAbI-like tasks.
- Compare the basic attention implementation with the smooth-attention and minibatch variants.
- Serve bAbI task predictions through the included Flask server workflow.
- Inspect a draft implementation intended for multiple-choice question answering.
Requirements & limits
The public repository states that it is MIT-licensed.
- The basic model’s attention implementation is documented as occasionally producing NaN gradients; the smooth variant is reported to train more stably.
- The minibatch implementation does not support batch size 1, according to the README.
- Multiple-choice support is a draft, not a completed repository feature.
- Using another QA dataset requires adapting its input and preprocessing; the repository documents bAbI-like tasks and GloVe utilities.
- The documented Docker workflow does not establish compatibility with current environments.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Prepare and train a bAbI model
Install the documented dependencies, fetch the task data and vectors, and start a training run with the repository entry point.
Before you start
- Python environment with Theano and Lasagne installed using the repository’s documented installation instructions.
- Repository files and a shell environment for running its fetch scripts.
Steps
Install Theano and Lasagne dependencies as described in the README.
Run ./fetch_babi_data.sh and ./fetch_glove_data.sh to fetch bAbI tasks and GloVe vectors.
Run python main.py --network dmn_basic --babi_id 1 to train on bAbI task 1.
Expected outcome
The training entry point runs the selected network and saves network states in the states/ directory.
Guide limitations
- The README documents bAbI-like tasks and GloVe utilities; it does not demonstrate other datasets.
- The basic attention implementation is reported to produce NaN gradients randomly.
- The minibatch variant cannot use batch size 1 because of a documented Theano bug.
Start the Flask prediction server
Follow the documented preparation and launch stages for the bAbI prediction server.
Before you start
- The repository and its server directory.
- UI files generated as described by the separate YerevaNN/dmn-ui project, or Docker installed for the documented image workflow.
Steps
Generate the UI files as described by YerevaNN/dmn-ui and copy them to server/ui.
Start the server with cd server && python api.py; alternatively, use the README’s Docker pull and run instructions.
Expected outcome
The repository provides a Flask server workflow for returning predictions on bAbI tasks.
Guide limitations
- The README describes a bAbI-task prediction server and does not establish compatibility with current environments.
- The Docker instructions reference the image yerevann/dmn.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 18 October 2026
- Original website title
- YerevaNN/Dynamic-memory-networks-in-Theano · Official homepage title · retained in its source language

