Skip to content
Python Framework for Reproducible Deep Learning Experiments
Branch: master
Clone or download
Latest commit 6806103 Jun 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
datasets default value for parameter added Jun 5, 2019
doc updated docs Apr 30, 2019
models Merge branch 'develop' of Jun 5, 2019
util added bonudary accounting for analytics in segmentation scenario Jun 6, 2019
.gitignore updated sphinx and gitignore Jul 5, 2018
Dockerfile Added Dockerfile for DeepDIVA Jun 5, 2019
LICENSE Release 0.1 Apr 23, 2018 updated README Apr 4, 2019
environment.yml updated environment Jun 7, 2019
environment_mac_17.yml updated the setup script to mojave Apr 2, 2019
readthedocs.yml updated sphinx and gitignore Jul 5, 2018 removed all uses of OpenCV and replaced with PIL Apr 8, 2019 added logging of all packages in the environment Apr 25, 2019

DeepDIVA: A Highly-Functional Python Framework for Reproducible Experiments

DeepDIVA is an infrastructure designed to enable quick and intuitive setup of reproducible experiments with a large range of useful analysis functionality. Reproducing scientific results can be a frustrating experience, not only in document image analysis but in machine learning in general. Using DeepDIVA a researcher can either reproduce a given experiment with a very limited amount of information or share their own experiments with others. Moreover, the framework offers a large range of functions, such as boilerplate code, keeping track of experiments, hyper-parameter optimization, and visualization of data and results. DeepDIVA is implemented in Python and uses the deep learning framework PyTorch. It is completely open source and accessible as Web Service through DIVAServices.

Additional resources

Getting started

In order to get the framework up and running it is only necessary to clone the latest version of the repository:

git clone

Run the script:


Reload your environment variables from .bashrc with: source ~/.bashrc

Verifying Everything Works

To verify the correctness of the procecdure you can run a small experiment. Activate the DeepDIVA python environment:

source activate deepdiva

Download the MNIST dataset:

python util/data/ --dataset mnist --output-folder toy_dataset

Train a simple Convolutional Neural Network on the MNIST dataset using the command:

python template/ --output-folder log --dataset-folder toy_dataset/MNIST --lr 0.1 --ignoregit --no-cuda

Citing us

If you use our software, please cite our paper as:

  title={{DeepDIVA: A Highly-Functional Python Framework for Reproducible Experiments}},
  author={Alberti, Michele and Pondenkandath, Vinaychandran and W{\"u}rsch, Marcel and Ingold, Rolf and Liwicki, Marcus},
  booktitle={2018 16th International Conference on Frontiers in Handwriting Recognition (ICFHR)},


Our work is on GNU Lesser General Public License v3.0

You can’t perform that action at this time.