MLXP (Machine Learning eXperimentalist for Python) package is an open-source Python framework for managing multiple experiments with a flexible option structure from launching, and logging to querying results.
A full documentation along with a tutorial is available in MLXPs project page. A presentation of MLXP can also be found in the companion paper.
- Launching several jobs automatically using hydra and hierarchical configs by adding a single decorator to the main task function.
- Logging outputs (metrics, artifacts, checkpoints) of a job in a uniquely assigned directory along with all metadata and configuration options to reproduce the experiment.
- Code version management by automatically generating a deployment version of the code based on the latest git commit.
- Submitting jobs to a cluster using a job scheduler.
- Exploiting the results of several experiments by easily reading, querying, grouping, and aggregating the output of several jobs.
You can install MLXP in a virtualenv/conda environment where pip is installed (check which pip):
$ pip install MLXP
$ pip install git+https://github.com/inria-thoth/mlxp@master#egg=mlxp
Requirements |
---|
hydra-core |
omegaconf |
tinydb |
setuptools |
PyYAML |
pandas |
ply |
dill |
GitPython |
A full documentation is available in the MLXP's official documentation website. See the following pages for more detailled information:
Quick start guide: for a simple example of how to use MLXP. Tutorial: to get a better understanding of all functionalities provided by MLXP. Documentation: for detailed documentation.
If you use MLXP in your research, please cite the following paper:
@Misc{Arbel2023MLXP,
author = {Michael Arbel, Alexandre Zouaoui},
title = {MLXP: A framework for conducting replicable Machine Learning eXperiments in Python},
howpublished = {arXiv preprint arXiv:2402.13831},
year = {2024},
url = {https://arxiv.org/abs/2402.13831}
}
- Juliette Marrie, Romain Ménégaux, Pierre Wolinski and Thomas Ryckeboer provided valuable feedback and suggestions to improve MLXP.
MLXP is distributed under MIT license.