David Warde-Farley is a Staff Research Scientist at Google DeepMind based in London with 16 years of experience building and shipping machine learning research and infrastructure. He specializes in neural network research and production ML systems, focusing on algorithmic improvements, performance-critical C/Python optimizations, and robust tooling. An active open-source contributor to core scientific Python projects—including NumPy (GIL handling improvements and a minlength addition to bincount), Theano/PyTensor, Jupyter/IPython (implementing an "undo" for cell deletion), SciPy and scikit-learn—he consistently bridges research with developer-facing engineering. He progressed through Research Scientist roles at DeepMind after internships on Google Brain and Google Photos, pairing applied research with scalable implementations. He holds a PhD in Computer Science from Université de Montréal and combines rigorous academic training with practical work that makes ML algorithms more reliable and reproducible.
17 years of coding experience
6 years of employment as a software developer
PhD, Computer Science, PhD, Computer Science at Université de Montréal
Hon. B. Sc., Computer Science, Hon. B. Sc., Computer Science at University of Toronto
Warning: This project does not have any current developer. See bellow.
Role in this project:
ML Engineer
Contributions:991 commits, 31 PRs, 10 pushes in 5 years
Contributions summary:David made several contributions related to the implementation of Restricted Boltzmann Machines (RBMs) and autoencoders within the pylearn2 framework. The commits include code for constructing RBMs with Gaussian-binary visible units, adding support for the identity activation function, implementing the stochastic gradient descent algorithm, defining and improving the performance of training for those networks, and other model building and testing functionalities. The user's work also involved the refactoring and enhancement of various modules, including those for building and using Deep Belief Networks.
A Theano framework for building and training neural networks
Role in this project:
Back-end Developer
Contributions:306 commits, 174 PRs, 266 pushes in 1 year 9 months
Contributions summary:David primarily contributed to the Theano framework for building and training neural networks, focusing on improvements to the SimpleExtension class, including the addition of features like `every_n_epochs` and the handling of invalid condition keywords. They also addressed flake8 errors, refactored code, and made modifications to testing files by setting up the right conditions for model evaluation and serialization of roles. Furthermore, they added support for Theano known_grads and parameter clipping, improving the functionality of the GradientDescent class and algorithm performance.
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.