I have written software that makes my research possible:


Theano is a Python library for defining, optimizing, and evaluating array expressions efficiently. It can evaluate expressions using dynamically compiled GPU code. Although it can be confusing at first to use symbolic processing within a Python program, the technique is very powerful. At Geoffrey Hinton’s CIFAR NCAP Summer School in Aug 2011, someone reported that he “never really understood the LSTM until he wrote it in Theano.”



hyperopt provides a platform for using and testing hyperparameter optimization algorithms in distributed computing environments. Worker scripts run on top of the cluster management software of your choice (ipython, Torque, SGE, etc.) and are controlled by a hyper-parameter optimization algorithm via a MongoDB queue and message board.


Skdata is a new project, providing a standard approach to working with a wide variety of datasets in Python: small toy datasets, enormous video datasets, infinite synthetic datasets, datasets for classification, datasets for structured regression problems and sequential prediction. It includes dataset-specific code to download, unpack, and parse the files of various datasets. It also defines protocols called tasks that make it possible to write dataset-independent learning algorithms.