Hands-On: PyExperimenter

Abstract

PyExperimenter is a tool to facilitate the setup, documentation, execution, and subsequent evaluation of results from computational experiments and is designed to reduce manual effort. It is intended to be used by researchers in the field of artificial intelligence but is not limited to those. PyExperimenter also supports tracking carbon emissions using CodeCarbon.

The empirical analysis of algorithms is often accompanied by the execution of algorithms for different inputs and variants of the algorithms (specified via parameters) and the measurement of non-functional properties. Since the individual evaluations are usually independent, the evaluation can be performed in a distributed manner on an HPC system. However, setting up, documenting, and evaluating the results of such a study is often file-based. Usually, this requires extensive manual work to create configuration files for the inputs or to read and aggregate measured results from a report file. In addition, monitoring and restarting individual executions is tedious and time-consuming.

These challenges are addressed by PyExperimenter by means of a single well-defined configuration file and a central database for managing massively parallel evaluations, as well as, collecting and aggregating their results. Thereby, it alleviates the aforementioned overhead and allows experiment executions to be defined and monitored with ease.

Code

Bio

Marcel Wever received his Ph.D. from Paderborn University in 2021 and is currently a postdoctoral researcher at LMU Munich and transfer coordinator for education at the Munich Center for Machine Learning (MCML). His research is centered around automated machine learning (AutoML) and related topics such as meta learning, hyperparameter optimization, algorithm configuration and algorithm selection, as well as supervised learning methods. Specifically, he is interested in methods for multi-label classification.

Beyond that, his research interests are widespread and include uncertainty quantification, evolutionary machine learning, machine learning in IT security, part of speech tagging, service-oriented software architectures, and (co-)active learning.