Deep Learning with PyTorch for Urban Water Networks: from Multilayer Perceptrons to Graph Neural Networks

Course Leader

Dr. Riccardo Taormina – AIdroLab, Department of Water Management, TU Delft, Netherlands . Send e-mail.

Course instructors

Dr. Riccardo Taormina

Dr Riccardo Taormina is an Assistant Professor in Urban Water Infrastructure at the Department of Water Management of Delft University of Technology (TU Delft). He holds a BSc and an MSc in Environmental Engineering from Politecnico di Torino, and a PhD degree in Civil Engineering from The Hong Kong Polytechnic University. Prior to joining TU Delft, Dr Taormina worked as a Postdoc at the iTrust Research Center of Singapore University of Technology and Design. He has over 10 years of experience in using Machine Learning and Deep Learning methods to solve water management issues, with applications across the natural and urban water cycles ( He leads AIdroLab, TU Delft’s lab for AI research in sustainable water management ( Since 2019, Dr Taormina teaches applied machine learning and Python programming skills.

Alexander Garzón

Alexander Garzón is a PhD candidate at TU Delft’s AIdroLab, working on the application of novel artificial intelligence methods for the modelling and design of urban water networks. His research activity includes adaptation measures for water distribution and urban drainage systems using metamodelling and multi-objective optimization. Leveraging his background in Hydroinformatics and Deep Learning, he is working on bringing the multiple benefits of the latest Machine Learning techniques to the field of urban water resources.

Roberto Bentivoglio

Roberto Bentivoglio received the B.Sc and M.Sc. degrees from the University of Pavia, Italy. He is currently pursuing a doctoral degree at TU Delft’s AIdroLab, where he is investigating how to apply recent advancements in machine learning to devise novel solutions for water management. In particular, he focuses on exploiting Geometric Deep Learning for improving flood modelling.

Short Description

As digitalization revolutionizes the water sector, researchers and engineers increasingly rely on Machine Learning (ML) to devise innovative solutions for smarter water distribution and urban drainage systems. ML is already enhancing several core applications, including (but not limited to) predictive asset maintenance, water demand forecasting, model simulation, real-time control, and operations optimization.

In the last decade, Deep Learning (DL) approaches based on deep and complex artificial neural networks have emerged as the state-of-the-art of ML. While DL has significantly boosted data-driven applications in most fields of science and technology, water practitioners have just started exploring its enormous potential.

The purpose of this short course is thus to provide a hands-on introduction to DL for researchers and engineers working with urban water networks (UWN). Theoretical concepts will be presented along with examples of existing and potential applications. Participants will also learn how to use the PyTorch framework in Python to code basic DL models for realistic UWN datasets and case studies.

The theoretical part of the course will start with a general introduction to ML and DL, and a discussion on the precursor of deep neural networks: the Multilayer Perceptron. Then we will explore the fundamental concept of inductive biases (e.g., spatial, temporal, hierarchical …) which is at the core of the successes of DL methods such as Convolutional and Recurrent Neural Networks. After introducing these architectures, we will focus on Graph Neural Networks (GNNs), an emerging family of methods that extend DL to graph data structures. Given their relational inductive bias, GNNs are extremely promising architectures for UWN applications, since the natural structure of these systems is a graph.

The workshop also includes two guided coding exercises on fully documented Jupyter notebooks featuring realistic UWN datasets and case studies. In the first one, participants will become familiar with the basic concepts of PyTorch by implementing a basic Multilayer Perceptron. In the second exercise, participants will explore the basics of PyTorch Geometric to implement a GNN. Coding exercises will be introduced by a brief lecture on the employed DL framework. Due to time restrictions, fully documented Jupyter notebooks (and related datasets) on Convolutional and Recurrent Neural Networks will be made available for later study.

The short course is provided by AIdroLab, TU Delft’s Artificial Intelligence lab for research in sustainable water management; website:

Target Audience

  • Participants from academia and industry working in the field of urban water networks, e.g., drinking water distribution systems, urban drainage and sewerage.
  • Requirements: Basic knowledge of Machine Learning and Artificial Neural Networks. Working knowledge of Python and its core data science modules (e.g., numpy, pandas, matplotlib, …).
  • No knowledge of PyTorch or similar Deep Learning frameworks is required.